xref: /freebsd/sys/contrib/device-tree/Bindings/display/renesas,shmobile-lcdc.yaml (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
1*84943d6fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*84943d6fSEmmanuel Vadot%YAML 1.2
3*84943d6fSEmmanuel Vadot---
4*84943d6fSEmmanuel Vadot$id: http://devicetree.org/schemas/display/renesas,shmobile-lcdc.yaml#
5*84943d6fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*84943d6fSEmmanuel Vadot
7*84943d6fSEmmanuel Vadottitle: Renesas SH-Mobile LCD Controller (LCDC)
8*84943d6fSEmmanuel Vadot
9*84943d6fSEmmanuel Vadotmaintainers:
10*84943d6fSEmmanuel Vadot  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
11*84943d6fSEmmanuel Vadot  - Geert Uytterhoeven <geert+renesas@glider.be>
12*84943d6fSEmmanuel Vadot
13*84943d6fSEmmanuel Vadotproperties:
14*84943d6fSEmmanuel Vadot  compatible:
15*84943d6fSEmmanuel Vadot    enum:
16*84943d6fSEmmanuel Vadot      - renesas,r8a7740-lcdc # R-Mobile A1
17*84943d6fSEmmanuel Vadot      - renesas,sh73a0-lcdc  # SH-Mobile AG5
18*84943d6fSEmmanuel Vadot
19*84943d6fSEmmanuel Vadot  reg:
20*84943d6fSEmmanuel Vadot    maxItems: 1
21*84943d6fSEmmanuel Vadot
22*84943d6fSEmmanuel Vadot  interrupts:
23*84943d6fSEmmanuel Vadot    maxItems: 1
24*84943d6fSEmmanuel Vadot
25*84943d6fSEmmanuel Vadot  clocks:
26*84943d6fSEmmanuel Vadot    minItems: 1
27*84943d6fSEmmanuel Vadot    maxItems: 5
28*84943d6fSEmmanuel Vadot    description:
29*84943d6fSEmmanuel Vadot      Only the functional clock is mandatory.
30*84943d6fSEmmanuel Vadot      Some of the optional clocks are model-dependent (e.g. "video" (a.k.a.
31*84943d6fSEmmanuel Vadot      "vou" or "dv_clk") is available on R-Mobile A1 only).
32*84943d6fSEmmanuel Vadot
33*84943d6fSEmmanuel Vadot  clock-names:
34*84943d6fSEmmanuel Vadot    minItems: 1
35*84943d6fSEmmanuel Vadot    items:
36*84943d6fSEmmanuel Vadot      - const: fck
37*84943d6fSEmmanuel Vadot      - enum: [ media, lclk, hdmi, video ]
38*84943d6fSEmmanuel Vadot      - enum: [ media, lclk, hdmi, video ]
39*84943d6fSEmmanuel Vadot      - enum: [ media, lclk, hdmi, video ]
40*84943d6fSEmmanuel Vadot      - enum: [ media, lclk, hdmi, video ]
41*84943d6fSEmmanuel Vadot
42*84943d6fSEmmanuel Vadot  power-domains:
43*84943d6fSEmmanuel Vadot    maxItems: 1
44*84943d6fSEmmanuel Vadot
45*84943d6fSEmmanuel Vadot  ports:
46*84943d6fSEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
47*84943d6fSEmmanuel Vadot
48*84943d6fSEmmanuel Vadot    properties:
49*84943d6fSEmmanuel Vadot      port@0:
50*84943d6fSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
51*84943d6fSEmmanuel Vadot        description: LCD port (R-Mobile A1 and SH-Mobile AG5)
52*84943d6fSEmmanuel Vadot        unevaluatedProperties: false
53*84943d6fSEmmanuel Vadot
54*84943d6fSEmmanuel Vadot      port@1:
55*84943d6fSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
56*84943d6fSEmmanuel Vadot        description: HDMI port (R-Mobile A1 LCDC1 and SH-Mobile AG5)
57*84943d6fSEmmanuel Vadot        unevaluatedProperties: false
58*84943d6fSEmmanuel Vadot
59*84943d6fSEmmanuel Vadot      port@2:
60*84943d6fSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
61*84943d6fSEmmanuel Vadot        description: MIPI-DSI port (SH-Mobile AG5)
62*84943d6fSEmmanuel Vadot        unevaluatedProperties: false
63*84943d6fSEmmanuel Vadot
64*84943d6fSEmmanuel Vadot    required:
65*84943d6fSEmmanuel Vadot      - port@0
66*84943d6fSEmmanuel Vadot
67*84943d6fSEmmanuel Vadot    unevaluatedProperties: false
68*84943d6fSEmmanuel Vadot
69*84943d6fSEmmanuel Vadotrequired:
70*84943d6fSEmmanuel Vadot  - compatible
71*84943d6fSEmmanuel Vadot  - reg
72*84943d6fSEmmanuel Vadot  - interrupts
73*84943d6fSEmmanuel Vadot  - clocks
74*84943d6fSEmmanuel Vadot  - clock-names
75*84943d6fSEmmanuel Vadot  - power-domains
76*84943d6fSEmmanuel Vadot  - ports
77*84943d6fSEmmanuel Vadot
78*84943d6fSEmmanuel VadotadditionalProperties: false
79*84943d6fSEmmanuel Vadot
80*84943d6fSEmmanuel VadotallOf:
81*84943d6fSEmmanuel Vadot  - if:
82*84943d6fSEmmanuel Vadot      properties:
83*84943d6fSEmmanuel Vadot        compatible:
84*84943d6fSEmmanuel Vadot          contains:
85*84943d6fSEmmanuel Vadot            const: renesas,r8a7740-lcdc
86*84943d6fSEmmanuel Vadot    then:
87*84943d6fSEmmanuel Vadot      properties:
88*84943d6fSEmmanuel Vadot        ports:
89*84943d6fSEmmanuel Vadot          properties:
90*84943d6fSEmmanuel Vadot            port@2: false
91*84943d6fSEmmanuel Vadot
92*84943d6fSEmmanuel Vadot  - if:
93*84943d6fSEmmanuel Vadot      properties:
94*84943d6fSEmmanuel Vadot        compatible:
95*84943d6fSEmmanuel Vadot          contains:
96*84943d6fSEmmanuel Vadot            const: renesas,sh73a0-lcdc
97*84943d6fSEmmanuel Vadot    then:
98*84943d6fSEmmanuel Vadot      properties:
99*84943d6fSEmmanuel Vadot        ports:
100*84943d6fSEmmanuel Vadot          required:
101*84943d6fSEmmanuel Vadot            - port@1
102*84943d6fSEmmanuel Vadot            - port@2
103*84943d6fSEmmanuel Vadot
104*84943d6fSEmmanuel Vadotexamples:
105*84943d6fSEmmanuel Vadot  - |
106*84943d6fSEmmanuel Vadot    #include <dt-bindings/clock/r8a7740-clock.h>
107*84943d6fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
108*84943d6fSEmmanuel Vadot
109*84943d6fSEmmanuel Vadot    lcd-controller@fe940000 {
110*84943d6fSEmmanuel Vadot        compatible = "renesas,r8a7740-lcdc";
111*84943d6fSEmmanuel Vadot        reg = <0xfe940000 0x4000>;
112*84943d6fSEmmanuel Vadot        interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
113*84943d6fSEmmanuel Vadot        clocks = <&mstp1_clks R8A7740_CLK_LCDC0>,
114*84943d6fSEmmanuel Vadot                 <&cpg_clocks R8A7740_CLK_M3>, <&lcdlclk0_clk>,
115*84943d6fSEmmanuel Vadot                 <&vou_clk>;
116*84943d6fSEmmanuel Vadot        clock-names = "fck", "media", "lclk", "video";
117*84943d6fSEmmanuel Vadot        power-domains = <&pd_a4lc>;
118*84943d6fSEmmanuel Vadot
119*84943d6fSEmmanuel Vadot        ports {
120*84943d6fSEmmanuel Vadot            #address-cells = <1>;
121*84943d6fSEmmanuel Vadot            #size-cells = <0>;
122*84943d6fSEmmanuel Vadot
123*84943d6fSEmmanuel Vadot            port@0 {
124*84943d6fSEmmanuel Vadot                reg = <0>;
125*84943d6fSEmmanuel Vadot
126*84943d6fSEmmanuel Vadot                lcdc0_rgb: endpoint {
127*84943d6fSEmmanuel Vadot                };
128*84943d6fSEmmanuel Vadot            };
129*84943d6fSEmmanuel Vadot        };
130*84943d6fSEmmanuel Vadot    };
131