1e84946ddSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only 2e84946ddSKrzysztof Kozlowski%YAML 1.2 3e84946ddSKrzysztof Kozlowski--- 4e84946ddSKrzysztof Kozlowski$id: http://devicetree.org/schemas/mfd/samsung,s2mps11.yaml# 5e84946ddSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6e84946ddSKrzysztof Kozlowski 7e84946ddSKrzysztof Kozlowskititle: Samsung S2MPS11/13/14/15 and S2MPU02 Power Management IC 8e84946ddSKrzysztof Kozlowski 9e84946ddSKrzysztof Kozlowskimaintainers: 108a1e6bb3SKrzysztof Kozlowski - Krzysztof Kozlowski <krzk@kernel.org> 11e84946ddSKrzysztof Kozlowski 12e84946ddSKrzysztof Kozlowskidescription: | 13e84946ddSKrzysztof Kozlowski This is a part of device tree bindings for S2M and S5M family of Power 14e84946ddSKrzysztof Kozlowski Management IC (PMIC). 15e84946ddSKrzysztof Kozlowski 16e84946ddSKrzysztof Kozlowski The Samsung S2MPS11/13/14/15 and S2MPU02 is a family of Power Management IC 17e84946ddSKrzysztof Kozlowski which include voltage and current regulators, RTC, clock outputs and other 18e84946ddSKrzysztof Kozlowski sub-blocks. 19e84946ddSKrzysztof Kozlowski 20e84946ddSKrzysztof Kozlowskiproperties: 21e84946ddSKrzysztof Kozlowski compatible: 22e84946ddSKrzysztof Kozlowski enum: 23e84946ddSKrzysztof Kozlowski - samsung,s2mps11-pmic 24e84946ddSKrzysztof Kozlowski - samsung,s2mps13-pmic 25e84946ddSKrzysztof Kozlowski - samsung,s2mps14-pmic 26e84946ddSKrzysztof Kozlowski - samsung,s2mps15-pmic 27e84946ddSKrzysztof Kozlowski - samsung,s2mpu02-pmic 28e84946ddSKrzysztof Kozlowski 29e84946ddSKrzysztof Kozlowski clocks: 301482489bSKrzysztof Kozlowski $ref: /schemas/clock/samsung,s2mps11.yaml 31e84946ddSKrzysztof Kozlowski description: 32e84946ddSKrzysztof Kozlowski Child node describing clock provider. 33e84946ddSKrzysztof Kozlowski 34e84946ddSKrzysztof Kozlowski interrupts: 35e84946ddSKrzysztof Kozlowski maxItems: 1 36e84946ddSKrzysztof Kozlowski 37e84946ddSKrzysztof Kozlowski reg: 38e84946ddSKrzysztof Kozlowski maxItems: 1 39e84946ddSKrzysztof Kozlowski 40e84946ddSKrzysztof Kozlowski regulators: 41e84946ddSKrzysztof Kozlowski type: object 42e84946ddSKrzysztof Kozlowski description: 43e84946ddSKrzysztof Kozlowski List of child nodes that specify the regulators. 44e84946ddSKrzysztof Kozlowski 45e84946ddSKrzysztof Kozlowski samsung,s2mps11-acokb-ground: 46e84946ddSKrzysztof Kozlowski description: | 47e84946ddSKrzysztof Kozlowski Indicates that ACOKB pin of S2MPS11 PMIC is connected to the ground so 48e84946ddSKrzysztof Kozlowski the PMIC must manually set PWRHOLD bit in CTRL1 register to turn off the 49e84946ddSKrzysztof Kozlowski power. Usually the ACOKB is pulled up to VBATT so when PWRHOLD pin goes 50e84946ddSKrzysztof Kozlowski low, the rising ACOKB will trigger power off. 51e84946ddSKrzysztof Kozlowski type: boolean 52e84946ddSKrzysztof Kozlowski 53e84946ddSKrzysztof Kozlowski samsung,s2mps11-wrstbi-ground: 54e84946ddSKrzysztof Kozlowski description: | 55e84946ddSKrzysztof Kozlowski Indicates that WRSTBI pin of PMIC is pulled down. When the system is 56*a7fcc232SYu-Chun Lin suspended it will always go down thus triggering unwanted buck warm 57e84946ddSKrzysztof Kozlowski reset (setting buck voltages to default values). 58e84946ddSKrzysztof Kozlowski type: boolean 59e84946ddSKrzysztof Kozlowski 60e84946ddSKrzysztof Kozlowski wakeup-source: true 61e84946ddSKrzysztof Kozlowski 62e84946ddSKrzysztof Kozlowskirequired: 63e84946ddSKrzysztof Kozlowski - compatible 64e84946ddSKrzysztof Kozlowski - reg 65e84946ddSKrzysztof Kozlowski - regulators 66e84946ddSKrzysztof Kozlowski 67e84946ddSKrzysztof KozlowskiadditionalProperties: false 68e84946ddSKrzysztof Kozlowski 69e84946ddSKrzysztof KozlowskiallOf: 70e84946ddSKrzysztof Kozlowski - if: 71e84946ddSKrzysztof Kozlowski properties: 72e84946ddSKrzysztof Kozlowski compatible: 73e84946ddSKrzysztof Kozlowski contains: 74e84946ddSKrzysztof Kozlowski const: samsung,s2mps11-pmic 75e84946ddSKrzysztof Kozlowski then: 76e84946ddSKrzysztof Kozlowski properties: 77e84946ddSKrzysztof Kozlowski regulators: 781482489bSKrzysztof Kozlowski $ref: /schemas/regulator/samsung,s2mps11.yaml 79e84946ddSKrzysztof Kozlowski samsung,s2mps11-wrstbi-ground: false 80e84946ddSKrzysztof Kozlowski 81e84946ddSKrzysztof Kozlowski - if: 82e84946ddSKrzysztof Kozlowski properties: 83e84946ddSKrzysztof Kozlowski compatible: 84e84946ddSKrzysztof Kozlowski contains: 85e84946ddSKrzysztof Kozlowski const: samsung,s2mps13-pmic 86e84946ddSKrzysztof Kozlowski then: 87e84946ddSKrzysztof Kozlowski properties: 88e84946ddSKrzysztof Kozlowski regulators: 891482489bSKrzysztof Kozlowski $ref: /schemas/regulator/samsung,s2mps13.yaml 90e84946ddSKrzysztof Kozlowski samsung,s2mps11-acokb-ground: false 91e84946ddSKrzysztof Kozlowski 92e84946ddSKrzysztof Kozlowski - if: 93e84946ddSKrzysztof Kozlowski properties: 94e84946ddSKrzysztof Kozlowski compatible: 95e84946ddSKrzysztof Kozlowski contains: 96e84946ddSKrzysztof Kozlowski const: samsung,s2mps14-pmic 97e84946ddSKrzysztof Kozlowski then: 98e84946ddSKrzysztof Kozlowski properties: 99e84946ddSKrzysztof Kozlowski regulators: 1001482489bSKrzysztof Kozlowski $ref: /schemas/regulator/samsung,s2mps14.yaml 101e84946ddSKrzysztof Kozlowski samsung,s2mps11-acokb-ground: false 102e84946ddSKrzysztof Kozlowski samsung,s2mps11-wrstbi-ground: false 103e84946ddSKrzysztof Kozlowski 104e84946ddSKrzysztof Kozlowski - if: 105e84946ddSKrzysztof Kozlowski properties: 106e84946ddSKrzysztof Kozlowski compatible: 107e84946ddSKrzysztof Kozlowski contains: 108e84946ddSKrzysztof Kozlowski const: samsung,s2mps15-pmic 109e84946ddSKrzysztof Kozlowski then: 110e84946ddSKrzysztof Kozlowski properties: 111e84946ddSKrzysztof Kozlowski regulators: 1121482489bSKrzysztof Kozlowski $ref: /schemas/regulator/samsung,s2mps15.yaml 113e84946ddSKrzysztof Kozlowski samsung,s2mps11-acokb-ground: false 114e84946ddSKrzysztof Kozlowski samsung,s2mps11-wrstbi-ground: false 115e84946ddSKrzysztof Kozlowski 116e84946ddSKrzysztof Kozlowski - if: 117e84946ddSKrzysztof Kozlowski properties: 118e84946ddSKrzysztof Kozlowski compatible: 119e84946ddSKrzysztof Kozlowski contains: 120e84946ddSKrzysztof Kozlowski const: samsung,s2mpu02-pmic 121e84946ddSKrzysztof Kozlowski then: 122e84946ddSKrzysztof Kozlowski properties: 123e84946ddSKrzysztof Kozlowski regulators: 1241482489bSKrzysztof Kozlowski $ref: /schemas/regulator/samsung,s2mpu02.yaml 125e84946ddSKrzysztof Kozlowski samsung,s2mps11-acokb-ground: false 126e84946ddSKrzysztof Kozlowski samsung,s2mps11-wrstbi-ground: false 127e84946ddSKrzysztof Kozlowski 128e84946ddSKrzysztof Kozlowskiexamples: 129e84946ddSKrzysztof Kozlowski - | 130e84946ddSKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/irq.h> 131e84946ddSKrzysztof Kozlowski 132e84946ddSKrzysztof Kozlowski i2c { 133e84946ddSKrzysztof Kozlowski #address-cells = <1>; 134e84946ddSKrzysztof Kozlowski #size-cells = <0>; 135e84946ddSKrzysztof Kozlowski 136e84946ddSKrzysztof Kozlowski pmic@66 { 137e84946ddSKrzysztof Kozlowski compatible = "samsung,s2mps11-pmic"; 138e84946ddSKrzysztof Kozlowski reg = <0x66>; 139e84946ddSKrzysztof Kozlowski 140e84946ddSKrzysztof Kozlowski interrupt-parent = <&gpx0>; 141e84946ddSKrzysztof Kozlowski interrupts = <4 IRQ_TYPE_LEVEL_LOW>; 142e84946ddSKrzysztof Kozlowski pinctrl-names = "default"; 143e84946ddSKrzysztof Kozlowski pinctrl-0 = <&s2mps11_irq>; 144e84946ddSKrzysztof Kozlowski samsung,s2mps11-acokb-ground; 145e84946ddSKrzysztof Kozlowski wakeup-source; 146e84946ddSKrzysztof Kozlowski 147e84946ddSKrzysztof Kozlowski clocks { 148e84946ddSKrzysztof Kozlowski compatible = "samsung,s2mps11-clk"; 149e84946ddSKrzysztof Kozlowski #clock-cells = <1>; 150e84946ddSKrzysztof Kozlowski clock-output-names = "s2mps11_ap", "s2mps11_cp", "s2mps11_bt"; 151e84946ddSKrzysztof Kozlowski }; 152e84946ddSKrzysztof Kozlowski 153e84946ddSKrzysztof Kozlowski regulators { 154e84946ddSKrzysztof Kozlowski LDO1 { 155e84946ddSKrzysztof Kozlowski regulator-name = "vdd_ldo1"; 156e84946ddSKrzysztof Kozlowski regulator-min-microvolt = <1000000>; 157e84946ddSKrzysztof Kozlowski regulator-max-microvolt = <1000000>; 158e84946ddSKrzysztof Kozlowski regulator-always-on; 159e84946ddSKrzysztof Kozlowski }; 160e84946ddSKrzysztof Kozlowski 161e84946ddSKrzysztof Kozlowski LDO4 { 162e84946ddSKrzysztof Kozlowski regulator-name = "vdd_adc"; 163e84946ddSKrzysztof Kozlowski regulator-min-microvolt = <1800000>; 164e84946ddSKrzysztof Kozlowski regulator-max-microvolt = <1800000>; 165e84946ddSKrzysztof Kozlowski 166e84946ddSKrzysztof Kozlowski regulator-state-mem { 167e84946ddSKrzysztof Kozlowski regulator-off-in-suspend; 168e84946ddSKrzysztof Kozlowski }; 169e84946ddSKrzysztof Kozlowski }; 170e84946ddSKrzysztof Kozlowski 171e84946ddSKrzysztof Kozlowski // .... 172e84946ddSKrzysztof Kozlowski 173e84946ddSKrzysztof Kozlowski BUCK1 { 174e84946ddSKrzysztof Kozlowski regulator-name = "vdd_mif"; 175e84946ddSKrzysztof Kozlowski regulator-min-microvolt = <800000>; 176e84946ddSKrzysztof Kozlowski regulator-max-microvolt = <1300000>; 177e84946ddSKrzysztof Kozlowski regulator-always-on; 178e84946ddSKrzysztof Kozlowski regulator-boot-on; 179e84946ddSKrzysztof Kozlowski 180e84946ddSKrzysztof Kozlowski regulator-state-mem { 181e84946ddSKrzysztof Kozlowski regulator-off-in-suspend; 182e84946ddSKrzysztof Kozlowski }; 183e84946ddSKrzysztof Kozlowski }; 184e84946ddSKrzysztof Kozlowski 185e84946ddSKrzysztof Kozlowski BUCK2 { 186e84946ddSKrzysztof Kozlowski regulator-name = "vdd_arm"; 187e84946ddSKrzysztof Kozlowski regulator-min-microvolt = <800000>; 188e84946ddSKrzysztof Kozlowski regulator-max-microvolt = <1500000>; 189e84946ddSKrzysztof Kozlowski regulator-always-on; 190e84946ddSKrzysztof Kozlowski regulator-boot-on; 191e84946ddSKrzysztof Kozlowski regulator-coupled-with = <&buck3_reg>; 192e84946ddSKrzysztof Kozlowski regulator-coupled-max-spread = <300000>; 193e84946ddSKrzysztof Kozlowski 194e84946ddSKrzysztof Kozlowski regulator-state-mem { 195e84946ddSKrzysztof Kozlowski regulator-off-in-suspend; 196e84946ddSKrzysztof Kozlowski }; 197e84946ddSKrzysztof Kozlowski }; 198e84946ddSKrzysztof Kozlowski 199e84946ddSKrzysztof Kozlowski BUCK3 { 200e84946ddSKrzysztof Kozlowski regulator-name = "vdd_int"; 201e84946ddSKrzysztof Kozlowski regulator-min-microvolt = <800000>; 202e84946ddSKrzysztof Kozlowski regulator-max-microvolt = <1400000>; 203e84946ddSKrzysztof Kozlowski regulator-always-on; 204e84946ddSKrzysztof Kozlowski regulator-boot-on; 205e84946ddSKrzysztof Kozlowski regulator-coupled-with = <&buck2_reg>; 206e84946ddSKrzysztof Kozlowski regulator-coupled-max-spread = <300000>; 207e84946ddSKrzysztof Kozlowski 208e84946ddSKrzysztof Kozlowski regulator-state-mem { 209e84946ddSKrzysztof Kozlowski regulator-off-in-suspend; 210e84946ddSKrzysztof Kozlowski }; 211e84946ddSKrzysztof Kozlowski }; 212e84946ddSKrzysztof Kozlowski 213e84946ddSKrzysztof Kozlowski // ... 214e84946ddSKrzysztof Kozlowski }; 215e84946ddSKrzysztof Kozlowski }; 216e84946ddSKrzysztof Kozlowski }; 217e84946ddSKrzysztof Kozlowski 218e84946ddSKrzysztof Kozlowski - | 219e84946ddSKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/irq.h> 220e84946ddSKrzysztof Kozlowski 221e84946ddSKrzysztof Kozlowski i2c { 222e84946ddSKrzysztof Kozlowski #address-cells = <1>; 223e84946ddSKrzysztof Kozlowski #size-cells = <0>; 224e84946ddSKrzysztof Kozlowski 225e84946ddSKrzysztof Kozlowski pmic@66 { 226e84946ddSKrzysztof Kozlowski compatible = "samsung,s2mps14-pmic"; 227e84946ddSKrzysztof Kozlowski reg = <0x66>; 228e84946ddSKrzysztof Kozlowski 229e84946ddSKrzysztof Kozlowski interrupt-parent = <&gpx0>; 230e84946ddSKrzysztof Kozlowski interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 231e84946ddSKrzysztof Kozlowski wakeup-source; 232e84946ddSKrzysztof Kozlowski 233e84946ddSKrzysztof Kozlowski clocks { 234e84946ddSKrzysztof Kozlowski compatible = "samsung,s2mps14-clk"; 235e84946ddSKrzysztof Kozlowski #clock-cells = <1>; 236e84946ddSKrzysztof Kozlowski clock-output-names = "s2mps14_ap", "unused", "s2mps14_bt"; 237e84946ddSKrzysztof Kozlowski }; 238e84946ddSKrzysztof Kozlowski 239e84946ddSKrzysztof Kozlowski regulators { 240e84946ddSKrzysztof Kozlowski LDO1 { 241e84946ddSKrzysztof Kozlowski regulator-name = "VLDO1_1.0V"; 242e84946ddSKrzysztof Kozlowski regulator-min-microvolt = <1000000>; 243e84946ddSKrzysztof Kozlowski regulator-max-microvolt = <1000000>; 244e84946ddSKrzysztof Kozlowski regulator-always-on; 245e84946ddSKrzysztof Kozlowski 246e84946ddSKrzysztof Kozlowski regulator-state-mem { 247e84946ddSKrzysztof Kozlowski regulator-on-in-suspend; 248e84946ddSKrzysztof Kozlowski }; 249e84946ddSKrzysztof Kozlowski }; 250e84946ddSKrzysztof Kozlowski 251e84946ddSKrzysztof Kozlowski // ... 252e84946ddSKrzysztof Kozlowski 253e84946ddSKrzysztof Kozlowski BUCK1 { 254e84946ddSKrzysztof Kozlowski regulator-name = "VBUCK1_1.0V"; 255e84946ddSKrzysztof Kozlowski regulator-min-microvolt = <800000>; 256e84946ddSKrzysztof Kozlowski regulator-max-microvolt = <1000000>; 257e84946ddSKrzysztof Kozlowski regulator-always-on; 258e84946ddSKrzysztof Kozlowski 259e84946ddSKrzysztof Kozlowski regulator-state-mem { 260e84946ddSKrzysztof Kozlowski regulator-off-in-suspend; 261e84946ddSKrzysztof Kozlowski }; 262e84946ddSKrzysztof Kozlowski }; 263e84946ddSKrzysztof Kozlowski 264e84946ddSKrzysztof Kozlowski // ... 265e84946ddSKrzysztof Kozlowski }; 266e84946ddSKrzysztof Kozlowski }; 267e84946ddSKrzysztof Kozlowski }; 268