# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/display/imx/fsl,imx-lcdc.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Freescale i.MX LCD Controller, found on i.MX1, i.MX21, i.MX25 and i.MX27 maintainers: - Sascha Hauer - Pengutronix Kernel Team properties: compatible: oneOf: - enum: - fsl,imx1-fb - fsl,imx21-fb - items: - enum: - fsl,imx25-fb - fsl,imx27-fb - const: fsl,imx21-fb - items: - const: fsl,imx25-lcdc - const: fsl,imx21-lcdc clocks: maxItems: 3 clock-names: items: - const: ipg - const: ahb - const: per port: $ref: /schemas/graph.yaml#/properties/port display: $ref: /schemas/types.yaml#/definitions/phandle interrupts: maxItems: 1 reg: maxItems: 1 lcd-supply: description: Regulator for LCD supply voltage. fsl,dmacr: $ref: /schemas/types.yaml#/definitions/uint32 description: Override value for DMA Control Register fsl,lpccr: $ref: /schemas/types.yaml#/definitions/uint32 description: Contrast Control Register value. fsl,lscr1: $ref: /schemas/types.yaml#/definitions/uint32 description: LCDC Sharp Configuration Register value. allOf: - if: properties: compatible: contains: enum: - fsl,imx1-lcdc - fsl,imx21-lcdc then: properties: display: false fsl,dmacr: false fsl,lpccr: false fsl,lscr1: false required: - port else: properties: port: false required: - display required: - compatible - clocks - clock-names - interrupts - reg additionalProperties: false examples: - | lcdc@53fbc000 { compatible = "fsl,imx25-lcdc", "fsl,imx21-lcdc"; reg = <0x53fbc000 0x4000>; interrupts = <39>; clocks = <&clks 103>, <&clks 66>, <&clks 49>; clock-names = "ipg", "ahb", "per"; port { parallel_out: endpoint { remote-endpoint = <&panel_in>; }; }; }; - | imxfb: fb@10021000 { compatible = "fsl,imx21-fb"; interrupts = <61>; reg = <0x10021000 0x1000>; display = <&display0>; clocks = <&clks 103>, <&clks 49>, <&clks 66>; clock-names = "ipg", "ahb", "per"; }; display0: display0 { model = "Primeview-PD050VL1"; bits-per-pixel = <16>; fsl,pcr = <0xf0c88080>; /* non-standard but required */ display-timings { native-mode = <&timing_disp0>; timing_disp0: timing0 { hactive = <640>; vactive = <480>; hback-porch = <112>; hfront-porch = <36>; hsync-len = <32>; vback-porch = <33>; vfront-porch = <33>; vsync-len = <2>; clock-frequency = <25000000>; }; }; };