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