| # 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>; |
| }; |
| }; |
| }; |