summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/display/renesas,shmobile-lcdc.yaml
blob: 9816c4cacc7d9a7f503f82225005cf7432028fac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/renesas,shmobile-lcdc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Renesas SH-Mobile LCD Controller (LCDC)

maintainers:
  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
  - Geert Uytterhoeven <geert+renesas@glider.be>

properties:
  compatible:
    enum:
      - renesas,r8a7740-lcdc # R-Mobile A1
      - renesas,sh73a0-lcdc  # SH-Mobile AG5

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    minItems: 1
    maxItems: 5
    description:
      Only the functional clock is mandatory.
      Some of the optional clocks are model-dependent (e.g. "video" (a.k.a.
      "vou" or "dv_clk") is available on R-Mobile A1 only).

  clock-names:
    minItems: 1
    items:
      - const: fck
      - enum: [ media, lclk, hdmi, video ]
      - enum: [ media, lclk, hdmi, video ]
      - enum: [ media, lclk, hdmi, video ]
      - enum: [ media, lclk, hdmi, video ]

  power-domains:
    maxItems: 1

  ports:
    $ref: /schemas/graph.yaml#/properties/ports

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/properties/port
        description: LCD port (R-Mobile A1 and SH-Mobile AG5)
        unevaluatedProperties: false

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description: HDMI port (R-Mobile A1 LCDC1 and SH-Mobile AG5)
        unevaluatedProperties: false

      port@2:
        $ref: /schemas/graph.yaml#/properties/port
        description: MIPI-DSI port (SH-Mobile AG5)
        unevaluatedProperties: false

    required:
      - port@0

    unevaluatedProperties: false

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names
  - power-domains
  - ports

additionalProperties: false

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: renesas,r8a7740-lcdc
    then:
      properties:
        ports:
          properties:
            port@2: false

  - if:
      properties:
        compatible:
          contains:
            const: renesas,sh73a0-lcdc
    then:
      properties:
        ports:
          required:
            - port@1
            - port@2

examples:
  - |
    #include <dt-bindings/clock/r8a7740-clock.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    lcd-controller@fe940000 {
        compatible = "renesas,r8a7740-lcdc";
        reg = <0xfe940000 0x4000>;
        interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&mstp1_clks R8A7740_CLK_LCDC0>,
                 <&cpg_clocks R8A7740_CLK_M3>, <&lcdlclk0_clk>,
                 <&vou_clk>;
        clock-names = "fck", "media", "lclk", "video";
        power-domains = <&pd_a4lc>;

        ports {
            #address-cells = <1>;
            #size-cells = <0>;

            port@0 {
                reg = <0>;

                lcdc0_rgb: endpoint {
                };
            };
        };
    };