162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/regulator/active-semi,act8945a.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Active-semi ACT8945a regulator 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Paul Cercueil <paul@crapouillou.net> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ciproperties: 1362306a36Sopenharmony_ci compatible: 1462306a36Sopenharmony_ci const: active-semi,act8945a 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci reg: 1762306a36Sopenharmony_ci maxItems: 1 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci system-power-controller: 2062306a36Sopenharmony_ci description: 2162306a36Sopenharmony_ci Indicates that the ACT8945a is responsible for powering OFF 2262306a36Sopenharmony_ci the system. 2362306a36Sopenharmony_ci type: boolean 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci active-semi,vsel-high: 2662306a36Sopenharmony_ci description: 2762306a36Sopenharmony_ci Indicates the VSEL pin is high. If this property is missing, 2862306a36Sopenharmony_ci the VSEL pin is assumed to be low. 2962306a36Sopenharmony_ci type: boolean 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci regulators: 3262306a36Sopenharmony_ci type: object 3362306a36Sopenharmony_ci additionalProperties: false 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci properties: 3662306a36Sopenharmony_ci REG_DCDC1: 3762306a36Sopenharmony_ci type: object 3862306a36Sopenharmony_ci $ref: /schemas/regulator/regulator.yaml# 3962306a36Sopenharmony_ci unevaluatedProperties: false 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci properties: 4262306a36Sopenharmony_ci vp1-supply: 4362306a36Sopenharmony_ci description: Handle to the VP1 input supply 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci REG_DCDC2: 4662306a36Sopenharmony_ci type: object 4762306a36Sopenharmony_ci $ref: /schemas/regulator/regulator.yaml# 4862306a36Sopenharmony_ci unevaluatedProperties: false 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci properties: 5162306a36Sopenharmony_ci vp2-supply: 5262306a36Sopenharmony_ci description: Handle to the VP2 input supply 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci REG_DCDC3: 5562306a36Sopenharmony_ci type: object 5662306a36Sopenharmony_ci $ref: /schemas/regulator/regulator.yaml# 5762306a36Sopenharmony_ci unevaluatedProperties: false 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci properties: 6062306a36Sopenharmony_ci vp3-supply: 6162306a36Sopenharmony_ci description: Handle to the VP3 input supply 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci patternProperties: 6462306a36Sopenharmony_ci "^REG_LDO[1-2]$": 6562306a36Sopenharmony_ci type: object 6662306a36Sopenharmony_ci $ref: /schemas/regulator/regulator.yaml# 6762306a36Sopenharmony_ci unevaluatedProperties: false 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci properties: 7062306a36Sopenharmony_ci inl45-supply: 7162306a36Sopenharmony_ci description: Handle to the INL45 input supply 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci "^REG_LDO[3-4]$": 7462306a36Sopenharmony_ci type: object 7562306a36Sopenharmony_ci $ref: /schemas/regulator/regulator.yaml# 7662306a36Sopenharmony_ci unevaluatedProperties: false 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci properties: 7962306a36Sopenharmony_ci inl67-supply: 8062306a36Sopenharmony_ci description: Handle to the INL67 input supply 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci charger: 8362306a36Sopenharmony_ci type: object 8462306a36Sopenharmony_ci additionalProperties: false 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci properties: 8762306a36Sopenharmony_ci compatible: 8862306a36Sopenharmony_ci const: active-semi,act8945a-charger 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci interrupts: 9162306a36Sopenharmony_ci maxItems: 1 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ci active-semi,chglev-gpios: 9462306a36Sopenharmony_ci description: CGHLEV GPIO 9562306a36Sopenharmony_ci maxItems: 1 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci active-semi,lbo-gpios: 9862306a36Sopenharmony_ci description: LBO GPIO 9962306a36Sopenharmony_ci maxItems: 1 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci active-semi,input-voltage-threshold-microvolt: 10262306a36Sopenharmony_ci description: Input voltage threshold 10362306a36Sopenharmony_ci maxItems: 1 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ci active-semi,precondition-timeout: 10662306a36Sopenharmony_ci description: Precondition timeout 10762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci active-semi,total-timeout: 11062306a36Sopenharmony_ci description: Total timeout 11162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ci required: 11462306a36Sopenharmony_ci - compatible 11562306a36Sopenharmony_ci - interrupts 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ciadditionalProperties: false 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_cirequired: 12062306a36Sopenharmony_ci - reg 12162306a36Sopenharmony_ci - compatible 12262306a36Sopenharmony_ci - regulators 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ciexamples: 12562306a36Sopenharmony_ci - | 12662306a36Sopenharmony_ci #include <dt-bindings/gpio/gpio.h> 12762306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 12862306a36Sopenharmony_ci #include <dt-bindings/mfd/atmel-flexcom.h> 12962306a36Sopenharmony_ci #include <dt-bindings/regulator/active-semi,8945a-regulator.h> 13062306a36Sopenharmony_ci 13162306a36Sopenharmony_ci i2c { 13262306a36Sopenharmony_ci #address-cells = <1>; 13362306a36Sopenharmony_ci #size-cells = <0>; 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ci pmic@5b { 13662306a36Sopenharmony_ci compatible = "active-semi,act8945a"; 13762306a36Sopenharmony_ci reg = <0x5b>; 13862306a36Sopenharmony_ci active-semi,vsel-high; 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci regulators { 14162306a36Sopenharmony_ci REG_DCDC1 { 14262306a36Sopenharmony_ci regulator-name = "VDD_1V35"; 14362306a36Sopenharmony_ci regulator-min-microvolt = <1350000>; 14462306a36Sopenharmony_ci regulator-max-microvolt = <1350000>; 14562306a36Sopenharmony_ci regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>, 14662306a36Sopenharmony_ci <ACT8945A_REGULATOR_MODE_LOWPOWER>; 14762306a36Sopenharmony_ci regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>; 14862306a36Sopenharmony_ci regulator-always-on; 14962306a36Sopenharmony_ci 15062306a36Sopenharmony_ci regulator-state-mem { 15162306a36Sopenharmony_ci regulator-on-in-suspend; 15262306a36Sopenharmony_ci regulator-suspend-min-microvolt = <1400000>; 15362306a36Sopenharmony_ci regulator-suspend-max-microvolt = <1400000>; 15462306a36Sopenharmony_ci regulator-changeable-in-suspend; 15562306a36Sopenharmony_ci regulator-mode = <ACT8945A_REGULATOR_MODE_LOWPOWER>; 15662306a36Sopenharmony_ci }; 15762306a36Sopenharmony_ci }; 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ci REG_DCDC2 { 16062306a36Sopenharmony_ci regulator-name = "VDD_1V2"; 16162306a36Sopenharmony_ci regulator-min-microvolt = <1100000>; 16262306a36Sopenharmony_ci regulator-max-microvolt = <1300000>; 16362306a36Sopenharmony_ci regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>, 16462306a36Sopenharmony_ci <ACT8945A_REGULATOR_MODE_LOWPOWER>; 16562306a36Sopenharmony_ci regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>; 16662306a36Sopenharmony_ci regulator-always-on; 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ci regulator-state-mem { 16962306a36Sopenharmony_ci regulator-off-in-suspend; 17062306a36Sopenharmony_ci }; 17162306a36Sopenharmony_ci }; 17262306a36Sopenharmony_ci 17362306a36Sopenharmony_ci REG_DCDC3 { 17462306a36Sopenharmony_ci regulator-name = "VDD_3V3"; 17562306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 17662306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 17762306a36Sopenharmony_ci regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>, 17862306a36Sopenharmony_ci <ACT8945A_REGULATOR_MODE_LOWPOWER>; 17962306a36Sopenharmony_ci regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>; 18062306a36Sopenharmony_ci regulator-always-on; 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ci regulator-state-mem { 18362306a36Sopenharmony_ci regulator-off-in-suspend; 18462306a36Sopenharmony_ci }; 18562306a36Sopenharmony_ci }; 18662306a36Sopenharmony_ci 18762306a36Sopenharmony_ci REG_LDO1 { 18862306a36Sopenharmony_ci regulator-name = "VDD_FUSE"; 18962306a36Sopenharmony_ci regulator-min-microvolt = <2500000>; 19062306a36Sopenharmony_ci regulator-max-microvolt = <2500000>; 19162306a36Sopenharmony_ci regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>, 19262306a36Sopenharmony_ci <ACT8945A_REGULATOR_MODE_LOWPOWER>; 19362306a36Sopenharmony_ci regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>; 19462306a36Sopenharmony_ci regulator-always-on; 19562306a36Sopenharmony_ci 19662306a36Sopenharmony_ci regulator-state-mem { 19762306a36Sopenharmony_ci regulator-off-in-suspend; 19862306a36Sopenharmony_ci }; 19962306a36Sopenharmony_ci }; 20062306a36Sopenharmony_ci 20162306a36Sopenharmony_ci REG_LDO2 { 20262306a36Sopenharmony_ci regulator-name = "VDD_3V3_LP"; 20362306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 20462306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 20562306a36Sopenharmony_ci regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>, 20662306a36Sopenharmony_ci <ACT8945A_REGULATOR_MODE_LOWPOWER>; 20762306a36Sopenharmony_ci regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>; 20862306a36Sopenharmony_ci regulator-always-on; 20962306a36Sopenharmony_ci 21062306a36Sopenharmony_ci regulator-state-mem { 21162306a36Sopenharmony_ci regulator-off-in-suspend; 21262306a36Sopenharmony_ci }; 21362306a36Sopenharmony_ci }; 21462306a36Sopenharmony_ci 21562306a36Sopenharmony_ci REG_LDO3 { 21662306a36Sopenharmony_ci regulator-name = "VDD_LED"; 21762306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 21862306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 21962306a36Sopenharmony_ci regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>, 22062306a36Sopenharmony_ci <ACT8945A_REGULATOR_MODE_LOWPOWER>; 22162306a36Sopenharmony_ci regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>; 22262306a36Sopenharmony_ci regulator-always-on; 22362306a36Sopenharmony_ci 22462306a36Sopenharmony_ci regulator-state-mem { 22562306a36Sopenharmony_ci regulator-off-in-suspend; 22662306a36Sopenharmony_ci }; 22762306a36Sopenharmony_ci }; 22862306a36Sopenharmony_ci 22962306a36Sopenharmony_ci REG_LDO4 { 23062306a36Sopenharmony_ci regulator-name = "VDD_SDHC_1V8"; 23162306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 23262306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 23362306a36Sopenharmony_ci regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>, 23462306a36Sopenharmony_ci <ACT8945A_REGULATOR_MODE_LOWPOWER>; 23562306a36Sopenharmony_ci regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>; 23662306a36Sopenharmony_ci regulator-always-on; 23762306a36Sopenharmony_ci 23862306a36Sopenharmony_ci regulator-state-mem { 23962306a36Sopenharmony_ci regulator-off-in-suspend; 24062306a36Sopenharmony_ci }; 24162306a36Sopenharmony_ci }; 24262306a36Sopenharmony_ci }; 24362306a36Sopenharmony_ci 24462306a36Sopenharmony_ci charger { 24562306a36Sopenharmony_ci compatible = "active-semi,act8945a-charger"; 24662306a36Sopenharmony_ci pinctrl-names = "default"; 24762306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_charger_chglev &pinctrl_charger_lbo &pinctrl_charger_irq>; 24862306a36Sopenharmony_ci interrupt-parent = <&pioA>; 24962306a36Sopenharmony_ci interrupts = <45 IRQ_TYPE_EDGE_RISING>; 25062306a36Sopenharmony_ci 25162306a36Sopenharmony_ci active-semi,chglev-gpios = <&pioA 12 GPIO_ACTIVE_HIGH>; 25262306a36Sopenharmony_ci active-semi,lbo-gpios = <&pioA 72 GPIO_ACTIVE_LOW>; 25362306a36Sopenharmony_ci active-semi,input-voltage-threshold-microvolt = <6600>; 25462306a36Sopenharmony_ci active-semi,precondition-timeout = <40>; 25562306a36Sopenharmony_ci active-semi,total-timeout = <3>; 25662306a36Sopenharmony_ci }; 25762306a36Sopenharmony_ci }; 25862306a36Sopenharmony_ci }; 259