1# SPDX-License-Identifier: GPL-2.0 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/soc/samsung/exynos-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,exynos4212-pmu 21 - samsung,exynos4412-pmu 22 - samsung,exynos5250-pmu 23 - samsung,exynos5260-pmu 24 - samsung,exynos5410-pmu 25 - samsung,exynos5420-pmu 26 - samsung,exynos5433-pmu 27 - samsung,exynos7-pmu 28 - samsung,exynos850-pmu 29 - samsung-s5pv210-pmu 30 required: 31 - compatible 32 33properties: 34 compatible: 35 oneOf: 36 - items: 37 - enum: 38 - samsung,exynos3250-pmu 39 - samsung,exynos4210-pmu 40 - samsung,exynos4212-pmu 41 - samsung,exynos4412-pmu 42 - samsung,exynos5250-pmu 43 - samsung,exynos5260-pmu 44 - samsung,exynos5410-pmu 45 - samsung,exynos5420-pmu 46 - samsung,exynos5433-pmu 47 - samsung,exynos7-pmu 48 - samsung,exynos850-pmu 49 - samsung-s5pv210-pmu 50 - const: syscon 51 - items: 52 - enum: 53 - samsung,exynos7885-pmu 54 - samsung,exynosautov9-pmu 55 - const: samsung,exynos7-pmu 56 - const: syscon 57 - items: 58 - enum: 59 - samsung,exynos3250-pmu 60 - samsung,exynos4210-pmu 61 - samsung,exynos4212-pmu 62 - samsung,exynos4412-pmu 63 - samsung,exynos5250-pmu 64 - samsung,exynos5420-pmu 65 - samsung,exynos5433-pmu 66 - const: simple-mfd 67 - const: syscon 68 69 reg: 70 maxItems: 1 71 72 '#clock-cells': 73 const: 1 74 75 clock-names: 76 description: 77 List of clock names for particular CLKOUT mux inputs 78 minItems: 1 79 maxItems: 32 80 items: 81 pattern: '^clkout([0-9]|[12][0-9]|3[0-1])$' 82 83 clocks: 84 minItems: 1 85 maxItems: 32 86 87 dp-phy: 88 $ref: /schemas/phy/samsung,dp-video-phy.yaml 89 unevaluatedProperties: false 90 91 interrupt-controller: 92 description: 93 Some PMUs are capable of behaving as an interrupt controller (mostly 94 to wake up a suspended PMU). 95 96 '#interrupt-cells': 97 description: 98 Must be identical to the that of the parent interrupt controller. 99 const: 3 100 101 mipi-phy: 102 $ref: /schemas/phy/samsung,mipi-video-phy.yaml 103 unevaluatedProperties: false 104 105 reboot-mode: 106 $ref: /schemas/power/reset/syscon-reboot-mode.yaml 107 type: object 108 description: 109 Reboot mode to alter bootloader behavior for the next boot 110 111 syscon-poweroff: 112 $ref: /schemas/power/reset/syscon-poweroff.yaml# 113 type: object 114 description: 115 Node for power off method 116 117 syscon-reboot: 118 $ref: /schemas/power/reset/syscon-reboot.yaml# 119 type: object 120 description: 121 Node for reboot method 122 123required: 124 - compatible 125 - reg 126 127additionalProperties: false 128 129allOf: 130 - if: 131 properties: 132 compatible: 133 contains: 134 enum: 135 - samsung,exynos3250-pmu 136 - samsung,exynos4210-pmu 137 - samsung,exynos4212-pmu 138 - samsung,exynos4412-pmu 139 - samsung,exynos5250-pmu 140 - samsung,exynos5410-pmu 141 - samsung,exynos5420-pmu 142 - samsung,exynos5433-pmu 143 then: 144 required: 145 - '#clock-cells' 146 - clock-names 147 - clocks 148 149 - if: 150 properties: 151 compatible: 152 contains: 153 enum: 154 - samsung,exynos3250-pmu 155 - samsung,exynos4210-pmu 156 - samsung,exynos4212-pmu 157 - samsung,exynos4412-pmu 158 - samsung,exynos5250-pmu 159 - samsung,exynos5420-pmu 160 - samsung,exynos5433-pmu 161 then: 162 properties: 163 mipi-phy: true 164 else: 165 properties: 166 mipi-phy: false 167 168 - if: 169 properties: 170 compatible: 171 contains: 172 enum: 173 - samsung,exynos5250-pmu 174 - samsung,exynos5420-pmu 175 - samsung,exynos5433-pmu 176 then: 177 properties: 178 dp-phy: true 179 else: 180 properties: 181 dp-phy: false 182 183examples: 184 - | 185 #include <dt-bindings/clock/exynos5250.h> 186 187 pmu_system_controller: system-controller@10040000 { 188 compatible = "samsung,exynos5250-pmu", "syscon"; 189 reg = <0x10040000 0x5000>; 190 interrupt-controller; 191 #interrupt-cells = <3>; 192 interrupt-parent = <&gic>; 193 #clock-cells = <1>; 194 clock-names = "clkout16"; 195 clocks = <&clock CLK_FIN_PLL>; 196 197 dp-phy { 198 compatible = "samsung,exynos5250-dp-video-phy"; 199 #phy-cells = <0>; 200 }; 201 202 mipi-phy { 203 compatible = "samsung,s5pv210-mipi-video-phy"; 204 #phy-cells = <1>; 205 }; 206 }; 207