xref: /freebsd-src/sys/contrib/device-tree/Bindings/display/imx/fsl,imx-lcdc.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
18bab661aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28bab661aSEmmanuel Vadot%YAML 1.2
38bab661aSEmmanuel Vadot---
48bab661aSEmmanuel Vadot$id: http://devicetree.org/schemas/display/imx/fsl,imx-lcdc.yaml#
58bab661aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68bab661aSEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: Freescale i.MX LCD Controller, found on i.MX1, i.MX21, i.MX25 and i.MX27
88bab661aSEmmanuel Vadot
98bab661aSEmmanuel Vadotmaintainers:
108bab661aSEmmanuel Vadot  - Sascha Hauer <s.hauer@pengutronix.de>
118bab661aSEmmanuel Vadot  - Pengutronix Kernel Team <kernel@pengutronix.de>
128bab661aSEmmanuel Vadot
138bab661aSEmmanuel Vadotproperties:
148bab661aSEmmanuel Vadot  compatible:
158bab661aSEmmanuel Vadot    oneOf:
168bab661aSEmmanuel Vadot      - enum:
178bab661aSEmmanuel Vadot          - fsl,imx1-fb
188bab661aSEmmanuel Vadot          - fsl,imx21-fb
198bab661aSEmmanuel Vadot      - items:
208bab661aSEmmanuel Vadot          - enum:
218bab661aSEmmanuel Vadot              - fsl,imx25-fb
228bab661aSEmmanuel Vadot              - fsl,imx27-fb
238bab661aSEmmanuel Vadot          - const: fsl,imx21-fb
24*fac71e4eSEmmanuel Vadot      - items:
25*fac71e4eSEmmanuel Vadot          - const: fsl,imx25-lcdc
26*fac71e4eSEmmanuel Vadot          - const: fsl,imx21-lcdc
278bab661aSEmmanuel Vadot
288bab661aSEmmanuel Vadot  clocks:
298bab661aSEmmanuel Vadot    maxItems: 3
308bab661aSEmmanuel Vadot
318bab661aSEmmanuel Vadot  clock-names:
328bab661aSEmmanuel Vadot    items:
338bab661aSEmmanuel Vadot      - const: ipg
348bab661aSEmmanuel Vadot      - const: ahb
358bab661aSEmmanuel Vadot      - const: per
368bab661aSEmmanuel Vadot
37*fac71e4eSEmmanuel Vadot  port:
38*fac71e4eSEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/port
39*fac71e4eSEmmanuel Vadot
408bab661aSEmmanuel Vadot  display:
418bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
428bab661aSEmmanuel Vadot
438bab661aSEmmanuel Vadot  interrupts:
448bab661aSEmmanuel Vadot    maxItems: 1
458bab661aSEmmanuel Vadot
468bab661aSEmmanuel Vadot  reg:
478bab661aSEmmanuel Vadot    maxItems: 1
488bab661aSEmmanuel Vadot
498bab661aSEmmanuel Vadot  lcd-supply:
508bab661aSEmmanuel Vadot    description:
518bab661aSEmmanuel Vadot      Regulator for LCD supply voltage.
528bab661aSEmmanuel Vadot
538bab661aSEmmanuel Vadot  fsl,dmacr:
548bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
558bab661aSEmmanuel Vadot    description:
568bab661aSEmmanuel Vadot      Override value for DMA Control Register
578bab661aSEmmanuel Vadot
588bab661aSEmmanuel Vadot  fsl,lpccr:
598bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
608bab661aSEmmanuel Vadot    description:
618bab661aSEmmanuel Vadot      Contrast Control Register value.
628bab661aSEmmanuel Vadot
638bab661aSEmmanuel Vadot  fsl,lscr1:
648bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
658bab661aSEmmanuel Vadot    description:
668bab661aSEmmanuel Vadot      LCDC Sharp Configuration Register value.
678bab661aSEmmanuel Vadot
68*fac71e4eSEmmanuel VadotallOf:
69*fac71e4eSEmmanuel Vadot  - if:
70*fac71e4eSEmmanuel Vadot      properties:
71*fac71e4eSEmmanuel Vadot        compatible:
72*fac71e4eSEmmanuel Vadot          contains:
73*fac71e4eSEmmanuel Vadot            enum:
74*fac71e4eSEmmanuel Vadot              - fsl,imx1-lcdc
75*fac71e4eSEmmanuel Vadot              - fsl,imx21-lcdc
76*fac71e4eSEmmanuel Vadot    then:
77*fac71e4eSEmmanuel Vadot      properties:
78*fac71e4eSEmmanuel Vadot        display: false
79*fac71e4eSEmmanuel Vadot        fsl,dmacr: false
80*fac71e4eSEmmanuel Vadot        fsl,lpccr: false
81*fac71e4eSEmmanuel Vadot        fsl,lscr1: false
82*fac71e4eSEmmanuel Vadot
83*fac71e4eSEmmanuel Vadot      required:
84*fac71e4eSEmmanuel Vadot        - port
85*fac71e4eSEmmanuel Vadot
86*fac71e4eSEmmanuel Vadot    else:
87*fac71e4eSEmmanuel Vadot      properties:
88*fac71e4eSEmmanuel Vadot        port: false
89*fac71e4eSEmmanuel Vadot
90*fac71e4eSEmmanuel Vadot      required:
91*fac71e4eSEmmanuel Vadot        - display
92*fac71e4eSEmmanuel Vadot
938bab661aSEmmanuel Vadotrequired:
948bab661aSEmmanuel Vadot  - compatible
958bab661aSEmmanuel Vadot  - clocks
968bab661aSEmmanuel Vadot  - clock-names
978bab661aSEmmanuel Vadot  - interrupts
988bab661aSEmmanuel Vadot  - reg
998bab661aSEmmanuel Vadot
1008bab661aSEmmanuel VadotadditionalProperties: false
1018bab661aSEmmanuel Vadot
1028bab661aSEmmanuel Vadotexamples:
1038bab661aSEmmanuel Vadot  - |
104*fac71e4eSEmmanuel Vadot    lcdc@53fbc000 {
105*fac71e4eSEmmanuel Vadot        compatible = "fsl,imx25-lcdc", "fsl,imx21-lcdc";
106*fac71e4eSEmmanuel Vadot        reg = <0x53fbc000 0x4000>;
107*fac71e4eSEmmanuel Vadot        interrupts = <39>;
108*fac71e4eSEmmanuel Vadot        clocks = <&clks 103>, <&clks 66>, <&clks 49>;
109*fac71e4eSEmmanuel Vadot        clock-names = "ipg", "ahb", "per";
110*fac71e4eSEmmanuel Vadot
111*fac71e4eSEmmanuel Vadot        port {
112*fac71e4eSEmmanuel Vadot            parallel_out: endpoint {
113*fac71e4eSEmmanuel Vadot              remote-endpoint = <&panel_in>;
114*fac71e4eSEmmanuel Vadot            };
115*fac71e4eSEmmanuel Vadot        };
116*fac71e4eSEmmanuel Vadot    };
117*fac71e4eSEmmanuel Vadot  - |
1188bab661aSEmmanuel Vadot    imxfb: fb@10021000 {
1198bab661aSEmmanuel Vadot        compatible = "fsl,imx21-fb";
1208bab661aSEmmanuel Vadot        interrupts = <61>;
1218bab661aSEmmanuel Vadot        reg = <0x10021000 0x1000>;
1228bab661aSEmmanuel Vadot        display = <&display0>;
1238bab661aSEmmanuel Vadot        clocks = <&clks 103>, <&clks 49>, <&clks 66>;
1248bab661aSEmmanuel Vadot        clock-names = "ipg", "ahb", "per";
1258bab661aSEmmanuel Vadot    };
1268bab661aSEmmanuel Vadot
1278bab661aSEmmanuel Vadot    display0: display0 {
1288bab661aSEmmanuel Vadot        model = "Primeview-PD050VL1";
1298bab661aSEmmanuel Vadot        bits-per-pixel = <16>;
1308bab661aSEmmanuel Vadot        fsl,pcr = <0xf0c88080>; /* non-standard but required */
1318bab661aSEmmanuel Vadot
1328bab661aSEmmanuel Vadot        display-timings {
1338bab661aSEmmanuel Vadot            native-mode = <&timing_disp0>;
1348bab661aSEmmanuel Vadot            timing_disp0: timing0 {
1358bab661aSEmmanuel Vadot                hactive = <640>;
1368bab661aSEmmanuel Vadot                vactive = <480>;
1378bab661aSEmmanuel Vadot                hback-porch = <112>;
1388bab661aSEmmanuel Vadot                hfront-porch = <36>;
1398bab661aSEmmanuel Vadot                hsync-len = <32>;
1408bab661aSEmmanuel Vadot                vback-porch = <33>;
1418bab661aSEmmanuel Vadot                vfront-porch = <33>;
1428bab661aSEmmanuel Vadot                vsync-len = <2>;
1438bab661aSEmmanuel Vadot                clock-frequency = <25000000>;
1448bab661aSEmmanuel Vadot            };
1458bab661aSEmmanuel Vadot        };
1468bab661aSEmmanuel Vadot    };
147