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