0001 # SPDX-License-Identifier: GPL-2.0
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/soc/samsung/exynos-pmu.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Samsung Exynos SoC series Power Management Unit (PMU)
0008
0009 maintainers:
0010 - Krzysztof Kozlowski <krzk@kernel.org>
0011
0012 # Custom select to avoid matching all nodes with 'syscon'
0013 select:
0014 properties:
0015 compatible:
0016 contains:
0017 enum:
0018 - samsung,exynos3250-pmu
0019 - samsung,exynos4210-pmu
0020 - samsung,exynos4412-pmu
0021 - samsung,exynos5250-pmu
0022 - samsung,exynos5260-pmu
0023 - samsung,exynos5410-pmu
0024 - samsung,exynos5420-pmu
0025 - samsung,exynos5433-pmu
0026 - samsung,exynos7-pmu
0027 - samsung,exynos850-pmu
0028 - samsung-s5pv210-pmu
0029 required:
0030 - compatible
0031
0032 properties:
0033 compatible:
0034 items:
0035 - enum:
0036 - samsung,exynos3250-pmu
0037 - samsung,exynos4210-pmu
0038 - samsung,exynos4412-pmu
0039 - samsung,exynos5250-pmu
0040 - samsung,exynos5260-pmu
0041 - samsung,exynos5410-pmu
0042 - samsung,exynos5420-pmu
0043 - samsung,exynos5433-pmu
0044 - samsung,exynos7-pmu
0045 - samsung,exynos850-pmu
0046 - samsung-s5pv210-pmu
0047 - const: syscon
0048
0049 reg:
0050 maxItems: 1
0051
0052 '#clock-cells':
0053 const: 1
0054
0055 clock-names:
0056 description:
0057 List of clock names for particular CLKOUT mux inputs
0058 minItems: 1
0059 maxItems: 32
0060 items:
0061 pattern: '^clkout([0-9]|[12][0-9]|3[0-1])$'
0062
0063 clocks:
0064 minItems: 1
0065 maxItems: 32
0066
0067 interrupt-controller:
0068 description:
0069 Some PMUs are capable of behaving as an interrupt controller (mostly
0070 to wake up a suspended PMU).
0071
0072 '#interrupt-cells':
0073 description:
0074 Must be identical to the that of the parent interrupt controller.
0075 const: 3
0076
0077 reboot-mode:
0078 $ref: /schemas/power/reset/syscon-reboot-mode.yaml
0079 type: object
0080 description:
0081 Reboot mode to alter bootloader behavior for the next boot
0082
0083 syscon-poweroff:
0084 $ref: /schemas/power/reset/syscon-poweroff.yaml#
0085 type: object
0086 description:
0087 Node for power off method
0088
0089 syscon-reboot:
0090 $ref: /schemas/power/reset/syscon-reboot.yaml#
0091 type: object
0092 description:
0093 Node for reboot method
0094
0095 required:
0096 - compatible
0097 - reg
0098
0099 additionalProperties: false
0100
0101 allOf:
0102 - if:
0103 properties:
0104 compatible:
0105 contains:
0106 enum:
0107 - samsung,exynos3250-pmu
0108 - samsung,exynos4210-pmu
0109 - samsung,exynos4412-pmu
0110 - samsung,exynos5250-pmu
0111 - samsung,exynos5410-pmu
0112 - samsung,exynos5420-pmu
0113 - samsung,exynos5433-pmu
0114 then:
0115 required:
0116 - '#clock-cells'
0117 - clock-names
0118 - clocks
0119
0120 examples:
0121 - |
0122 #include <dt-bindings/clock/exynos5250.h>
0123
0124 pmu_system_controller: system-controller@10040000 {
0125 compatible = "samsung,exynos5250-pmu", "syscon";
0126 reg = <0x10040000 0x5000>;
0127 interrupt-controller;
0128 #interrupt-cells = <3>;
0129 interrupt-parent = <&gic>;
0130 #clock-cells = <1>;
0131 clock-names = "clkout16";
0132 clocks = <&clock CLK_FIN_PLL>;
0133 };