xref: /freebsd/sys/contrib/device-tree/Bindings/soc/samsung/exynos-pmu.yaml (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
1e67e8565SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
2e67e8565SEmmanuel Vadot%YAML 1.2
3e67e8565SEmmanuel Vadot---
4e67e8565SEmmanuel Vadot$id: http://devicetree.org/schemas/soc/samsung/exynos-pmu.yaml#
5e67e8565SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6e67e8565SEmmanuel Vadot
7e67e8565SEmmanuel Vadottitle: Samsung Exynos SoC series Power Management Unit (PMU)
8e67e8565SEmmanuel Vadot
9e67e8565SEmmanuel Vadotmaintainers:
10e67e8565SEmmanuel Vadot  - Krzysztof Kozlowski <krzk@kernel.org>
11e67e8565SEmmanuel Vadot
12e67e8565SEmmanuel Vadot# Custom select to avoid matching all nodes with 'syscon'
13e67e8565SEmmanuel Vadotselect:
14e67e8565SEmmanuel Vadot  properties:
15e67e8565SEmmanuel Vadot    compatible:
16e67e8565SEmmanuel Vadot      contains:
17e67e8565SEmmanuel Vadot        enum:
18e67e8565SEmmanuel Vadot          - samsung,exynos3250-pmu
19e67e8565SEmmanuel Vadot          - samsung,exynos4210-pmu
20e67e8565SEmmanuel Vadot          - samsung,exynos4412-pmu
21e67e8565SEmmanuel Vadot          - samsung,exynos5250-pmu
22e67e8565SEmmanuel Vadot          - samsung,exynos5260-pmu
23e67e8565SEmmanuel Vadot          - samsung,exynos5410-pmu
24e67e8565SEmmanuel Vadot          - samsung,exynos5420-pmu
25e67e8565SEmmanuel Vadot          - samsung,exynos5433-pmu
26e67e8565SEmmanuel Vadot          - samsung,exynos7-pmu
27e67e8565SEmmanuel Vadot          - samsung,exynos850-pmu
28e67e8565SEmmanuel Vadot          - samsung-s5pv210-pmu
29e67e8565SEmmanuel Vadot  required:
30e67e8565SEmmanuel Vadot    - compatible
31e67e8565SEmmanuel Vadot
32e67e8565SEmmanuel Vadotproperties:
33e67e8565SEmmanuel Vadot  compatible:
34*cb7aa33aSEmmanuel Vadot    oneOf:
35*cb7aa33aSEmmanuel Vadot      - items:
36e67e8565SEmmanuel Vadot          - enum:
37e67e8565SEmmanuel Vadot              - samsung,exynos3250-pmu
38e67e8565SEmmanuel Vadot              - samsung,exynos4210-pmu
39e67e8565SEmmanuel Vadot              - samsung,exynos4412-pmu
40e67e8565SEmmanuel Vadot              - samsung,exynos5250-pmu
41e67e8565SEmmanuel Vadot              - samsung,exynos5260-pmu
42e67e8565SEmmanuel Vadot              - samsung,exynos5410-pmu
43e67e8565SEmmanuel Vadot              - samsung,exynos5420-pmu
44e67e8565SEmmanuel Vadot              - samsung,exynos5433-pmu
45e67e8565SEmmanuel Vadot              - samsung,exynos7-pmu
46e67e8565SEmmanuel Vadot              - samsung,exynos850-pmu
47e67e8565SEmmanuel Vadot              - samsung-s5pv210-pmu
48e67e8565SEmmanuel Vadot          - const: syscon
49*cb7aa33aSEmmanuel Vadot      - items:
50*cb7aa33aSEmmanuel Vadot          - enum:
51*cb7aa33aSEmmanuel Vadot              - samsung,exynos5250-pmu
52*cb7aa33aSEmmanuel Vadot              - samsung,exynos5420-pmu
53*cb7aa33aSEmmanuel Vadot              - samsung,exynos5433-pmu
54*cb7aa33aSEmmanuel Vadot          - const: simple-mfd
55*cb7aa33aSEmmanuel Vadot          - const: syscon
56e67e8565SEmmanuel Vadot
57e67e8565SEmmanuel Vadot  reg:
58e67e8565SEmmanuel Vadot    maxItems: 1
59e67e8565SEmmanuel Vadot
60e67e8565SEmmanuel Vadot  '#clock-cells':
61e67e8565SEmmanuel Vadot    const: 1
62e67e8565SEmmanuel Vadot
63e67e8565SEmmanuel Vadot  clock-names:
64e67e8565SEmmanuel Vadot    description:
65e67e8565SEmmanuel Vadot      List of clock names for particular CLKOUT mux inputs
66e67e8565SEmmanuel Vadot    minItems: 1
67e67e8565SEmmanuel Vadot    maxItems: 32
68e67e8565SEmmanuel Vadot    items:
69e67e8565SEmmanuel Vadot      pattern: '^clkout([0-9]|[12][0-9]|3[0-1])$'
70e67e8565SEmmanuel Vadot
71e67e8565SEmmanuel Vadot  clocks:
72e67e8565SEmmanuel Vadot    minItems: 1
73e67e8565SEmmanuel Vadot    maxItems: 32
74e67e8565SEmmanuel Vadot
75*cb7aa33aSEmmanuel Vadot  dp-phy:
76*cb7aa33aSEmmanuel Vadot    $ref: /schemas/phy/samsung,dp-video-phy.yaml
77*cb7aa33aSEmmanuel Vadot    unevaluatedProperties: false
78*cb7aa33aSEmmanuel Vadot
79e67e8565SEmmanuel Vadot  interrupt-controller:
80e67e8565SEmmanuel Vadot    description:
81e67e8565SEmmanuel Vadot      Some PMUs are capable of behaving as an interrupt controller (mostly
82e67e8565SEmmanuel Vadot      to wake up a suspended PMU).
83e67e8565SEmmanuel Vadot
84e67e8565SEmmanuel Vadot  '#interrupt-cells':
85e67e8565SEmmanuel Vadot    description:
86e67e8565SEmmanuel Vadot      Must be identical to the that of the parent interrupt controller.
87e67e8565SEmmanuel Vadot    const: 3
88e67e8565SEmmanuel Vadot
89*cb7aa33aSEmmanuel Vadot  mipi-phy:
90*cb7aa33aSEmmanuel Vadot    $ref: /schemas/phy/samsung,mipi-video-phy.yaml
91*cb7aa33aSEmmanuel Vadot    unevaluatedProperties: false
92*cb7aa33aSEmmanuel Vadot
93b97ee269SEmmanuel Vadot  reboot-mode:
94b97ee269SEmmanuel Vadot    $ref: /schemas/power/reset/syscon-reboot-mode.yaml
95b97ee269SEmmanuel Vadot    type: object
96b97ee269SEmmanuel Vadot    description:
97b97ee269SEmmanuel Vadot      Reboot mode to alter bootloader behavior for the next boot
98b97ee269SEmmanuel Vadot
99e67e8565SEmmanuel Vadot  syscon-poweroff:
100b97ee269SEmmanuel Vadot    $ref: /schemas/power/reset/syscon-poweroff.yaml#
101e67e8565SEmmanuel Vadot    type: object
102e67e8565SEmmanuel Vadot    description:
103e67e8565SEmmanuel Vadot      Node for power off method
104e67e8565SEmmanuel Vadot
105e67e8565SEmmanuel Vadot  syscon-reboot:
106b97ee269SEmmanuel Vadot    $ref: /schemas/power/reset/syscon-reboot.yaml#
107e67e8565SEmmanuel Vadot    type: object
108e67e8565SEmmanuel Vadot    description:
109e67e8565SEmmanuel Vadot      Node for reboot method
110e67e8565SEmmanuel Vadot
111e67e8565SEmmanuel Vadotrequired:
112e67e8565SEmmanuel Vadot  - compatible
113e67e8565SEmmanuel Vadot  - reg
114e67e8565SEmmanuel Vadot
115e67e8565SEmmanuel VadotadditionalProperties: false
116e67e8565SEmmanuel Vadot
117e67e8565SEmmanuel VadotallOf:
118e67e8565SEmmanuel Vadot  - if:
119e67e8565SEmmanuel Vadot      properties:
120e67e8565SEmmanuel Vadot        compatible:
121e67e8565SEmmanuel Vadot          contains:
122e67e8565SEmmanuel Vadot            enum:
123e67e8565SEmmanuel Vadot              - samsung,exynos3250-pmu
124e67e8565SEmmanuel Vadot              - samsung,exynos4210-pmu
125e67e8565SEmmanuel Vadot              - samsung,exynos4412-pmu
126e67e8565SEmmanuel Vadot              - samsung,exynos5250-pmu
127e67e8565SEmmanuel Vadot              - samsung,exynos5410-pmu
128e67e8565SEmmanuel Vadot              - samsung,exynos5420-pmu
129e67e8565SEmmanuel Vadot              - samsung,exynos5433-pmu
130e67e8565SEmmanuel Vadot    then:
131e67e8565SEmmanuel Vadot      required:
132e67e8565SEmmanuel Vadot        - '#clock-cells'
133e67e8565SEmmanuel Vadot        - clock-names
134e67e8565SEmmanuel Vadot        - clocks
135e67e8565SEmmanuel Vadot
136*cb7aa33aSEmmanuel Vadot  - if:
137*cb7aa33aSEmmanuel Vadot      properties:
138*cb7aa33aSEmmanuel Vadot        compatible:
139*cb7aa33aSEmmanuel Vadot          contains:
140*cb7aa33aSEmmanuel Vadot            enum:
141*cb7aa33aSEmmanuel Vadot              - samsung,exynos5250-pmu
142*cb7aa33aSEmmanuel Vadot              - samsung,exynos5420-pmu
143*cb7aa33aSEmmanuel Vadot              - samsung,exynos5433-pmu
144*cb7aa33aSEmmanuel Vadot    then:
145*cb7aa33aSEmmanuel Vadot      properties:
146*cb7aa33aSEmmanuel Vadot        dp-phy: true
147*cb7aa33aSEmmanuel Vadot        mipi-phy: true
148*cb7aa33aSEmmanuel Vadot    else:
149*cb7aa33aSEmmanuel Vadot      properties:
150*cb7aa33aSEmmanuel Vadot        dp-phy: false
151*cb7aa33aSEmmanuel Vadot        mipi-phy: false
152*cb7aa33aSEmmanuel Vadot
153e67e8565SEmmanuel Vadotexamples:
154e67e8565SEmmanuel Vadot  - |
155e67e8565SEmmanuel Vadot    #include <dt-bindings/clock/exynos5250.h>
156e67e8565SEmmanuel Vadot
157e67e8565SEmmanuel Vadot    pmu_system_controller: system-controller@10040000 {
158e67e8565SEmmanuel Vadot        compatible = "samsung,exynos5250-pmu", "syscon";
159e67e8565SEmmanuel Vadot        reg = <0x10040000 0x5000>;
160e67e8565SEmmanuel Vadot        interrupt-controller;
161e67e8565SEmmanuel Vadot        #interrupt-cells = <3>;
162e67e8565SEmmanuel Vadot        interrupt-parent = <&gic>;
163e67e8565SEmmanuel Vadot        #clock-cells = <1>;
164e67e8565SEmmanuel Vadot        clock-names = "clkout16";
165e67e8565SEmmanuel Vadot        clocks = <&clock CLK_FIN_PLL>;
166*cb7aa33aSEmmanuel Vadot
167*cb7aa33aSEmmanuel Vadot        dp-phy {
168*cb7aa33aSEmmanuel Vadot            compatible = "samsung,exynos5250-dp-video-phy";
169*cb7aa33aSEmmanuel Vadot            #phy-cells = <0>;
170*cb7aa33aSEmmanuel Vadot        };
171*cb7aa33aSEmmanuel Vadot
172*cb7aa33aSEmmanuel Vadot        mipi-phy {
173*cb7aa33aSEmmanuel Vadot            compatible = "samsung,s5pv210-mipi-video-phy";
174*cb7aa33aSEmmanuel Vadot            #phy-cells = <1>;
175*cb7aa33aSEmmanuel Vadot        };
176e67e8565SEmmanuel Vadot    };
177