DESK-MX6UL-L/Peripherals/LCD

From DAVE Developer's Wiki
Jump to: navigation, search
History
Version Issue Date Notes
1.0.0 Apr 2021 First DESK release


Peripheral LCD[edit | edit source]

Device tree configuration[edit | edit source]

Here below an example of device tree configuration used on standard DAVE's kit for the AXEL ULite SOM:

From the imx6ul-axelulite-cb003a.dts where RGB interface has been configured for a LCD panel (800x480 18bit):

&lcdif {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_lcdif_dat
                     &pinctrl_lcdif_ctrl>;
        display = <&display0>;
        status = "okay";

        display0: display {
                bits-per-pixel = <18>;
                bus-width = <18>;

                display-timings {
                        native-mode = <&timing0>;
                        timing0: timing0 {
                                clock-frequency = <33800000>;
                                hactive = <800>;
                                vactive = <480>;
                                hfront-porch = <118>;
                                hback-porch = <10>;
                                hsync-len = <128>;
                                vback-porch = <8>;
                                vfront-porch = <35>;
                                vsync-len = <2>;

                                hsync-active = <0>;
                                vsync-active = <0>;
                                de-active = <1>;
                                pixelclk-active = <1>;
                        };
                };
        };
};
&iomuxc {
...
...
    lcd {
	pinctrl_lcdif_dat: lcdifdatgrp {
		fsl,pins = <
			MX6UL_PAD_LCD_DATA00__LCDIF_DATA00      0x79
			MX6UL_PAD_LCD_DATA01__LCDIF_DATA01      0x79
			MX6UL_PAD_LCD_DATA02__LCDIF_DATA02      0x79
			MX6UL_PAD_LCD_DATA03__LCDIF_DATA03      0x79
			MX6UL_PAD_LCD_DATA04__LCDIF_DATA04      0x79
			MX6UL_PAD_LCD_DATA05__LCDIF_DATA05      0x79
			MX6UL_PAD_LCD_DATA06__LCDIF_DATA06      0x79
			MX6UL_PAD_LCD_DATA07__LCDIF_DATA07      0x79
			MX6UL_PAD_LCD_DATA08__LCDIF_DATA08      0x79
			MX6UL_PAD_LCD_DATA09__LCDIF_DATA09      0x79
			MX6UL_PAD_LCD_DATA10__LCDIF_DATA10      0x79
			MX6UL_PAD_LCD_DATA11__LCDIF_DATA11      0x79
			MX6UL_PAD_LCD_DATA12__LCDIF_DATA12      0x79
			MX6UL_PAD_LCD_DATA13__LCDIF_DATA13      0x79
			MX6UL_PAD_LCD_DATA14__LCDIF_DATA14      0x79
			MX6UL_PAD_LCD_DATA15__LCDIF_DATA15      0x79
			MX6UL_PAD_LCD_DATA16__LCDIF_DATA16      0x79
			MX6UL_PAD_LCD_DATA17__LCDIF_DATA17      0x79
		>;
	};

	pinctrl_lcdif_ctrl: lcdifctrlgrp {
		fsl,pins = <
			MX6UL_PAD_LCD_CLK__LCDIF_CLK            0x79
			MX6UL_PAD_LCD_ENABLE__LCDIF_ENABLE      0x79
			MX6UL_PAD_LCD_DATA20__GPIO3_IO25        0x110b0         /* 5V_BL_EN */
			MX6UL_PAD_LCD_DATA19__GPIO3_IO24        0x110b0         /* 3V3_LCD_EN */
			MX6UL_PAD_GPIO1_IO01__GPIO1_IO01        0x110b0         /* BLEN */
			MX6UL_PAD_LCD_DATA22__GPIO3_IO27        0x110b0         /* LVDS_STDN */
		>;
	};
    };
...
...
};

Accessing the peripheral[edit | edit source]

Linux messages at boot time[edit | edit source]

...
...
[    2.021689] mxsfb 21c8000.lcdif: 21c8000.lcdif supply lcd not found, using dummy regulator
[    2.443038] mxsfb 21c8000.lcdif: initialized
...
...

Additional information[edit | edit source]

LCD framebuffer can be accessed through the standard /dev/fbX fb device.

The configured framebuffer can be checked using standard fbset utility:

root@desk-mx6ul-axelulite:~# fbset

mode "800x480-61"
        # D: 33.801 MHz, H: 32.008 kHz, V: 60.968 Hz
        geometry 800 480 800 480 32
        timings 29585 10 118 8 35 128 2
        accel false
        rgba 8/16,8/8,8/0,0/0
endmode

root@desk-mx6ul-axelulite:~#