| * Freescale MXS LCD Interface (LCDIF) |
| |
| New bindings: |
| ============= |
| Required properties: |
| - compatible: Should be "fsl,imx23-lcdif" for i.MX23. |
| Should be "fsl,imx28-lcdif" for i.MX28. |
| Should be "fsl,imx6sx-lcdif" for i.MX6SX. |
| Should be "fsl,imx8mq-lcdif" for i.MX8MQ. |
| - reg: Address and length of the register set for LCDIF |
| - interrupts: Should contain LCDIF interrupt |
| - clocks: A list of phandle + clock-specifier pairs, one for each |
| entry in 'clock-names'. |
| - clock-names: A list of clock names. For MXSFB it should contain: |
| - "pix" for the LCDIF block clock |
| - (MX6SX-only) "axi", "disp_axi" for the bus interface clock |
| |
| Required sub-nodes: |
| - port: The connection to an encoder chip. |
| |
| Example: |
| |
| lcdif1: display-controller@2220000 { |
| compatible = "fsl,imx6sx-lcdif", "fsl,imx28-lcdif"; |
| reg = <0x02220000 0x4000>; |
| interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&clks IMX6SX_CLK_LCDIF1_PIX>, |
| <&clks IMX6SX_CLK_LCDIF_APB>, |
| <&clks IMX6SX_CLK_DISPLAY_AXI>; |
| clock-names = "pix", "axi", "disp_axi"; |
| |
| port { |
| parallel_out: endpoint { |
| remote-endpoint = <&panel_in_parallel>; |
| }; |
| }; |
| }; |
| |
| Deprecated bindings: |
| ==================== |
| Required properties: |
| - compatible: Should be "fsl,imx23-lcdif" for i.MX23. |
| Should be "fsl,imx28-lcdif" for i.MX28. |
| - reg: Address and length of the register set for LCDIF |
| - interrupts: Should contain LCDIF interrupts |
| - display: phandle to display node (see below for details) |
| |
| * display node |
| |
| Required properties: |
| - bits-per-pixel: <16> for RGB565, <32> for RGB888/666. |
| - bus-width: number of data lines. Could be <8>, <16>, <18> or <24>. |
| |
| Required sub-node: |
| - display-timings: Refer to binding doc display-timing.txt for details. |
| |
| Examples: |
| |
| lcdif@80030000 { |
| compatible = "fsl,imx28-lcdif"; |
| reg = <0x80030000 2000>; |
| interrupts = <38 86>; |
| |
| display: display { |
| bits-per-pixel = <32>; |
| bus-width = <24>; |
| |
| display-timings { |
| native-mode = <&timing0>; |
| timing0: timing0 { |
| clock-frequency = <33500000>; |
| hactive = <800>; |
| vactive = <480>; |
| hfront-porch = <164>; |
| hback-porch = <89>; |
| hsync-len = <10>; |
| vback-porch = <23>; |
| vfront-porch = <10>; |
| vsync-len = <10>; |
| hsync-active = <0>; |
| vsync-active = <0>; |
| de-active = <1>; |
| pixelclk-active = <0>; |
| }; |
| }; |
| }; |
| }; |