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,exynos4412-pmu
2196c8bddbSKrzysztof Kozlowski          - samsung,exynos5250-pmu
2296c8bddbSKrzysztof Kozlowski          - samsung,exynos5260-pmu
2396c8bddbSKrzysztof Kozlowski          - samsung,exynos5410-pmu
2496c8bddbSKrzysztof Kozlowski          - samsung,exynos5420-pmu
2596c8bddbSKrzysztof Kozlowski          - samsung,exynos5433-pmu
2696c8bddbSKrzysztof Kozlowski          - samsung,exynos7-pmu
2796c8bddbSKrzysztof Kozlowski          - samsung,exynos850-pmu
2896c8bddbSKrzysztof Kozlowski          - samsung-s5pv210-pmu
2996c8bddbSKrzysztof Kozlowski  required:
3096c8bddbSKrzysztof Kozlowski    - compatible
3196c8bddbSKrzysztof Kozlowski
3296c8bddbSKrzysztof Kozlowskiproperties:
3396c8bddbSKrzysztof Kozlowski  compatible:
3496c8bddbSKrzysztof Kozlowski    items:
3596c8bddbSKrzysztof Kozlowski      - enum:
3696c8bddbSKrzysztof Kozlowski          - samsung,exynos3250-pmu
3796c8bddbSKrzysztof Kozlowski          - samsung,exynos4210-pmu
3896c8bddbSKrzysztof Kozlowski          - samsung,exynos4412-pmu
3996c8bddbSKrzysztof Kozlowski          - samsung,exynos5250-pmu
4096c8bddbSKrzysztof Kozlowski          - samsung,exynos5260-pmu
4196c8bddbSKrzysztof Kozlowski          - samsung,exynos5410-pmu
4296c8bddbSKrzysztof Kozlowski          - samsung,exynos5420-pmu
4396c8bddbSKrzysztof Kozlowski          - samsung,exynos5433-pmu
4496c8bddbSKrzysztof Kozlowski          - samsung,exynos7-pmu
4596c8bddbSKrzysztof Kozlowski          - samsung,exynos850-pmu
4696c8bddbSKrzysztof Kozlowski          - samsung-s5pv210-pmu
4796c8bddbSKrzysztof Kozlowski      - const: syscon
4896c8bddbSKrzysztof Kozlowski
4996c8bddbSKrzysztof Kozlowski  reg:
5096c8bddbSKrzysztof Kozlowski    maxItems: 1
5196c8bddbSKrzysztof Kozlowski
5296c8bddbSKrzysztof Kozlowski  '#clock-cells':
5396c8bddbSKrzysztof Kozlowski    const: 1
5496c8bddbSKrzysztof Kozlowski
5596c8bddbSKrzysztof Kozlowski  clock-names:
5696c8bddbSKrzysztof Kozlowski    description:
5796c8bddbSKrzysztof Kozlowski      List of clock names for particular CLKOUT mux inputs
5896c8bddbSKrzysztof Kozlowski    minItems: 1
5996c8bddbSKrzysztof Kozlowski    maxItems: 32
6096c8bddbSKrzysztof Kozlowski    items:
6196c8bddbSKrzysztof Kozlowski      pattern: '^clkout([0-9]|[12][0-9]|3[0-1])$'
6296c8bddbSKrzysztof Kozlowski
6396c8bddbSKrzysztof Kozlowski  clocks:
6496c8bddbSKrzysztof Kozlowski    minItems: 1
6596c8bddbSKrzysztof Kozlowski    maxItems: 32
6696c8bddbSKrzysztof Kozlowski
6796c8bddbSKrzysztof Kozlowski  interrupt-controller:
6896c8bddbSKrzysztof Kozlowski    description:
6996c8bddbSKrzysztof Kozlowski      Some PMUs are capable of behaving as an interrupt controller (mostly
7096c8bddbSKrzysztof Kozlowski      to wake up a suspended PMU).
7196c8bddbSKrzysztof Kozlowski
7296c8bddbSKrzysztof Kozlowski  '#interrupt-cells':
7396c8bddbSKrzysztof Kozlowski    description:
7496c8bddbSKrzysztof Kozlowski      Must be identical to the that of the parent interrupt controller.
7596c8bddbSKrzysztof Kozlowski    const: 3
7696c8bddbSKrzysztof Kozlowski
7796c8bddbSKrzysztof Kozlowski  syscon-poweroff:
78*61bebc29SKrzysztof Kozlowski    $ref: /schemas/power/reset/syscon-poweroff.yaml#
7996c8bddbSKrzysztof Kozlowski    type: object
8096c8bddbSKrzysztof Kozlowski    description:
8196c8bddbSKrzysztof Kozlowski      Node for power off method
8296c8bddbSKrzysztof Kozlowski
8396c8bddbSKrzysztof Kozlowski  syscon-reboot:
84*61bebc29SKrzysztof Kozlowski    $ref: /schemas/power/reset/syscon-reboot.yaml#
8596c8bddbSKrzysztof Kozlowski    type: object
8696c8bddbSKrzysztof Kozlowski    description:
8796c8bddbSKrzysztof Kozlowski      Node for reboot method
8896c8bddbSKrzysztof Kozlowski
8996c8bddbSKrzysztof Kozlowskirequired:
9096c8bddbSKrzysztof Kozlowski  - compatible
9196c8bddbSKrzysztof Kozlowski  - reg
9296c8bddbSKrzysztof Kozlowski
9396c8bddbSKrzysztof KozlowskiadditionalProperties: false
9496c8bddbSKrzysztof Kozlowski
9596c8bddbSKrzysztof KozlowskiallOf:
9696c8bddbSKrzysztof Kozlowski  - if:
9796c8bddbSKrzysztof Kozlowski      properties:
9896c8bddbSKrzysztof Kozlowski        compatible:
9996c8bddbSKrzysztof Kozlowski          contains:
10096c8bddbSKrzysztof Kozlowski            enum:
10196c8bddbSKrzysztof Kozlowski              - samsung,exynos3250-pmu
10296c8bddbSKrzysztof Kozlowski              - samsung,exynos4210-pmu
10396c8bddbSKrzysztof Kozlowski              - samsung,exynos4412-pmu
10496c8bddbSKrzysztof Kozlowski              - samsung,exynos5250-pmu
10596c8bddbSKrzysztof Kozlowski              - samsung,exynos5410-pmu
10696c8bddbSKrzysztof Kozlowski              - samsung,exynos5420-pmu
10796c8bddbSKrzysztof Kozlowski              - samsung,exynos5433-pmu
10896c8bddbSKrzysztof Kozlowski    then:
10996c8bddbSKrzysztof Kozlowski      required:
11096c8bddbSKrzysztof Kozlowski        - '#clock-cells'
11196c8bddbSKrzysztof Kozlowski        - clock-names
11296c8bddbSKrzysztof Kozlowski        - clocks
11396c8bddbSKrzysztof Kozlowski
11496c8bddbSKrzysztof Kozlowskiexamples:
11596c8bddbSKrzysztof Kozlowski  - |
11696c8bddbSKrzysztof Kozlowski    #include <dt-bindings/clock/exynos5250.h>
11796c8bddbSKrzysztof Kozlowski
11896c8bddbSKrzysztof Kozlowski    pmu_system_controller: system-controller@10040000 {
11996c8bddbSKrzysztof Kozlowski        compatible = "samsung,exynos5250-pmu", "syscon";
12096c8bddbSKrzysztof Kozlowski        reg = <0x10040000 0x5000>;
12196c8bddbSKrzysztof Kozlowski        interrupt-controller;
12296c8bddbSKrzysztof Kozlowski        #interrupt-cells = <3>;
12396c8bddbSKrzysztof Kozlowski        interrupt-parent = <&gic>;
12496c8bddbSKrzysztof Kozlowski        #clock-cells = <1>;
12596c8bddbSKrzysztof Kozlowski        clock-names = "clkout16";
12696c8bddbSKrzysztof Kozlowski        clocks = <&clock CLK_FIN_PLL>;
12796c8bddbSKrzysztof Kozlowski    };
128