xref: /openbmc/linux/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
196c8bddbSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0
296c8bddbSKrzysztof Kozlowski%YAML 1.2
396c8bddbSKrzysztof Kozlowski---
496c8bddbSKrzysztof Kozlowski$id: http://devicetree.org/schemas/soc/samsung/exynos-pmu.yaml#
596c8bddbSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
696c8bddbSKrzysztof Kozlowski
796c8bddbSKrzysztof Kozlowskititle: Samsung Exynos SoC series Power Management Unit (PMU)
896c8bddbSKrzysztof Kozlowski
996c8bddbSKrzysztof Kozlowskimaintainers:
1096c8bddbSKrzysztof Kozlowski  - Krzysztof Kozlowski <krzk@kernel.org>
1196c8bddbSKrzysztof Kozlowski
1296c8bddbSKrzysztof Kozlowski# Custom select to avoid matching all nodes with 'syscon'
1396c8bddbSKrzysztof Kozlowskiselect:
1496c8bddbSKrzysztof Kozlowski  properties:
1596c8bddbSKrzysztof Kozlowski    compatible:
1696c8bddbSKrzysztof Kozlowski      contains:
1796c8bddbSKrzysztof Kozlowski        enum:
1896c8bddbSKrzysztof Kozlowski          - samsung,exynos3250-pmu
1996c8bddbSKrzysztof Kozlowski          - samsung,exynos4210-pmu
2096c8bddbSKrzysztof Kozlowski          - samsung,exynos4212-pmu
2196c8bddbSKrzysztof Kozlowski          - samsung,exynos4412-pmu
2296c8bddbSKrzysztof Kozlowski          - samsung,exynos5250-pmu
2396c8bddbSKrzysztof Kozlowski          - samsung,exynos5260-pmu
2496c8bddbSKrzysztof Kozlowski          - samsung,exynos5410-pmu
2596c8bddbSKrzysztof Kozlowski          - samsung,exynos5420-pmu
2696c8bddbSKrzysztof Kozlowski          - samsung,exynos5433-pmu
2796c8bddbSKrzysztof Kozlowski          - samsung,exynos7-pmu
2896c8bddbSKrzysztof Kozlowski          - samsung,exynos850-pmu
2996c8bddbSKrzysztof Kozlowski          - samsung-s5pv210-pmu
3096c8bddbSKrzysztof Kozlowski  required:
3196c8bddbSKrzysztof Kozlowski    - compatible
3296c8bddbSKrzysztof Kozlowski
3396c8bddbSKrzysztof Kozlowskiproperties:
34fe6a952bSKrzysztof Kozlowski  compatible:
35fe6a952bSKrzysztof Kozlowski    oneOf:
3696c8bddbSKrzysztof Kozlowski      - items:
3796c8bddbSKrzysztof Kozlowski          - enum:
3896c8bddbSKrzysztof Kozlowski              - samsung,exynos3250-pmu
3996c8bddbSKrzysztof Kozlowski              - samsung,exynos4210-pmu
4096c8bddbSKrzysztof Kozlowski              - samsung,exynos4212-pmu
4196c8bddbSKrzysztof Kozlowski              - samsung,exynos4412-pmu
4296c8bddbSKrzysztof Kozlowski              - samsung,exynos5250-pmu
4396c8bddbSKrzysztof Kozlowski              - samsung,exynos5260-pmu
4496c8bddbSKrzysztof Kozlowski              - samsung,exynos5410-pmu
4596c8bddbSKrzysztof Kozlowski              - samsung,exynos5420-pmu
4696c8bddbSKrzysztof Kozlowski              - samsung,exynos5433-pmu
4796c8bddbSKrzysztof Kozlowski              - samsung,exynos7-pmu
4896c8bddbSKrzysztof Kozlowski              - samsung,exynos850-pmu
49fe6a952bSKrzysztof Kozlowski              - samsung-s5pv210-pmu
50fe6a952bSKrzysztof Kozlowski          - const: syscon
51*e154a338SKrzysztof Kozlowski      - items:
52*e154a338SKrzysztof Kozlowski          - enum:
53*e154a338SKrzysztof Kozlowski              - samsung,exynos3250-pmu
54fe6a952bSKrzysztof Kozlowski              - samsung,exynos4210-pmu
55fe6a952bSKrzysztof Kozlowski              - samsung,exynos4212-pmu
56fe6a952bSKrzysztof Kozlowski              - samsung,exynos4412-pmu
57fe6a952bSKrzysztof Kozlowski              - samsung,exynos5250-pmu
58fe6a952bSKrzysztof Kozlowski              - samsung,exynos5420-pmu
5996c8bddbSKrzysztof Kozlowski              - samsung,exynos5433-pmu
6096c8bddbSKrzysztof Kozlowski          - const: simple-mfd
6196c8bddbSKrzysztof Kozlowski          - const: syscon
6296c8bddbSKrzysztof Kozlowski
6396c8bddbSKrzysztof Kozlowski  reg:
6496c8bddbSKrzysztof Kozlowski    maxItems: 1
6596c8bddbSKrzysztof Kozlowski
6696c8bddbSKrzysztof Kozlowski  '#clock-cells':
6796c8bddbSKrzysztof Kozlowski    const: 1
6896c8bddbSKrzysztof Kozlowski
6996c8bddbSKrzysztof Kozlowski  clock-names:
7096c8bddbSKrzysztof Kozlowski    description:
7196c8bddbSKrzysztof Kozlowski      List of clock names for particular CLKOUT mux inputs
7296c8bddbSKrzysztof Kozlowski    minItems: 1
7396c8bddbSKrzysztof Kozlowski    maxItems: 32
7496c8bddbSKrzysztof Kozlowski    items:
7596c8bddbSKrzysztof Kozlowski      pattern: '^clkout([0-9]|[12][0-9]|3[0-1])$'
7696c8bddbSKrzysztof Kozlowski
7796c8bddbSKrzysztof Kozlowski  clocks:
78fe6a952bSKrzysztof Kozlowski    minItems: 1
79fe6a952bSKrzysztof Kozlowski    maxItems: 32
80fe6a952bSKrzysztof Kozlowski
81fe6a952bSKrzysztof Kozlowski  dp-phy:
8296c8bddbSKrzysztof Kozlowski    $ref: /schemas/phy/samsung,dp-video-phy.yaml
8396c8bddbSKrzysztof Kozlowski    unevaluatedProperties: false
8496c8bddbSKrzysztof Kozlowski
8596c8bddbSKrzysztof Kozlowski  interrupt-controller:
8696c8bddbSKrzysztof Kozlowski    description:
8796c8bddbSKrzysztof Kozlowski      Some PMUs are capable of behaving as an interrupt controller (mostly
8896c8bddbSKrzysztof Kozlowski      to wake up a suspended PMU).
8996c8bddbSKrzysztof Kozlowski
9096c8bddbSKrzysztof Kozlowski  '#interrupt-cells':
9196c8bddbSKrzysztof Kozlowski    description:
92fe6a952bSKrzysztof Kozlowski      Must be identical to the that of the parent interrupt controller.
93fe6a952bSKrzysztof Kozlowski    const: 3
94fe6a952bSKrzysztof Kozlowski
95fe6a952bSKrzysztof Kozlowski  mipi-phy:
963e27bf71SKrzysztof Kozlowski    $ref: /schemas/phy/samsung,mipi-video-phy.yaml
973e27bf71SKrzysztof Kozlowski    unevaluatedProperties: false
983e27bf71SKrzysztof Kozlowski
993e27bf71SKrzysztof Kozlowski  reboot-mode:
1003e27bf71SKrzysztof Kozlowski    $ref: /schemas/power/reset/syscon-reboot-mode.yaml
1013e27bf71SKrzysztof Kozlowski    type: object
10296c8bddbSKrzysztof Kozlowski    description:
10361bebc29SKrzysztof Kozlowski      Reboot mode to alter bootloader behavior for the next boot
10496c8bddbSKrzysztof Kozlowski
10596c8bddbSKrzysztof Kozlowski  syscon-poweroff:
10696c8bddbSKrzysztof Kozlowski    $ref: /schemas/power/reset/syscon-poweroff.yaml#
10796c8bddbSKrzysztof Kozlowski    type: object
10896c8bddbSKrzysztof Kozlowski    description:
10961bebc29SKrzysztof Kozlowski      Node for power off method
11096c8bddbSKrzysztof Kozlowski
11196c8bddbSKrzysztof Kozlowski  syscon-reboot:
11296c8bddbSKrzysztof Kozlowski    $ref: /schemas/power/reset/syscon-reboot.yaml#
11396c8bddbSKrzysztof Kozlowski    type: object
11496c8bddbSKrzysztof Kozlowski    description:
11596c8bddbSKrzysztof Kozlowski      Node for reboot method
11696c8bddbSKrzysztof Kozlowski
11796c8bddbSKrzysztof Kozlowskirequired:
11896c8bddbSKrzysztof Kozlowski  - compatible
11996c8bddbSKrzysztof Kozlowski  - reg
12096c8bddbSKrzysztof Kozlowski
12196c8bddbSKrzysztof KozlowskiadditionalProperties: false
12296c8bddbSKrzysztof Kozlowski
12396c8bddbSKrzysztof KozlowskiallOf:
12496c8bddbSKrzysztof Kozlowski  - if:
12596c8bddbSKrzysztof Kozlowski      properties:
12696c8bddbSKrzysztof Kozlowski        compatible:
12796c8bddbSKrzysztof Kozlowski          contains:
12896c8bddbSKrzysztof Kozlowski            enum:
12996c8bddbSKrzysztof Kozlowski              - samsung,exynos3250-pmu
13096c8bddbSKrzysztof Kozlowski              - samsung,exynos4210-pmu
13196c8bddbSKrzysztof Kozlowski              - samsung,exynos4212-pmu
13296c8bddbSKrzysztof Kozlowski              - samsung,exynos4412-pmu
13396c8bddbSKrzysztof Kozlowski              - samsung,exynos5250-pmu
13496c8bddbSKrzysztof Kozlowski              - samsung,exynos5410-pmu
13596c8bddbSKrzysztof Kozlowski              - samsung,exynos5420-pmu
13696c8bddbSKrzysztof Kozlowski              - samsung,exynos5433-pmu
13796c8bddbSKrzysztof Kozlowski    then:
13896c8bddbSKrzysztof Kozlowski      required:
139fe6a952bSKrzysztof Kozlowski        - '#clock-cells'
140fe6a952bSKrzysztof Kozlowski        - clock-names
141fe6a952bSKrzysztof Kozlowski        - clocks
142fe6a952bSKrzysztof Kozlowski
143fe6a952bSKrzysztof Kozlowski  - if:
144*e154a338SKrzysztof Kozlowski      properties:
145*e154a338SKrzysztof Kozlowski        compatible:
146*e154a338SKrzysztof Kozlowski          contains:
147*e154a338SKrzysztof Kozlowski            enum:
148*e154a338SKrzysztof Kozlowski              - samsung,exynos3250-pmu
149*e154a338SKrzysztof Kozlowski              - samsung,exynos4210-pmu
150*e154a338SKrzysztof Kozlowski              - samsung,exynos4212-pmu
151*e154a338SKrzysztof Kozlowski              - samsung,exynos4412-pmu
152*e154a338SKrzysztof Kozlowski              - samsung,exynos5250-pmu
153*e154a338SKrzysztof Kozlowski              - samsung,exynos5420-pmu
154*e154a338SKrzysztof Kozlowski              - samsung,exynos5433-pmu
155*e154a338SKrzysztof Kozlowski    then:
156*e154a338SKrzysztof Kozlowski      properties:
157*e154a338SKrzysztof Kozlowski        mipi-phy: true
158*e154a338SKrzysztof Kozlowski    else:
159*e154a338SKrzysztof Kozlowski      properties:
160*e154a338SKrzysztof Kozlowski        mipi-phy: false
161*e154a338SKrzysztof Kozlowski
162fe6a952bSKrzysztof Kozlowski  - if:
163fe6a952bSKrzysztof Kozlowski      properties:
164fe6a952bSKrzysztof Kozlowski        compatible:
165fe6a952bSKrzysztof Kozlowski          contains:
166fe6a952bSKrzysztof Kozlowski            enum:
167fe6a952bSKrzysztof Kozlowski              - samsung,exynos5250-pmu
168fe6a952bSKrzysztof Kozlowski              - samsung,exynos5420-pmu
169fe6a952bSKrzysztof Kozlowski              - samsung,exynos5433-pmu
170fe6a952bSKrzysztof Kozlowski    then:
171fe6a952bSKrzysztof Kozlowski      properties:
17296c8bddbSKrzysztof Kozlowski        dp-phy: true
17396c8bddbSKrzysztof Kozlowski    else:
17496c8bddbSKrzysztof Kozlowski      properties:
17596c8bddbSKrzysztof Kozlowski        dp-phy: false
17696c8bddbSKrzysztof Kozlowski
17796c8bddbSKrzysztof Kozlowskiexamples:
17896c8bddbSKrzysztof Kozlowski  - |
17996c8bddbSKrzysztof Kozlowski    #include <dt-bindings/clock/exynos5250.h>
18096c8bddbSKrzysztof Kozlowski
18196c8bddbSKrzysztof Kozlowski    pmu_system_controller: system-controller@10040000 {
18296c8bddbSKrzysztof Kozlowski        compatible = "samsung,exynos5250-pmu", "syscon";
18396c8bddbSKrzysztof Kozlowski        reg = <0x10040000 0x5000>;
18496c8bddbSKrzysztof Kozlowski        interrupt-controller;
185fe6a952bSKrzysztof Kozlowski        #interrupt-cells = <3>;
186fe6a952bSKrzysztof Kozlowski        interrupt-parent = <&gic>;
187fe6a952bSKrzysztof Kozlowski        #clock-cells = <1>;
188fe6a952bSKrzysztof Kozlowski        clock-names = "clkout16";
189fe6a952bSKrzysztof Kozlowski        clocks = <&clock CLK_FIN_PLL>;
190fe6a952bSKrzysztof Kozlowski
191fe6a952bSKrzysztof Kozlowski        dp-phy {
192fe6a952bSKrzysztof Kozlowski            compatible = "samsung,exynos5250-dp-video-phy";
193fe6a952bSKrzysztof Kozlowski            #phy-cells = <0>;
194fe6a952bSKrzysztof Kozlowski        };
19596c8bddbSKrzysztof Kozlowski
196        mipi-phy {
197            compatible = "samsung,s5pv210-mipi-video-phy";
198            #phy-cells = <1>;
199        };
200    };
201