1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/display/imx/fsl,imx-lcdc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Freescale i.MX LCD Controller, found on i.MX1, i.MX21, i.MX25 and i.MX27
8
9maintainers:
10  - Sascha Hauer <s.hauer@pengutronix.de>
11  - Pengutronix Kernel Team <kernel@pengutronix.de>
12
13properties:
14  compatible:
15    oneOf:
16      - enum:
17          - fsl,imx1-fb
18          - fsl,imx21-fb
19      - items:
20          - enum:
21              - fsl,imx25-fb
22              - fsl,imx27-fb
23          - const: fsl,imx21-fb
24
25  clocks:
26    maxItems: 3
27
28  clock-names:
29    items:
30      - const: ipg
31      - const: ahb
32      - const: per
33
34  display:
35    $ref: /schemas/types.yaml#/definitions/phandle
36
37  interrupts:
38    maxItems: 1
39
40  reg:
41    maxItems: 1
42
43  lcd-supply:
44    description:
45      Regulator for LCD supply voltage.
46
47  fsl,dmacr:
48    $ref: /schemas/types.yaml#/definitions/uint32
49    description:
50      Override value for DMA Control Register
51
52  fsl,lpccr:
53    $ref: /schemas/types.yaml#/definitions/uint32
54    description:
55      Contrast Control Register value.
56
57  fsl,lscr1:
58    $ref: /schemas/types.yaml#/definitions/uint32
59    description:
60      LCDC Sharp Configuration Register value.
61
62required:
63  - compatible
64  - clocks
65  - clock-names
66  - display
67  - interrupts
68  - reg
69
70additionalProperties: false
71
72examples:
73  - |
74    imxfb: fb@10021000 {
75        compatible = "fsl,imx21-fb";
76        interrupts = <61>;
77        reg = <0x10021000 0x1000>;
78        display = <&display0>;
79        clocks = <&clks 103>, <&clks 49>, <&clks 66>;
80        clock-names = "ipg", "ahb", "per";
81    };
82
83    display0: display0 {
84        model = "Primeview-PD050VL1";
85        bits-per-pixel = <16>;
86        fsl,pcr = <0xf0c88080>; /* non-standard but required */
87
88        display-timings {
89            native-mode = <&timing_disp0>;
90            timing_disp0: timing0 {
91                hactive = <640>;
92                vactive = <480>;
93                hback-porch = <112>;
94                hfront-porch = <36>;
95                hsync-len = <32>;
96                vback-porch = <33>;
97                vfront-porch = <33>;
98                vsync-len = <2>;
99                clock-frequency = <25000000>;
100            };
101        };
102    };
103