CC6 SBC parallel display with Linux/Yocto

Hello everyone. I want to connect a rgb parallel display to my CC6 SBC. But i cant get a signal out of the corresponding ports/pins (disp0_dat0-23 …).

I am using the pre built yocto 1.6 image and tried several boot configuration without success.

With the pre built android image a pixclock and data changes were measurable. But i need linux up and running with it.

edit: Solved, the IOMUX was the main cause of the problem.

Here are the sample settings for the LCD as configured and tested by one of the customers:

Display-Name: ET0500G0DH6

U-boot:

video2=dev=lcd,CLAA-WVGA,if=RGB666

DeviceTree:

imx6q-ccimx6sbc-wbk.dts:

mxcfb3: fb@2 {
compatible = “fsl,mxc_sdc_fb”;
disp_dev = “lcd”;
interface_pix_fmt = “RGB666”;
//mode_str =“CLAA_WVGA”;
mode_str = “ET0500G0DH6”;
default_bpp = <16>;
int_clk = <0>;
late_init = <0>;
status = “okay”;
};

lcd@0 {
    compatible = "fsl,lcd";
    ipu_id = &lt;0&gt;;
    disp_id = &lt;0&gt;;
    default_ifmt = "RGB666";
    pinctrl-names = "default";
    pinctrl-0 = &lt;&amp;pinctrl_ipu1_1&gt;;
    //display = &lt;&amp;claa&gt;;
    display = &lt;&amp;et0500g0dh6&gt;;
    status = "okay";
};

et0500g0dh6: ET0500G0DH6@0 {
    display-timings {
        timing {
            clock-frequency = &lt;29500000&gt;;
            hactive = &lt;800&gt;;
            vactive = &lt;480&gt;;
            hfront-porch = &lt;24&gt;;
            hback-porch = &lt;96&gt;;
            hsync-len = &lt;72&gt;;
            vback-porch = &lt;3&gt;;
            vfront-porch = &lt;10&gt;;
            vsync-len = &lt;7&gt;;
        };
    };
};

imx6qdl.dtsi:

ipu1 {
    pinctrl_ipu1_1: ipu1grp-1 {
        fsl,pins = &lt;
            MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x10
            MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15       0x10
            MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02        0x10
            MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03        x10                            
            MX6QDL_PAD_DI0_PIN4__GPIO4_IO20        0x10 //0x80000000   
            MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00   0x10
            MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01   0x10
            MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02   0x10
            MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03   0x10
            MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04   0x10
            MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05   0x10
            MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06   0x10
            MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07   0x10
            MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08   0x10
            MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09   0x10
            MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10  0x10
            MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11  0x10
            MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12  0x10
            MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13  0x10
            MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14  0x10
            MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15  0x10
            MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16  0x10
            MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17  0x10
            MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18  0x10
            MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19  0x10
            MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20  0x10
            MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21  0x10
            MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22  0x10
            MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23  0x10
        &gt;;
    };

The trick was to change settings in file imx6qdl.dtsi.
Last thing that had to be done was to change: MX6QDL_PAD_DI0_PIN4__IPU1_DI0_PIN04
to MX6QDL_PAD_DI0_PIN4__GPIO4_IO20 because i need 0 Volt for Brightness Control for LED Backlight.

1 Like