File Index
Files and directories
Sign in
FILE

exynos-pmu.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml YAML
  1# SPDX-License-Identifier: GPL-2.0
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/soc/samsung/exynos-pmu.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Samsung Exynos SoC series Power Management Unit (PMU)
  8
  9maintainers:
 10  - Krzysztof Kozlowski <krzk@kernel.org>
 11
 12# Custom select to avoid matching all nodes with 'syscon'
 13select:
 14  properties:
 15    compatible:
 16      contains:
 17        enum:
 18          - google,gs101-pmu
 19          - samsung,exynos3250-pmu
 20          - samsung,exynos4210-pmu
 21          - samsung,exynos4212-pmu
 22          - samsung,exynos4412-pmu
 23          - samsung,exynos5250-pmu
 24          - samsung,exynos5260-pmu
 25          - samsung,exynos5410-pmu
 26          - samsung,exynos5420-pmu
 27          - samsung,exynos5433-pmu
 28          - samsung,exynos7-pmu
 29          - samsung,exynos850-pmu
 30          - samsung-s5pv210-pmu
 31  required:
 32    - compatible
 33
 34properties:
 35  compatible:
 36    oneOf:
 37      - items:
 38          - enum:
 39              - google,gs101-pmu
 40              - samsung,exynos3250-pmu
 41              - samsung,exynos4210-pmu
 42              - samsung,exynos4212-pmu
 43              - samsung,exynos4412-pmu
 44              - samsung,exynos5250-pmu
 45              - samsung,exynos5260-pmu
 46              - samsung,exynos5410-pmu
 47              - samsung,exynos5420-pmu
 48              - samsung,exynos5433-pmu
 49              - samsung,exynos7-pmu
 50              - samsung,exynos850-pmu
 51              - samsung-s5pv210-pmu
 52          - const: syscon
 53      - items:
 54          - enum:
 55              - samsung,exynos2200-pmu
 56              - samsung,exynos7870-pmu
 57              - samsung,exynos7885-pmu
 58              - samsung,exynos8890-pmu
 59              - samsung,exynos8895-pmu
 60              - samsung,exynos9810-pmu
 61              - samsung,exynos990-pmu
 62              - samsung,exynosautov9-pmu
 63              - samsung,exynosautov920-pmu
 64              - tesla,fsd-pmu
 65          - const: samsung,exynos7-pmu
 66          - const: syscon
 67      - items:
 68          - enum:
 69              - samsung,exynos3250-pmu
 70              - samsung,exynos4210-pmu
 71              - samsung,exynos4212-pmu
 72              - samsung,exynos4412-pmu
 73              - samsung,exynos5250-pmu
 74              - samsung,exynos5420-pmu
 75              - samsung,exynos5433-pmu
 76          - const: simple-mfd
 77          - const: syscon
 78
 79  reg:
 80    maxItems: 1
 81
 82  '#clock-cells':
 83    const: 1
 84
 85  clock-names:
 86    description:
 87      List of clock names for particular CLKOUT mux inputs
 88    minItems: 1
 89    maxItems: 32
 90    items:
 91      pattern: '^clkout([0-9]|[12][0-9]|3[0-1])$'
 92
 93  clocks:
 94    minItems: 1
 95    maxItems: 32
 96
 97  dp-phy:
 98    $ref: /schemas/phy/samsung,dp-video-phy.yaml
 99    unevaluatedProperties: false
100
101  interrupt-controller:
102    description:
103      Some PMUs are capable of behaving as an interrupt controller (mostly
104      to wake up a suspended PMU).
105
106  '#interrupt-cells':
107    description:
108      Must be identical to the that of the parent interrupt controller.
109    const: 3
110
111  mipi-phy:
112    $ref: /schemas/phy/samsung,mipi-video-phy.yaml
113    unevaluatedProperties: false
114
115  reboot-mode:
116    $ref: /schemas/power/reset/syscon-reboot-mode.yaml
117    type: object
118    description:
119      Reboot mode to alter bootloader behavior for the next boot
120
121  syscon-poweroff:
122    $ref: /schemas/power/reset/syscon-poweroff.yaml#
123    type: object
124    description:
125      Node for power off method
126
127  syscon-reboot:
128    $ref: /schemas/power/reset/syscon-reboot.yaml#
129    type: object
130    description:
131      Node for reboot method
132
133  google,pmu-intr-gen-syscon:
134    $ref: /schemas/types.yaml#/definitions/phandle
135    description:
136      Phandle to PMU interrupt generation interface.
137
138required:
139  - compatible
140  - reg
141
142additionalProperties: false
143
144allOf:
145  - if:
146      properties:
147        compatible:
148          contains:
149            enum:
150              - samsung,exynos3250-pmu
151              - samsung,exynos4210-pmu
152              - samsung,exynos4212-pmu
153              - samsung,exynos4412-pmu
154              - samsung,exynos5250-pmu
155              - samsung,exynos5410-pmu
156              - samsung,exynos5420-pmu
157              - samsung,exynos5433-pmu
158    then:
159      required:
160        - '#clock-cells'
161        - clock-names
162        - clocks
163
164  - if:
165      properties:
166        compatible:
167          contains:
168            enum:
169              - samsung,exynos3250-pmu
170              - samsung,exynos4210-pmu
171              - samsung,exynos4212-pmu
172              - samsung,exynos4412-pmu
173              - samsung,exynos5250-pmu
174              - samsung,exynos5420-pmu
175              - samsung,exynos5433-pmu
176              - samsung,exynos7870-pmu
177    then:
178      properties:
179        mipi-phy: true
180    else:
181      properties:
182        mipi-phy: false
183
184  - if:
185      properties:
186        compatible:
187          contains:
188            enum:
189              - samsung,exynos5250-pmu
190              - samsung,exynos5420-pmu
191              - samsung,exynos5433-pmu
192    then:
193      properties:
194        dp-phy: true
195    else:
196      properties:
197        dp-phy: false
198
199  - if:
200      properties:
201        compatible:
202          contains:
203            enum:
204              - google,gs101-pmu
205    then:
206      required:
207        - google,pmu-intr-gen-syscon
208    else:
209      properties:
210        google,pmu-intr-gen-syscon: false
211
212examples:
213  - |
214    #include <dt-bindings/clock/exynos5250.h>
215
216    pmu_system_controller: system-controller@10040000 {
217        compatible = "samsung,exynos5250-pmu", "syscon";
218        reg = <0x10040000 0x5000>;
219        interrupt-controller;
220        #interrupt-cells = <3>;
221        interrupt-parent = <&gic>;
222        #clock-cells = <1>;
223        clock-names = "clkout16";
224        clocks = <&clock CLK_FIN_PLL>;
225
226        dp-phy {
227            compatible = "samsung,exynos5250-dp-video-phy";
228            #phy-cells = <0>;
229        };
230
231        mipi-phy {
232            compatible = "samsung,s5pv210-mipi-video-phy";
233            #phy-cells = <1>;
234        };
235    };
~/ Read-only file preview.