1e67e8565SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0 2e67e8565SEmmanuel Vadot%YAML 1.2 3e67e8565SEmmanuel Vadot--- 4e67e8565SEmmanuel Vadot$id: http://devicetree.org/schemas/soc/samsung/exynos-pmu.yaml# 5e67e8565SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6e67e8565SEmmanuel Vadot 7e67e8565SEmmanuel Vadottitle: Samsung Exynos SoC series Power Management Unit (PMU) 8e67e8565SEmmanuel Vadot 9e67e8565SEmmanuel Vadotmaintainers: 10e67e8565SEmmanuel Vadot - Krzysztof Kozlowski <krzk@kernel.org> 11e67e8565SEmmanuel Vadot 12e67e8565SEmmanuel Vadot# Custom select to avoid matching all nodes with 'syscon' 13e67e8565SEmmanuel Vadotselect: 14e67e8565SEmmanuel Vadot properties: 15e67e8565SEmmanuel Vadot compatible: 16e67e8565SEmmanuel Vadot contains: 17e67e8565SEmmanuel Vadot enum: 18e67e8565SEmmanuel Vadot - samsung,exynos3250-pmu 19e67e8565SEmmanuel Vadot - samsung,exynos4210-pmu 20e67e8565SEmmanuel Vadot - samsung,exynos4412-pmu 21e67e8565SEmmanuel Vadot - samsung,exynos5250-pmu 22e67e8565SEmmanuel Vadot - samsung,exynos5260-pmu 23e67e8565SEmmanuel Vadot - samsung,exynos5410-pmu 24e67e8565SEmmanuel Vadot - samsung,exynos5420-pmu 25e67e8565SEmmanuel Vadot - samsung,exynos5433-pmu 26e67e8565SEmmanuel Vadot - samsung,exynos7-pmu 27e67e8565SEmmanuel Vadot - samsung,exynos850-pmu 28e67e8565SEmmanuel Vadot - samsung-s5pv210-pmu 29e67e8565SEmmanuel Vadot required: 30e67e8565SEmmanuel Vadot - compatible 31e67e8565SEmmanuel Vadot 32e67e8565SEmmanuel Vadotproperties: 33e67e8565SEmmanuel Vadot compatible: 34*cb7aa33aSEmmanuel Vadot oneOf: 35*cb7aa33aSEmmanuel Vadot - items: 36e67e8565SEmmanuel Vadot - enum: 37e67e8565SEmmanuel Vadot - samsung,exynos3250-pmu 38e67e8565SEmmanuel Vadot - samsung,exynos4210-pmu 39e67e8565SEmmanuel Vadot - samsung,exynos4412-pmu 40e67e8565SEmmanuel Vadot - samsung,exynos5250-pmu 41e67e8565SEmmanuel Vadot - samsung,exynos5260-pmu 42e67e8565SEmmanuel Vadot - samsung,exynos5410-pmu 43e67e8565SEmmanuel Vadot - samsung,exynos5420-pmu 44e67e8565SEmmanuel Vadot - samsung,exynos5433-pmu 45e67e8565SEmmanuel Vadot - samsung,exynos7-pmu 46e67e8565SEmmanuel Vadot - samsung,exynos850-pmu 47e67e8565SEmmanuel Vadot - samsung-s5pv210-pmu 48e67e8565SEmmanuel Vadot - const: syscon 49*cb7aa33aSEmmanuel Vadot - items: 50*cb7aa33aSEmmanuel Vadot - enum: 51*cb7aa33aSEmmanuel Vadot - samsung,exynos5250-pmu 52*cb7aa33aSEmmanuel Vadot - samsung,exynos5420-pmu 53*cb7aa33aSEmmanuel Vadot - samsung,exynos5433-pmu 54*cb7aa33aSEmmanuel Vadot - const: simple-mfd 55*cb7aa33aSEmmanuel Vadot - const: syscon 56e67e8565SEmmanuel Vadot 57e67e8565SEmmanuel Vadot reg: 58e67e8565SEmmanuel Vadot maxItems: 1 59e67e8565SEmmanuel Vadot 60e67e8565SEmmanuel Vadot '#clock-cells': 61e67e8565SEmmanuel Vadot const: 1 62e67e8565SEmmanuel Vadot 63e67e8565SEmmanuel Vadot clock-names: 64e67e8565SEmmanuel Vadot description: 65e67e8565SEmmanuel Vadot List of clock names for particular CLKOUT mux inputs 66e67e8565SEmmanuel Vadot minItems: 1 67e67e8565SEmmanuel Vadot maxItems: 32 68e67e8565SEmmanuel Vadot items: 69e67e8565SEmmanuel Vadot pattern: '^clkout([0-9]|[12][0-9]|3[0-1])$' 70e67e8565SEmmanuel Vadot 71e67e8565SEmmanuel Vadot clocks: 72e67e8565SEmmanuel Vadot minItems: 1 73e67e8565SEmmanuel Vadot maxItems: 32 74e67e8565SEmmanuel Vadot 75*cb7aa33aSEmmanuel Vadot dp-phy: 76*cb7aa33aSEmmanuel Vadot $ref: /schemas/phy/samsung,dp-video-phy.yaml 77*cb7aa33aSEmmanuel Vadot unevaluatedProperties: false 78*cb7aa33aSEmmanuel Vadot 79e67e8565SEmmanuel Vadot interrupt-controller: 80e67e8565SEmmanuel Vadot description: 81e67e8565SEmmanuel Vadot Some PMUs are capable of behaving as an interrupt controller (mostly 82e67e8565SEmmanuel Vadot to wake up a suspended PMU). 83e67e8565SEmmanuel Vadot 84e67e8565SEmmanuel Vadot '#interrupt-cells': 85e67e8565SEmmanuel Vadot description: 86e67e8565SEmmanuel Vadot Must be identical to the that of the parent interrupt controller. 87e67e8565SEmmanuel Vadot const: 3 88e67e8565SEmmanuel Vadot 89*cb7aa33aSEmmanuel Vadot mipi-phy: 90*cb7aa33aSEmmanuel Vadot $ref: /schemas/phy/samsung,mipi-video-phy.yaml 91*cb7aa33aSEmmanuel Vadot unevaluatedProperties: false 92*cb7aa33aSEmmanuel Vadot 93b97ee269SEmmanuel Vadot reboot-mode: 94b97ee269SEmmanuel Vadot $ref: /schemas/power/reset/syscon-reboot-mode.yaml 95b97ee269SEmmanuel Vadot type: object 96b97ee269SEmmanuel Vadot description: 97b97ee269SEmmanuel Vadot Reboot mode to alter bootloader behavior for the next boot 98b97ee269SEmmanuel Vadot 99e67e8565SEmmanuel Vadot syscon-poweroff: 100b97ee269SEmmanuel Vadot $ref: /schemas/power/reset/syscon-poweroff.yaml# 101e67e8565SEmmanuel Vadot type: object 102e67e8565SEmmanuel Vadot description: 103e67e8565SEmmanuel Vadot Node for power off method 104e67e8565SEmmanuel Vadot 105e67e8565SEmmanuel Vadot syscon-reboot: 106b97ee269SEmmanuel Vadot $ref: /schemas/power/reset/syscon-reboot.yaml# 107e67e8565SEmmanuel Vadot type: object 108e67e8565SEmmanuel Vadot description: 109e67e8565SEmmanuel Vadot Node for reboot method 110e67e8565SEmmanuel Vadot 111e67e8565SEmmanuel Vadotrequired: 112e67e8565SEmmanuel Vadot - compatible 113e67e8565SEmmanuel Vadot - reg 114e67e8565SEmmanuel Vadot 115e67e8565SEmmanuel VadotadditionalProperties: false 116e67e8565SEmmanuel Vadot 117e67e8565SEmmanuel VadotallOf: 118e67e8565SEmmanuel Vadot - if: 119e67e8565SEmmanuel Vadot properties: 120e67e8565SEmmanuel Vadot compatible: 121e67e8565SEmmanuel Vadot contains: 122e67e8565SEmmanuel Vadot enum: 123e67e8565SEmmanuel Vadot - samsung,exynos3250-pmu 124e67e8565SEmmanuel Vadot - samsung,exynos4210-pmu 125e67e8565SEmmanuel Vadot - samsung,exynos4412-pmu 126e67e8565SEmmanuel Vadot - samsung,exynos5250-pmu 127e67e8565SEmmanuel Vadot - samsung,exynos5410-pmu 128e67e8565SEmmanuel Vadot - samsung,exynos5420-pmu 129e67e8565SEmmanuel Vadot - samsung,exynos5433-pmu 130e67e8565SEmmanuel Vadot then: 131e67e8565SEmmanuel Vadot required: 132e67e8565SEmmanuel Vadot - '#clock-cells' 133e67e8565SEmmanuel Vadot - clock-names 134e67e8565SEmmanuel Vadot - clocks 135e67e8565SEmmanuel Vadot 136*cb7aa33aSEmmanuel Vadot - if: 137*cb7aa33aSEmmanuel Vadot properties: 138*cb7aa33aSEmmanuel Vadot compatible: 139*cb7aa33aSEmmanuel Vadot contains: 140*cb7aa33aSEmmanuel Vadot enum: 141*cb7aa33aSEmmanuel Vadot - samsung,exynos5250-pmu 142*cb7aa33aSEmmanuel Vadot - samsung,exynos5420-pmu 143*cb7aa33aSEmmanuel Vadot - samsung,exynos5433-pmu 144*cb7aa33aSEmmanuel Vadot then: 145*cb7aa33aSEmmanuel Vadot properties: 146*cb7aa33aSEmmanuel Vadot dp-phy: true 147*cb7aa33aSEmmanuel Vadot mipi-phy: true 148*cb7aa33aSEmmanuel Vadot else: 149*cb7aa33aSEmmanuel Vadot properties: 150*cb7aa33aSEmmanuel Vadot dp-phy: false 151*cb7aa33aSEmmanuel Vadot mipi-phy: false 152*cb7aa33aSEmmanuel Vadot 153e67e8565SEmmanuel Vadotexamples: 154e67e8565SEmmanuel Vadot - | 155e67e8565SEmmanuel Vadot #include <dt-bindings/clock/exynos5250.h> 156e67e8565SEmmanuel Vadot 157e67e8565SEmmanuel Vadot pmu_system_controller: system-controller@10040000 { 158e67e8565SEmmanuel Vadot compatible = "samsung,exynos5250-pmu", "syscon"; 159e67e8565SEmmanuel Vadot reg = <0x10040000 0x5000>; 160e67e8565SEmmanuel Vadot interrupt-controller; 161e67e8565SEmmanuel Vadot #interrupt-cells = <3>; 162e67e8565SEmmanuel Vadot interrupt-parent = <&gic>; 163e67e8565SEmmanuel Vadot #clock-cells = <1>; 164e67e8565SEmmanuel Vadot clock-names = "clkout16"; 165e67e8565SEmmanuel Vadot clocks = <&clock CLK_FIN_PLL>; 166*cb7aa33aSEmmanuel Vadot 167*cb7aa33aSEmmanuel Vadot dp-phy { 168*cb7aa33aSEmmanuel Vadot compatible = "samsung,exynos5250-dp-video-phy"; 169*cb7aa33aSEmmanuel Vadot #phy-cells = <0>; 170*cb7aa33aSEmmanuel Vadot }; 171*cb7aa33aSEmmanuel Vadot 172*cb7aa33aSEmmanuel Vadot mipi-phy { 173*cb7aa33aSEmmanuel Vadot compatible = "samsung,s5pv210-mipi-video-phy"; 174*cb7aa33aSEmmanuel Vadot #phy-cells = <1>; 175*cb7aa33aSEmmanuel Vadot }; 176e67e8565SEmmanuel Vadot }; 177