1*96c8bddbSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0 2*96c8bddbSKrzysztof Kozlowski%YAML 1.2 3*96c8bddbSKrzysztof Kozlowski--- 4*96c8bddbSKrzysztof Kozlowski$id: http://devicetree.org/schemas/soc/samsung/exynos-pmu.yaml# 5*96c8bddbSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6*96c8bddbSKrzysztof Kozlowski 7*96c8bddbSKrzysztof Kozlowskititle: Samsung Exynos SoC series Power Management Unit (PMU) 8*96c8bddbSKrzysztof Kozlowski 9*96c8bddbSKrzysztof Kozlowskimaintainers: 10*96c8bddbSKrzysztof Kozlowski - Krzysztof Kozlowski <krzk@kernel.org> 11*96c8bddbSKrzysztof Kozlowski 12*96c8bddbSKrzysztof Kozlowski# Custom select to avoid matching all nodes with 'syscon' 13*96c8bddbSKrzysztof Kozlowskiselect: 14*96c8bddbSKrzysztof Kozlowski properties: 15*96c8bddbSKrzysztof Kozlowski compatible: 16*96c8bddbSKrzysztof Kozlowski contains: 17*96c8bddbSKrzysztof Kozlowski enum: 18*96c8bddbSKrzysztof Kozlowski - samsung,exynos3250-pmu 19*96c8bddbSKrzysztof Kozlowski - samsung,exynos4210-pmu 20*96c8bddbSKrzysztof Kozlowski - samsung,exynos4412-pmu 21*96c8bddbSKrzysztof Kozlowski - samsung,exynos5250-pmu 22*96c8bddbSKrzysztof Kozlowski - samsung,exynos5260-pmu 23*96c8bddbSKrzysztof Kozlowski - samsung,exynos5410-pmu 24*96c8bddbSKrzysztof Kozlowski - samsung,exynos5420-pmu 25*96c8bddbSKrzysztof Kozlowski - samsung,exynos5433-pmu 26*96c8bddbSKrzysztof Kozlowski - samsung,exynos7-pmu 27*96c8bddbSKrzysztof Kozlowski - samsung,exynos850-pmu 28*96c8bddbSKrzysztof Kozlowski - samsung-s5pv210-pmu 29*96c8bddbSKrzysztof Kozlowski required: 30*96c8bddbSKrzysztof Kozlowski - compatible 31*96c8bddbSKrzysztof Kozlowski 32*96c8bddbSKrzysztof Kozlowskiproperties: 33*96c8bddbSKrzysztof Kozlowski compatible: 34*96c8bddbSKrzysztof Kozlowski items: 35*96c8bddbSKrzysztof Kozlowski - enum: 36*96c8bddbSKrzysztof Kozlowski - samsung,exynos3250-pmu 37*96c8bddbSKrzysztof Kozlowski - samsung,exynos4210-pmu 38*96c8bddbSKrzysztof Kozlowski - samsung,exynos4412-pmu 39*96c8bddbSKrzysztof Kozlowski - samsung,exynos5250-pmu 40*96c8bddbSKrzysztof Kozlowski - samsung,exynos5260-pmu 41*96c8bddbSKrzysztof Kozlowski - samsung,exynos5410-pmu 42*96c8bddbSKrzysztof Kozlowski - samsung,exynos5420-pmu 43*96c8bddbSKrzysztof Kozlowski - samsung,exynos5433-pmu 44*96c8bddbSKrzysztof Kozlowski - samsung,exynos7-pmu 45*96c8bddbSKrzysztof Kozlowski - samsung,exynos850-pmu 46*96c8bddbSKrzysztof Kozlowski - samsung-s5pv210-pmu 47*96c8bddbSKrzysztof Kozlowski - const: syscon 48*96c8bddbSKrzysztof Kozlowski 49*96c8bddbSKrzysztof Kozlowski reg: 50*96c8bddbSKrzysztof Kozlowski maxItems: 1 51*96c8bddbSKrzysztof Kozlowski 52*96c8bddbSKrzysztof Kozlowski assigned-clock-parents: true 53*96c8bddbSKrzysztof Kozlowski assigned-clocks: true 54*96c8bddbSKrzysztof Kozlowski 55*96c8bddbSKrzysztof Kozlowski '#clock-cells': 56*96c8bddbSKrzysztof Kozlowski const: 1 57*96c8bddbSKrzysztof Kozlowski 58*96c8bddbSKrzysztof Kozlowski clock-names: 59*96c8bddbSKrzysztof Kozlowski description: 60*96c8bddbSKrzysztof Kozlowski List of clock names for particular CLKOUT mux inputs 61*96c8bddbSKrzysztof Kozlowski minItems: 1 62*96c8bddbSKrzysztof Kozlowski maxItems: 32 63*96c8bddbSKrzysztof Kozlowski items: 64*96c8bddbSKrzysztof Kozlowski pattern: '^clkout([0-9]|[12][0-9]|3[0-1])$' 65*96c8bddbSKrzysztof Kozlowski 66*96c8bddbSKrzysztof Kozlowski clocks: 67*96c8bddbSKrzysztof Kozlowski minItems: 1 68*96c8bddbSKrzysztof Kozlowski maxItems: 32 69*96c8bddbSKrzysztof Kozlowski 70*96c8bddbSKrzysztof Kozlowski interrupt-controller: 71*96c8bddbSKrzysztof Kozlowski description: 72*96c8bddbSKrzysztof Kozlowski Some PMUs are capable of behaving as an interrupt controller (mostly 73*96c8bddbSKrzysztof Kozlowski to wake up a suspended PMU). 74*96c8bddbSKrzysztof Kozlowski 75*96c8bddbSKrzysztof Kozlowski '#interrupt-cells': 76*96c8bddbSKrzysztof Kozlowski description: 77*96c8bddbSKrzysztof Kozlowski Must be identical to the that of the parent interrupt controller. 78*96c8bddbSKrzysztof Kozlowski const: 3 79*96c8bddbSKrzysztof Kozlowski 80*96c8bddbSKrzysztof Kozlowski syscon-poweroff: 81*96c8bddbSKrzysztof Kozlowski $ref: "../../power/reset/syscon-poweroff.yaml#" 82*96c8bddbSKrzysztof Kozlowski type: object 83*96c8bddbSKrzysztof Kozlowski description: 84*96c8bddbSKrzysztof Kozlowski Node for power off method 85*96c8bddbSKrzysztof Kozlowski 86*96c8bddbSKrzysztof Kozlowski syscon-reboot: 87*96c8bddbSKrzysztof Kozlowski $ref: "../../power/reset/syscon-reboot.yaml#" 88*96c8bddbSKrzysztof Kozlowski type: object 89*96c8bddbSKrzysztof Kozlowski description: 90*96c8bddbSKrzysztof Kozlowski Node for reboot method 91*96c8bddbSKrzysztof Kozlowski 92*96c8bddbSKrzysztof Kozlowskirequired: 93*96c8bddbSKrzysztof Kozlowski - compatible 94*96c8bddbSKrzysztof Kozlowski - reg 95*96c8bddbSKrzysztof Kozlowski 96*96c8bddbSKrzysztof KozlowskiadditionalProperties: false 97*96c8bddbSKrzysztof Kozlowski 98*96c8bddbSKrzysztof KozlowskiallOf: 99*96c8bddbSKrzysztof Kozlowski - if: 100*96c8bddbSKrzysztof Kozlowski properties: 101*96c8bddbSKrzysztof Kozlowski compatible: 102*96c8bddbSKrzysztof Kozlowski contains: 103*96c8bddbSKrzysztof Kozlowski enum: 104*96c8bddbSKrzysztof Kozlowski - samsung,exynos3250-pmu 105*96c8bddbSKrzysztof Kozlowski - samsung,exynos4210-pmu 106*96c8bddbSKrzysztof Kozlowski - samsung,exynos4412-pmu 107*96c8bddbSKrzysztof Kozlowski - samsung,exynos5250-pmu 108*96c8bddbSKrzysztof Kozlowski - samsung,exynos5410-pmu 109*96c8bddbSKrzysztof Kozlowski - samsung,exynos5420-pmu 110*96c8bddbSKrzysztof Kozlowski - samsung,exynos5433-pmu 111*96c8bddbSKrzysztof Kozlowski then: 112*96c8bddbSKrzysztof Kozlowski required: 113*96c8bddbSKrzysztof Kozlowski - '#clock-cells' 114*96c8bddbSKrzysztof Kozlowski - clock-names 115*96c8bddbSKrzysztof Kozlowski - clocks 116*96c8bddbSKrzysztof Kozlowski 117*96c8bddbSKrzysztof Kozlowskiexamples: 118*96c8bddbSKrzysztof Kozlowski - | 119*96c8bddbSKrzysztof Kozlowski #include <dt-bindings/clock/exynos5250.h> 120*96c8bddbSKrzysztof Kozlowski 121*96c8bddbSKrzysztof Kozlowski pmu_system_controller: system-controller@10040000 { 122*96c8bddbSKrzysztof Kozlowski compatible = "samsung,exynos5250-pmu", "syscon"; 123*96c8bddbSKrzysztof Kozlowski reg = <0x10040000 0x5000>; 124*96c8bddbSKrzysztof Kozlowski interrupt-controller; 125*96c8bddbSKrzysztof Kozlowski #interrupt-cells = <3>; 126*96c8bddbSKrzysztof Kozlowski interrupt-parent = <&gic>; 127*96c8bddbSKrzysztof Kozlowski #clock-cells = <1>; 128*96c8bddbSKrzysztof Kozlowski clock-names = "clkout16"; 129*96c8bddbSKrzysztof Kozlowski clocks = <&clock CLK_FIN_PLL>; 130*96c8bddbSKrzysztof Kozlowski }; 131