根据f1c100s的数据手册,TCON0_Control_Register BIT23是 Swap RED and BLUE data at FIFO1
路径 linux/drivers/gpu/drm/sun4i/sun4i_tcon.c 添加如下语句
static void sun4i_tcon_channel_set_status(struct sun4i_tcon *tcon, int channel,
bool enabled)
{
struct clk *clk;
switch (channel) {
case 0:
regmap_update_bits(tcon->regs, SUN4I_TCON0_CTL_REG,
SUN4I_TCON0_CTL_TCON_ENABLE,
enabled ? SUN4I_TCON0_CTL_TCON_ENABLE : 0);
regmap_update_bits(tcon->regs, SUN4I_TCON0_CTL_REG,BIT(23),BIT(23));//SWAP R、B引脚
clk = tcon->dclk;
break;
case 1:
WARN_ON(!tcon->quirks->has_channel_1);
regmap_update_bits(tcon->regs, SUN4I_TCON1_CTL_REG,
SUN4I_TCON1_CTL_TCON_ENABLE,
enabled ? SUN4I_TCON1_CTL_TCON_ENABLE : 0);
clk = tcon->sclk1;
break;
default:
DRM_WARN("Unknown channel... doing nothing\n");
return;
}
if (enabled)
clk_prepare_enable(clk);
else
clk_disable_unprepare(clk);
}
离线
问了很多人,没人知道。 谢谢你
离线
针对buildroot-tiny200,这个应该怎么改?
我在./output/build/linux-5.4.99/drivers/gpu/drm/sun4i/sun4i_tcon.c 文件中修改了,重编译没有起作用。不知道为什么。
用busybox devmem 0x01c0c040 指令去修改寄存器是可以切换的,哪位朋友能提供下具体修改方法。
离线
@pldjn_V3S
改错文件了。你看一楼
离线