您尚未登录。

楼主 # 2021-07-09 21:23:49

liuy
会员
注册时间: 2020-06-24
已发帖子: 10
积分: 49

关于如何将f1c100s/f1c200s linux中将RGB引脚交换为BGR

根据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);
}

离线

#1 2021-07-09 21:31:13

哇酷小二
管理员
所在地: 你猜
注册时间: 2020-04-22
已发帖子: 3,387
积分: 1902
个人网站

Re: 关于如何将f1c100s/f1c200s linux中将RGB引脚交换为BGR

感谢楼主分享宝贵经验!





离线

#2 2021-07-12 10:51:57

thindcna
会员
注册时间: 2020-04-25
已发帖子: 34
积分: 8.5

Re: 关于如何将f1c100s/f1c200s linux中将RGB引脚交换为BGR

问了很多人,没人知道。 谢谢你

离线

#3 2023-02-15 18:21:01

pldjn_V3S
会员
注册时间: 2021-04-09
已发帖子: 108
积分: 116

Re: 关于如何将f1c100s/f1c200s linux中将RGB引脚交换为BGR

针对buildroot-tiny200,这个应该怎么改?
我在./output/build/linux-5.4.99/drivers/gpu/drm/sun4i/sun4i_tcon.c 文件中修改了,重编译没有起作用。不知道为什么。
用busybox devmem 0x01c0c040 指令去修改寄存器是可以切换的,哪位朋友能提供下具体修改方法。

离线

#4 2023-07-04 01:21:49

anuoplus
会员
注册时间: 2021-09-29
已发帖子: 31
积分: 16

Re: 关于如何将f1c100s/f1c200s linux中将RGB引脚交换为BGR

@pldjn_V3S
改错文件了。你看一楼

离线

#5 2024-02-24 03:17:39

lmnb
会员
注册时间: 2024-01-28
已发帖子: 40
积分: 67
个人网站

Re: 关于如何将f1c100s/f1c200s linux中将RGB引脚交换为BGR

学到了,太有用了,正愁着布线不好布,换一下就好很多

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn