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