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