xref: /freebsd/sys/contrib/device-tree/Bindings/arm/samsung/pmu.yaml (revision 3110d4ebd6c0848cf5e25890d01791bb407e2a9b)
1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/arm/samsung/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          - samsung,exynos3250-pmu
19          - samsung,exynos4210-pmu
20          - samsung,exynos4412-pmu
21          - samsung,exynos5250-pmu
22          - samsung,exynos5260-pmu
23          - samsung,exynos5410-pmu
24          - samsung,exynos5420-pmu
25          - samsung,exynos5433-pmu
26          - samsung,exynos7-pmu
27  required:
28    - compatible
29
30properties:
31  compatible:
32    items:
33      - enum:
34          - samsung,exynos3250-pmu
35          - samsung,exynos4210-pmu
36          - samsung,exynos4412-pmu
37          - samsung,exynos5250-pmu
38          - samsung,exynos5260-pmu
39          - samsung,exynos5410-pmu
40          - samsung,exynos5420-pmu
41          - samsung,exynos5433-pmu
42          - samsung,exynos7-pmu
43      - const: syscon
44
45  reg:
46    maxItems: 1
47
48  '#clock-cells':
49    const: 1
50
51  clock-names:
52    description:
53      List of clock names for particular CLKOUT mux inputs
54    minItems: 1
55    maxItems: 32
56    items:
57      pattern: '^clkout([0-9]|[12][0-9]|3[0-1])$'
58
59  clocks:
60    minItems: 1
61    maxItems: 32
62
63  interrupt-controller:
64    description:
65      Some PMUs are capable of behaving as an interrupt controller (mostly
66      to wake up a suspended PMU).
67
68  '#interrupt-cells':
69    description:
70      Must be identical to the that of the parent interrupt controller.
71    const: 3
72
73  syscon-poweroff:
74    $ref: "../../power/reset/syscon-poweroff.yaml#"
75    type: object
76    description:
77      Node for power off method
78
79  syscon-reboot:
80    $ref: "../../power/reset/syscon-reboot.yaml#"
81    type: object
82    description:
83      Node for reboot method
84
85required:
86  - compatible
87  - reg
88  - '#clock-cells'
89  - clock-names
90  - clocks
91
92additionalProperties: false
93
94examples:
95  - |
96    #include <dt-bindings/clock/exynos5250.h>
97
98    pmu_system_controller: system-controller@10040000 {
99        compatible = "samsung,exynos5250-pmu", "syscon";
100        reg = <0x10040000 0x5000>;
101        interrupt-controller;
102        #interrupt-cells = <3>;
103        interrupt-parent = <&gic>;
104        #clock-cells = <1>;
105        clock-names = "clkout16";
106        clocks = <&clock CLK_FIN_PLL>;
107    };
108