# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/ti,twl.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Texas Instruments TWL family

maintainers:
  - Andreas Kemnade <andreas@kemnade.info>

description: |
  The TWLs are Integrated Power Management Chips.
  Some version might contain much more analog function like
  USB transceiver or Audio amplifier.
  These chips are connected to an i2c bus.

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: ti,twl4030
    then:
      patternProperties:
        "^regulator-":
          properties:
            compatible:
              enum:
                - ti,twl4030-vaux1
                - ti,twl4030-vaux2
                - ti,twl4030-vaux3
                - ti,twl4030-vaux4
                - ti,twl4030-vmmc1
                - ti,twl4030-vmmc2
                - ti,twl4030-vpll1
                - ti,twl4030-vpll2
                - ti,twl4030-vsim
                - ti,twl4030-vdac
                - ti,twl4030-vintana2
                - ti,twl4030-vio
                - ti,twl4030-vdd1
                - ti,twl4030-vdd2
                - ti,twl4030-vintana1
                - ti,twl4030-vintdig
                - ti,twl4030-vusb1v5
                - ti,twl4030-vusb1v8
                - ti,twl4030-vusb3v1
            ti,retain-on-reset: false

      properties:
        madc:
          type: object
          $ref: /schemas/iio/adc/ti,twl4030-madc.yaml
          unevaluatedProperties: false

        bci:
          type: object
          $ref: /schemas/power/supply/twl4030-charger.yaml
          unevaluatedProperties: false

        pwrbutton:
          type: object
          additionalProperties: false
          properties:
            compatible:
              const: ti,twl4030-pwrbutton
            interrupts:
              items:
                - items:
                    const: 8

        watchdog:
          type: object
          additionalProperties: false
          properties:
            compatible:
              const: ti,twl4030-wdt
  - if:
      properties:
        compatible:
          contains:
            const: ti,twl6030
    then:
      patternProperties:
        "^regulator-":
          properties:
            compatible:
              enum:
                - ti,twl6030-vaux1
                - ti,twl6030-vaux2
                - ti,twl6030-vaux3
                - ti,twl6030-vmmc
                - ti,twl6030-vpp
                - ti,twl6030-vusim
                - ti,twl6030-vana
                - ti,twl6030-vcxio
                - ti,twl6030-vdac
                - ti,twl6030-vusb
                - ti,twl6030-v1v8
                - ti,twl6030-v2v1
                - ti,twl6030-vdd1
                - ti,twl6030-vdd2
                - ti,twl6030-vdd3
            regulator-initial-mode: false

      properties:
        gpadc:
          type: object
          properties:
            compatible:
              const: ti,twl6030-gpadc
  - if:
      properties:
        compatible:
          contains:
            const: ti,twl6032
    then:
      patternProperties:
        "^regulator-":
          properties:
            compatible:
              enum:
                - ti,twl6032-ldo1
                - ti,twl6032-ldo2
                - ti,twl6032-ldo3
                - ti,twl6032-ldo4
                - ti,twl6032-ldo5
                - ti,twl6032-ldo6
                - ti,twl6032-ldo7
                - ti,twl6032-ldoln
                - ti,twl6032-ldousb
                - ti,twl6032-smps3
                - ti,twl6032-smps4
                - ti,twl6032-vio
            regulator-initial-mode: false

      properties:
        gpadc:
          type: object
          properties:
            compatible:
              const: ti,twl6032-gpadc

properties:
  compatible:
    description:
      TWL4030 for integrated power-management/audio CODEC device used in OMAP3
      based boards
      TWL6030/32 for integrated power-management used in OMAP4 based boards
    enum:
      - ti,twl4030
      - ti,twl6030
      - ti,twl6032

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  interrupt-controller: true

  system-power-controller: true

  "#interrupt-cells":
    const: 1

  "#clock-cells":
    const: 1

  rtc:
    type: object
    additionalProperties: false
    properties:
      compatible:
        const: ti,twl4030-rtc
      interrupts:
        maxItems: 1

patternProperties:
  "^regulator-":
    type: object
    unevaluatedProperties: false
    $ref: /schemas/regulator/regulator.yaml
    properties:
      compatible: true
      regulator-initial-mode:
        enum:
          - 0x08 # Sleep mode, the nominal output voltage is maintained
                 # with low power consumption with low load current capability
          - 0x0e # Active mode, the regulator can deliver its nominal output
                 # voltage with full-load current capability
      ti,retain-on-reset:
        description:
          Does not turn off the supplies during warm
          reset. Could be needed for VMMC, as TWL6030
          reset sequence for this signal does not comply
          with the SD specification.
        type: boolean

unevaluatedProperties: false

required:
  - compatible
  - reg
  - interrupts
  - interrupt-controller
  - "#interrupt-cells"

examples:
  - |
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      pmic@48 {
        compatible = "ti,twl6030";
        reg = <0x48>;
        interrupts = <39>; /* IRQ_SYS_1N cascaded to gic */
        interrupt-parent = <&gic>;
        interrupt-controller;
        #interrupt-cells = <1>;

        gpadc {
          compatible = "ti,twl6030-gpadc";
          interrupts = <6>;
          #io-channel-cells = <1>;
        };

        rtc {
          compatible = "ti,twl4030-rtc";
          interrupts = <8>;
        };

        regulator-vaux1 {
          compatible = "ti,twl6030-vaux1";
          regulator-min-microvolt = <1000000>;
          regulator-max-microvolt = <3000000>;
        };

        regulator-vmmc1 {
          compatible = "ti,twl6030-vmmc";
          ti,retain-on-reset;
        };
      };
    };

  - |
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      pmic@48 {
        compatible = "ti,twl4030";
        reg = <0x48>;
        interrupts = <7>; /* SYS_NIRQ cascaded to intc */
        interrupt-parent = <&intc>;
        interrupt-controller;
        #interrupt-cells = <1>;

        bci {
          compatible = "ti,twl4030-bci";
          interrupts = <9>, <2>;
          bci3v1-supply = <&vusb3v1>;
          io-channels = <&twl_madc 11>;
          io-channel-names = "vac";
        };

        twl_madc: madc {
          compatible = "ti,twl4030-madc";
          interrupts = <3>;
          #io-channel-cells = <1>;
        };

        pwrbutton {
          compatible = "ti,twl4030-pwrbutton";
          interrupts = <8>;
        };

        rtc {
          compatible = "ti,twl4030-rtc";
          interrupts = <11>;
        };

        regulator-vaux1 {
          compatible = "ti,twl4030-vaux1";
          regulator-min-microvolt = <1000000>;
          regulator-max-microvolt = <3000000>;
          regulator-initial-mode = <0xe>;
        };

        vusb3v1: regulator-vusb3v1 {
          compatible = "ti,twl4030-vusb3v1";
        };

        watchdog {
          compatible = "ti,twl4030-wdt";
        };
      };
    };
...
