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