# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/regulator/active-semi,act8945a.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Active-semi ACT8945a regulator maintainers: - Paul Cercueil <paul@crapouillou.net> properties: compatible: const: active-semi,act8945a reg: maxItems: 1 system-power-controller: description: Indicates that the ACT8945a is responsible for powering OFF the system. type: boolean active-semi,vsel-high: description: Indicates the VSEL pin is high. If this property is missing, the VSEL pin is assumed to be low. type: boolean regulators: type: object additionalProperties: false properties: REG_DCDC1: type: object $ref: /schemas/regulator/regulator.yaml# unevaluatedProperties: false properties: vp1-supply: description: Handle to the VP1 input supply REG_DCDC2: type: object $ref: /schemas/regulator/regulator.yaml# unevaluatedProperties: false properties: vp2-supply: description: Handle to the VP2 input supply REG_DCDC3: type: object $ref: /schemas/regulator/regulator.yaml# unevaluatedProperties: false properties: vp3-supply: description: Handle to the VP3 input supply patternProperties: "^REG_LDO[1-2]$": type: object $ref: /schemas/regulator/regulator.yaml# unevaluatedProperties: false properties: inl45-supply: description: Handle to the INL45 input supply "^REG_LDO[3-4]$": type: object $ref: /schemas/regulator/regulator.yaml# unevaluatedProperties: false properties: inl67-supply: description: Handle to the INL67 input supply charger: type: object additionalProperties: false properties: compatible: const: active-semi,act8945a-charger interrupts: maxItems: 1 active-semi,chglev-gpios: description: CGHLEV GPIO maxItems: 1 active-semi,lbo-gpios: description: LBO GPIO maxItems: 1 active-semi,input-voltage-threshold-microvolt: description: Input voltage threshold maxItems: 1 active-semi,precondition-timeout: description: Precondition timeout $ref: /schemas/types.yaml#/definitions/uint32 active-semi,total-timeout: description: Total timeout $ref: /schemas/types.yaml#/definitions/uint32 required: - compatible - interrupts additionalProperties: false required: - reg - compatible - regulators examples: - | #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/mfd/atmel-flexcom.h> #include <dt-bindings/regulator/active-semi,8945a-regulator.h> i2c { #address-cells = <1>; #size-cells = <0>; pmic@5b { compatible = "active-semi,act8945a"; reg = <0x5b>; active-semi,vsel-high; regulators { REG_DCDC1 { regulator-name = "VDD_1V35"; regulator-min-microvolt = <1350000>; regulator-max-microvolt = <1350000>; regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>, <ACT8945A_REGULATOR_MODE_LOWPOWER>; regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>; regulator-always-on; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-min-microvolt = <1400000>; regulator-suspend-max-microvolt = <1400000>; regulator-changeable-in-suspend; regulator-mode = <ACT8945A_REGULATOR_MODE_LOWPOWER>; }; }; REG_DCDC2 { regulator-name = "VDD_1V2"; regulator-min-microvolt = <1100000>; regulator-max-microvolt = <1300000>; regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>, <ACT8945A_REGULATOR_MODE_LOWPOWER>; regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>; regulator-always-on; regulator-state-mem { regulator-off-in-suspend; }; }; REG_DCDC3 { regulator-name = "VDD_3V3"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>, <ACT8945A_REGULATOR_MODE_LOWPOWER>; regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>; regulator-always-on; regulator-state-mem { regulator-off-in-suspend; }; }; REG_LDO1 { regulator-name = "VDD_FUSE"; regulator-min-microvolt = <2500000>; regulator-max-microvolt = <2500000>; regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>, <ACT8945A_REGULATOR_MODE_LOWPOWER>; regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>; regulator-always-on; regulator-state-mem { regulator-off-in-suspend; }; }; REG_LDO2 { regulator-name = "VDD_3V3_LP"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>, <ACT8945A_REGULATOR_MODE_LOWPOWER>; regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>; regulator-always-on; regulator-state-mem { regulator-off-in-suspend; }; }; REG_LDO3 { regulator-name = "VDD_LED"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>, <ACT8945A_REGULATOR_MODE_LOWPOWER>; regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>; regulator-always-on; regulator-state-mem { regulator-off-in-suspend; }; }; REG_LDO4 { regulator-name = "VDD_SDHC_1V8"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>, <ACT8945A_REGULATOR_MODE_LOWPOWER>; regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>; regulator-always-on; regulator-state-mem { regulator-off-in-suspend; }; }; }; charger { compatible = "active-semi,act8945a-charger"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_charger_chglev &pinctrl_charger_lbo &pinctrl_charger_irq>; interrupt-parent = <&pioA>; interrupts = <45 IRQ_TYPE_EDGE_RISING>; active-semi,chglev-gpios = <&pioA 12 GPIO_ACTIVE_HIGH>; active-semi,lbo-gpios = <&pioA 72 GPIO_ACTIVE_LOW>; active-semi,input-voltage-threshold-microvolt = <6600>; active-semi,precondition-timeout = <40>; active-semi,total-timeout = <3>; }; }; };