# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/actions,atc260x.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Actions Semi ATC260x Power Management IC bindings

maintainers:
  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  - Cristian Ciocaltea <cristian.ciocaltea@gmail.com>

description: |
  ATC260x series PMICs integrates Audio Codec, Power Management, RTC, IR
  and GPIO controller blocks. Currently only the PM related functionalities
  (i.e. regulators and system power-off/reboot) for the ATC2603C and ATC2609A
  chip variants are supported.
  ATC2603C includes 3 programmable DC-DC converters, 9 programmable LDO
  regulators and 1 fixed LDO regulator.
  ATC2609A includes 5 programmable DC-DC converters and 10 programmable LDO
  regulators.

allOf:
  - $ref: ../input/input.yaml

properties:
  compatible:
    enum:
      - actions,atc2603c
      - actions,atc2609a

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  reset-time-sec:
    description: |
      Duration in seconds which the key should be kept pressed for device
      to reset automatically. The hardware default is 8. Use 0 to disable
      this functionality.
    enum: [0, 6, 8, 10, 12]

  regulators:
    type: object
    description: |
      List of child nodes specifying the regulators, depending on chip variant:
      * ATC2603C: dcdc[1-3], ldo[1-3,5-8,11,12], switchldo1
      * ATC2609A: dcdc[0-4], ldo[0-9]

    properties:
      compatible:
        enum:
          - actions,atc2603c-regulator
          - actions,atc2609a-regulator

      switchldo1:
        type: object
        $ref: ../regulator/regulator.yaml

        properties:
          regulator-name: true
          regulator-boot-on: true
          regulator-always-on: true
          regulator-min-microvolt: true
          regulator-max-microvolt: true
          regulator-allow-bypass: true
          regulator-active-discharge: true

        additionalProperties: false

    patternProperties:
      "^(dcdc[0-4]|ldo[0-9]|ldo1[1-2]|switchldo1)-supply$":
        description: ATC260x voltage regulators supplies

      "^(dcdc[0-4]|ldo[0-9]|ldo1[1-2])$":
        type: object
        $ref: ../regulator/regulator.yaml

        properties:
          regulator-name: true
          regulator-boot-on: true
          regulator-always-on: true
          regulator-min-microvolt: true
          regulator-max-microvolt: true
          regulator-allow-bypass: true

        additionalProperties: false

    allOf:
      - if:
          properties:
            compatible:
              contains:
                const: actions,atc2603c-regulator
        then:
          patternProperties:
            "^(dcdc[0,4]|ldo[0,4,9])(-supply)?$": false

            "^(ldo|dcdc)":
              properties:
                regulator-allow-bypass: false
      - if:
          properties:
            compatible:
              contains:
                const: actions,atc2609a-regulator
        then:
          patternProperties:
            "^(ldo1[1-2]|switchldo1)(-supply)?$": false

            "^(dcdc|ldo[3-9])":
              properties:
                regulator-allow-bypass: false

    required:
      - compatible

    additionalProperties: false

additionalProperties: false

required:
  - compatible
  - reg
  - interrupts

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    i2c0 {
        #address-cells = <1>;
        #size-cells = <0>;

        pmic@65 {
            compatible = "actions,atc2603c";
            reg = <0x65>;
            interrupt-parent = <&sirq>;
            interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;

            reset-time-sec = <6>;

            regulators {
                compatible = "actions,atc2603c-regulator";

                dcdc1-supply = <&reg_5v0>;
                dcdc3-supply = <&reg_5v0>;
                ldo5-supply = <&reg_5v0>;
                switchldo1-supply = <&vcc>;

                vdd_cpu: dcdc1 {
                    regulator-name = "VDD_CPU";
                    regulator-min-microvolt = <700000>;
                    regulator-max-microvolt = <1400000>;
                    regulator-always-on;
                };

                vcc: dcdc3 {
                    regulator-name = "VCC";
                    regulator-min-microvolt = <2600000>;
                    regulator-max-microvolt = <3300000>;
                    regulator-always-on;
                };

                vcc_3v1: ldo5 {
                    regulator-name = "VCC_3V1";
                    regulator-min-microvolt = <2600000>;
                    regulator-max-microvolt = <3300000>;
                };

                sd_vcc: switchldo1 {
                    regulator-name = "SD_VCC";
                    regulator-min-microvolt = <3000000>;
                    regulator-max-microvolt = <3300000>;
                    regulator-always-on;
                    regulator-boot-on;
                };
            };
        };
    };

...
