TI中文支持网
TI专业的中文技术问题搜集分享网站

beaglebone black 液晶屏 蓝色和红色颜色交换

您好,
beagle bone black 蓝色和红色颜色交换,看dts中的注释,是由下面的
blue-and-red-wiring 和
/* Convert 24bit BGR to RGB, e.g. cross red and blue wiring */
video-ports = <0x234501>;
来控制的.可是,我无论怎么改变,颜色都没有发生变化.
我在内核源代码中搜索blue-and-red-wiring这样的关键字,也没有任何发现.请问有没有比较清楚这个问题的,帮助解释一下.
多谢!!


&lcdc {
status = "okay";

/* If you want to get 24 bit RGB and 16 BGR mode instead of
* current 16 bit RGB and 24 BGR modes, set the propety
* below to "crossed" and uncomment the video-ports -property
* in tda19988 node.
*/
/* blue-and-red-wiring = "straight"; */
blue-and-red-wiring = "crossed";

port {
lcdc_0: endpoint@0 {
remote-endpoint = <&hdmi_0>;
};
};
};
Jian Zhou:

原理图LCD RGB888的24位线是怎么和LCD相连的?

Cason wang:

回复 Jian Zhou:

原理图附在了附件中.

另外,使用了下面的dts 文件,红色和蓝色是交换的.

/dts-v1/;

/include/ "am33xx.dtsi"/include/ "am335x-bone-common.dtsi"&am33xx_pinmux {rstctl_pins: pinmux_rstctl_pins {pinctrl-single,pins = </* eMMC_RSTn */0x50 0x17/* gpmc_a4.gpio1_20, OUTPUT | MODE7 | PULLUP */>;};};&ldo3_reg {regulator-min-microvolt = <1800000>;regulator-max-microvolt = <1800000>;regulator-always-on;};&rstctl {status = "okay";compatible = "gpio-rctrl";pinctrl-names = "default";pinctrl-0 = <&rstctl_pins>;#reset-cells = <2>;gpios = <&gpio2 20 0x00>;gpio-names = "eMMC_RSTn";};&mmc1 {vmmc-supply = <&vmmcsd_fixed>;};&mmc2 {vmmc-supply = <&vmmcsd_fixed>;bus-width = <8>;ti,non-removable;status = "disabled";reset = <&rstctl 0 0>;reset-names = "eMMC_RSTn-CONSUMER";};&cpu {/** To consider voltage drop between PMIC and SoC,* tolerance value is reduced to 2% from 4% and* voltage value is increased as a precaution.*/operating-points = </* kHzuV */10000001350000800000 13000006000001112000300000969000>;};


---
使用下面的内容,红色和蓝色没有交换.目前,因为要使用下面文件中的其它内容,所以,需要确定哪个参数会直接影响红色和蓝色的顺序,然后修改,不能直接使用上面的文件.

&lcdc {status = "okay";/* If you want to get 24 bit RGB and 16 BGR mode instead of* current 16 bit RGB and 24 BGR modes, set the propety* below to "crossed" and uncomment the video-ports -property* in tda19988 node.*//* blue-and-red-wiring = "straight"; */blue-and-red-wiring = "crossed";port {lcdc_0: endpoint@0 {remote-endpoint = <&hdmi_0>;};};};&i2c0 {tda19988: tda19988 {compatible = "nxp,tda998x";reg = <0x70>;/* Convert 24bit BGR to RGB, e.g. cross red and blue wiring */video-ports = <0x234501>;#sound-dai-cells = <0>;audio-ports = <AFMT_I2S0x03>;ports {port@0 {hdmi_0: endpoint@0 {remote-endpoint = <&lcdc_0>;};};};};};

Cason wang:

回复 Jian Zhou:

我把原理图贴上来了, 帖子还没有出现.

Cason wang:

回复 Jian Zhou:

Cason wang:

回复 Jian Zhou:

另外,使用了下面的dts 文件,红色和蓝色是交换的.

/dts-v1/;

/include/ "am33xx.dtsi"/include/ "am335x-bone-common.dtsi"&am33xx_pinmux {rstctl_pins: pinmux_rstctl_pins {pinctrl-single,pins = </* eMMC_RSTn */0x50 0x17/* gpmc_a4.gpio1_20, OUTPUT | MODE7 | PULLUP */>;};};&ldo3_reg {regulator-min-microvolt = <1800000>;regulator-max-microvolt = <1800000>;regulator-always-on;};&rstctl {status = "okay";compatible = "gpio-rctrl";pinctrl-names = "default";pinctrl-0 = <&rstctl_pins>;#reset-cells = <2>;gpios = <&gpio2 20 0x00>;gpio-names = "eMMC_RSTn";};&mmc1 {vmmc-supply = <&vmmcsd_fixed>;};&mmc2 {vmmc-supply = <&vmmcsd_fixed>;bus-width = <8>;ti,non-removable;status = "disabled";reset = <&rstctl 0 0>;reset-names = "eMMC_RSTn-CONSUMER";};&cpu {/** To consider voltage drop between PMIC and SoC,* tolerance value is reduced to 2% from 4% and* voltage value is increased as a precaution.*/operating-points = </* kHzuV */10000001350000800000 13000006000001112000300000969000>;};


---
使用下面的内容,红色和蓝色没有交换.现在不太确定哪个参数会直接影响红色和蓝色的顺序. 

&lcdc {status = "okay";/* If you want to get 24 bit RGB and 16 BGR mode instead of* current 16 bit RGB and 24 BGR modes, set the propety* below to "crossed" and uncomment the video-ports -property* in tda19988 node.*//* blue-and-red-wiring = "straight"; */blue-and-red-wiring = "crossed";port {lcdc_0: endpoint@0 {remote-endpoint = <&hdmi_0>;};};};&i2c0 {tda19988: tda19988 {compatible = "nxp,tda998x";reg = <0x70>;/* Convert 24bit BGR to RGB, e.g. cross red and blue wiring */video-ports = <0x234501>;#sound-dai-cells = <0>;audio-ports = <AFMT_I2S0x03>;ports {port@0 {hdmi_0: endpoint@0 {remote-endpoint = <&lcdc_0>;};};};};};

Jian Zhou:

回复 Cason wang:

你的原理图并没有看出来LCD RGB具体连的AM335x哪些信号线。

Cason wang:

回复 Jian Zhou:

有没有方法在DTB中交换红蓝的开关呢,除了我上面贴出来的.

Jian Zhou:

回复 Cason wang:

你看过我们的errata的section 3.1.1么?检查下RGB888数据线的接法。

这个和dts没什么关系的。

Cason wang:

回复 Jian Zhou:

看起来是有关系的,因为当我把dts中下面的行注释掉以后,它红色和蓝色就翻转过来了.

可是,我现在解释不了原因.

display-timings {native-mode = <&timing0>;timing0: 800x480 {clock-frequency = <30000000>;hactive = <800>;vactive = <480>;hfront-porch = <40>;hback-porch = <40>;hsync-len = <48>;vback-porch = <30>;vfront-porch = <13>;vsync-len = <3>;hsync-active = <0>;vsync-active= <0>;};};

Jian Zhou:

回复 Cason wang:

按理说颜色翻转只有RGB888和RGB565的区别。

赞(0)
未经允许不得转载:TI中文支持网 » beaglebone black 液晶屏 蓝色和红色颜色交换
分享到: 更多 (0)