summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/display/ste,mcde.yaml
blob: de0c678b3c29406e365ca5382c39dcfe06d9db44 (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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/ste,mcde.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ST-Ericsson Multi Channel Display Engine MCDE

maintainers:
  - Linus Walleij <linus.walleij@linaro.org>

properties:
  compatible:
    const: ste,mcde

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    description: an array of the MCDE clocks
    items:
      - description: MCDECLK (main MCDE clock)
      - description: LCDCLK (LCD clock)
      - description: PLLDSI (HDMI clock)

  clock-names:
    items:
      - const: mcde
      - const: lcd
      - const: hdmi

  resets:
    maxItems: 1

  epod-supply:
    description: a phandle to the EPOD regulator

  vana-supply:
    description: a phandle to the analog voltage regulator

  port:
    $ref: /schemas/graph.yaml#/properties/port
    description:
      A DPI port node

  "#address-cells":
    const: 1

  "#size-cells":
    const: 1

  ranges: true

patternProperties:
  "^dsi@[0-9a-f]+$":
    description: subnodes for the three DSI host adapters
    type: object
    allOf:
      - $ref: dsi-controller.yaml#
    properties:
      compatible:
        const: ste,mcde-dsi

      reg:
        maxItems: 1

      vana-supply:
        description: a phandle to the analog voltage regulator

      clocks:
        description: phandles to the high speed and low power (energy save) clocks
          the high speed clock is not present on the third (dsi2) block, so it
          should only have the "lp" clock
        minItems: 1
        maxItems: 2

      clock-names:
        oneOf:
          - items:
              - const: hs
              - const: lp
          - items:
              - const: lp

    required:
      - compatible
      - reg
      - vana-supply
      - clocks
      - clock-names

    unevaluatedProperties: false

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names
  - epod-supply
  - vana-supply

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/mfd/dbx500-prcmu.h>
    #include <dt-bindings/gpio/gpio.h>

    mcde@a0350000 {
      compatible = "ste,mcde";
      reg = <0xa0350000 0x1000>;
      interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
      epod-supply = <&db8500_b2r2_mcde_reg>;
      vana-supply = <&ab8500_ldo_ana_reg>;
      clocks = <&prcmu_clk PRCMU_MCDECLK>,
               <&prcmu_clk PRCMU_LCDCLK>,
               <&prcmu_clk PRCMU_PLLDSI>;
      clock-names = "mcde", "lcd", "hdmi";
      #address-cells = <1>;
      #size-cells = <1>;
      ranges;

      dsi0: dsi@a0351000 {
        compatible = "ste,mcde-dsi";
        reg = <0xa0351000 0x1000>;
        vana-supply = <&ab8500_ldo_ana_reg>;
        clocks = <&prcmu_clk PRCMU_DSI0CLK>, <&prcmu_clk PRCMU_DSI0ESCCLK>;
        clock-names = "hs", "lp";
        #address-cells = <1>;
        #size-cells = <0>;

        panel@0 {
          compatible = "samsung,s6d16d0";
          reg = <0>;
          vdd1-supply = <&ab8500_ldo_aux1_reg>;
          reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
        };
      };

      dsi1: dsi@a0352000 {
        compatible = "ste,mcde-dsi";
        reg = <0xa0352000 0x1000>;
        vana-supply = <&ab8500_ldo_ana_reg>;
        clocks = <&prcmu_clk PRCMU_DSI1CLK>, <&prcmu_clk PRCMU_DSI1ESCCLK>;
        clock-names = "hs", "lp";
        #address-cells = <1>;
        #size-cells = <0>;
      };

      dsi2: dsi@a0353000 {
        compatible = "ste,mcde-dsi";
        reg = <0xa0353000 0x1000>;
        vana-supply = <&ab8500_ldo_ana_reg>;
        /* This DSI port only has the Low Power / Energy Save clock */
        clocks = <&prcmu_clk PRCMU_DSI2ESCCLK>;
        clock-names = "lp";
        #address-cells = <1>;
        #size-cells = <0>;
      };
    };

...