xref: /freebsd/sys/contrib/device-tree/Bindings/soc/samsung/exynos-pmu.yaml (revision b97ee269eae3cbaf35c18f51a459aea581c2a7dc)
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:
34e67e8565SEmmanuel Vadot    items:
35e67e8565SEmmanuel Vadot      - enum:
36e67e8565SEmmanuel Vadot          - samsung,exynos3250-pmu
37e67e8565SEmmanuel Vadot          - samsung,exynos4210-pmu
38e67e8565SEmmanuel Vadot          - samsung,exynos4412-pmu
39e67e8565SEmmanuel Vadot          - samsung,exynos5250-pmu
40e67e8565SEmmanuel Vadot          - samsung,exynos5260-pmu
41e67e8565SEmmanuel Vadot          - samsung,exynos5410-pmu
42e67e8565SEmmanuel Vadot          - samsung,exynos5420-pmu
43e67e8565SEmmanuel Vadot          - samsung,exynos5433-pmu
44e67e8565SEmmanuel Vadot          - samsung,exynos7-pmu
45e67e8565SEmmanuel Vadot          - samsung,exynos850-pmu
46e67e8565SEmmanuel Vadot          - samsung-s5pv210-pmu
47e67e8565SEmmanuel Vadot      - const: syscon
48e67e8565SEmmanuel Vadot
49e67e8565SEmmanuel Vadot  reg:
50e67e8565SEmmanuel Vadot    maxItems: 1
51e67e8565SEmmanuel Vadot
52e67e8565SEmmanuel Vadot  '#clock-cells':
53e67e8565SEmmanuel Vadot    const: 1
54e67e8565SEmmanuel Vadot
55e67e8565SEmmanuel Vadot  clock-names:
56e67e8565SEmmanuel Vadot    description:
57e67e8565SEmmanuel Vadot      List of clock names for particular CLKOUT mux inputs
58e67e8565SEmmanuel Vadot    minItems: 1
59e67e8565SEmmanuel Vadot    maxItems: 32
60e67e8565SEmmanuel Vadot    items:
61e67e8565SEmmanuel Vadot      pattern: '^clkout([0-9]|[12][0-9]|3[0-1])$'
62e67e8565SEmmanuel Vadot
63e67e8565SEmmanuel Vadot  clocks:
64e67e8565SEmmanuel Vadot    minItems: 1
65e67e8565SEmmanuel Vadot    maxItems: 32
66e67e8565SEmmanuel Vadot
67e67e8565SEmmanuel Vadot  interrupt-controller:
68e67e8565SEmmanuel Vadot    description:
69e67e8565SEmmanuel Vadot      Some PMUs are capable of behaving as an interrupt controller (mostly
70e67e8565SEmmanuel Vadot      to wake up a suspended PMU).
71e67e8565SEmmanuel Vadot
72e67e8565SEmmanuel Vadot  '#interrupt-cells':
73e67e8565SEmmanuel Vadot    description:
74e67e8565SEmmanuel Vadot      Must be identical to the that of the parent interrupt controller.
75e67e8565SEmmanuel Vadot    const: 3
76e67e8565SEmmanuel Vadot
77*b97ee269SEmmanuel Vadot  reboot-mode:
78*b97ee269SEmmanuel Vadot    $ref: /schemas/power/reset/syscon-reboot-mode.yaml
79*b97ee269SEmmanuel Vadot    type: object
80*b97ee269SEmmanuel Vadot    description:
81*b97ee269SEmmanuel Vadot      Reboot mode to alter bootloader behavior for the next boot
82*b97ee269SEmmanuel Vadot
83e67e8565SEmmanuel Vadot  syscon-poweroff:
84*b97ee269SEmmanuel Vadot    $ref: /schemas/power/reset/syscon-poweroff.yaml#
85e67e8565SEmmanuel Vadot    type: object
86e67e8565SEmmanuel Vadot    description:
87e67e8565SEmmanuel Vadot      Node for power off method
88e67e8565SEmmanuel Vadot
89e67e8565SEmmanuel Vadot  syscon-reboot:
90*b97ee269SEmmanuel Vadot    $ref: /schemas/power/reset/syscon-reboot.yaml#
91e67e8565SEmmanuel Vadot    type: object
92e67e8565SEmmanuel Vadot    description:
93e67e8565SEmmanuel Vadot      Node for reboot method
94e67e8565SEmmanuel Vadot
95e67e8565SEmmanuel Vadotrequired:
96e67e8565SEmmanuel Vadot  - compatible
97e67e8565SEmmanuel Vadot  - reg
98e67e8565SEmmanuel Vadot
99e67e8565SEmmanuel VadotadditionalProperties: false
100e67e8565SEmmanuel Vadot
101e67e8565SEmmanuel VadotallOf:
102e67e8565SEmmanuel Vadot  - if:
103e67e8565SEmmanuel Vadot      properties:
104e67e8565SEmmanuel Vadot        compatible:
105e67e8565SEmmanuel Vadot          contains:
106e67e8565SEmmanuel Vadot            enum:
107e67e8565SEmmanuel Vadot              - samsung,exynos3250-pmu
108e67e8565SEmmanuel Vadot              - samsung,exynos4210-pmu
109e67e8565SEmmanuel Vadot              - samsung,exynos4412-pmu
110e67e8565SEmmanuel Vadot              - samsung,exynos5250-pmu
111e67e8565SEmmanuel Vadot              - samsung,exynos5410-pmu
112e67e8565SEmmanuel Vadot              - samsung,exynos5420-pmu
113e67e8565SEmmanuel Vadot              - samsung,exynos5433-pmu
114e67e8565SEmmanuel Vadot    then:
115e67e8565SEmmanuel Vadot      required:
116e67e8565SEmmanuel Vadot        - '#clock-cells'
117e67e8565SEmmanuel Vadot        - clock-names
118e67e8565SEmmanuel Vadot        - clocks
119e67e8565SEmmanuel Vadot
120e67e8565SEmmanuel Vadotexamples:
121e67e8565SEmmanuel Vadot  - |
122e67e8565SEmmanuel Vadot    #include <dt-bindings/clock/exynos5250.h>
123e67e8565SEmmanuel Vadot
124e67e8565SEmmanuel Vadot    pmu_system_controller: system-controller@10040000 {
125e67e8565SEmmanuel Vadot        compatible = "samsung,exynos5250-pmu", "syscon";
126e67e8565SEmmanuel Vadot        reg = <0x10040000 0x5000>;
127e67e8565SEmmanuel Vadot        interrupt-controller;
128e67e8565SEmmanuel Vadot        #interrupt-cells = <3>;
129e67e8565SEmmanuel Vadot        interrupt-parent = <&gic>;
130e67e8565SEmmanuel Vadot        #clock-cells = <1>;
131e67e8565SEmmanuel Vadot        clock-names = "clkout16";
132e67e8565SEmmanuel Vadot        clocks = <&clock CLK_FIN_PLL>;
133e67e8565SEmmanuel Vadot    };
134