xref: /linux/Documentation/devicetree/bindings/regulator/ti,tps65219.yaml (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
14d2aed6eSJerome Neanne# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
24d2aed6eSJerome Neanne%YAML 1.2
34d2aed6eSJerome Neanne---
44d2aed6eSJerome Neanne$id: http://devicetree.org/schemas/regulator/ti,tps65219.yaml#
54d2aed6eSJerome Neanne$schema: http://devicetree.org/meta-schemas/core.yaml#
64d2aed6eSJerome Neanne
74d2aed6eSJerome Neannetitle: TI tps65219 Power Management Integrated Circuit regulators
84d2aed6eSJerome Neanne
94d2aed6eSJerome Neannemaintainers:
104d2aed6eSJerome Neanne  - Jerome Neanne <jerome.neanne@baylibre.com>
114d2aed6eSJerome Neanne
124d2aed6eSJerome Neannedescription: |
134d2aed6eSJerome Neanne  Regulator nodes should be named to buck<number> and ldo<number>.
144d2aed6eSJerome Neanne
154d2aed6eSJerome Neanneproperties:
164d2aed6eSJerome Neanne  compatible:
174d2aed6eSJerome Neanne    enum:
184d2aed6eSJerome Neanne      - ti,tps65219
194d2aed6eSJerome Neanne
204d2aed6eSJerome Neanne  reg:
214d2aed6eSJerome Neanne    maxItems: 1
224d2aed6eSJerome Neanne
234d2aed6eSJerome Neanne  system-power-controller:
244d2aed6eSJerome Neanne    type: boolean
254d2aed6eSJerome Neanne    description: Optional property that indicates that this device is
264d2aed6eSJerome Neanne      controlling system power.
274d2aed6eSJerome Neanne
284d2aed6eSJerome Neanne  interrupts:
294d2aed6eSJerome Neanne    description: Short-circuit, over-current, under-voltage for regulators, PB interrupts.
304d2aed6eSJerome Neanne    maxItems: 1
314d2aed6eSJerome Neanne
324d2aed6eSJerome Neanne  interrupt-controller: true
334d2aed6eSJerome Neanne
344d2aed6eSJerome Neanne  '#interrupt-cells':
354d2aed6eSJerome Neanne    description: Specifies the PIN numbers and Flags, as defined in
364d2aed6eSJerome Neanne      include/dt-bindings/interrupt-controller/irq.h
374d2aed6eSJerome Neanne    const: 1
384d2aed6eSJerome Neanne
394d2aed6eSJerome Neanne  ti,power-button:
404d2aed6eSJerome Neanne    type: boolean
414d2aed6eSJerome Neanne    description: |
424d2aed6eSJerome Neanne      Optional property that sets the EN/PB/VSENSE pin to be a
434d2aed6eSJerome Neanne      power-button.
444d2aed6eSJerome Neanne      TPS65219 has a multipurpose pin called EN/PB/VSENSE that can be either
454d2aed6eSJerome Neanne      1. EN in which case it functions as an enable pin.
464d2aed6eSJerome Neanne      2. VSENSE which compares the voltages and triggers an automatic
474d2aed6eSJerome Neanne      on/off request.
484d2aed6eSJerome Neanne      3. PB in which case it can be configured to trigger an interrupt
494d2aed6eSJerome Neanne      to the SoC.
504d2aed6eSJerome Neanne      ti,power-button reflects the last one of those options
514d2aed6eSJerome Neanne      where the board has a button wired to the pin and triggers
524d2aed6eSJerome Neanne      an interrupt on pressing it.
534d2aed6eSJerome Neanne
544d2aed6eSJerome Neanne  regulators:
554d2aed6eSJerome Neanne    type: object
564d2aed6eSJerome Neanne    description: |
574d2aed6eSJerome Neanne      list of regulators provided by this controller
584d2aed6eSJerome Neanne
594d2aed6eSJerome Neanne    patternProperties:
604d2aed6eSJerome Neanne      "^ldo[1-4]$":
614d2aed6eSJerome Neanne        type: object
624d2aed6eSJerome Neanne        $ref: regulator.yaml#
634d2aed6eSJerome Neanne        description:
644d2aed6eSJerome Neanne          Properties for single LDO regulator.
654d2aed6eSJerome Neanne
664d2aed6eSJerome Neanne        unevaluatedProperties: false
674d2aed6eSJerome Neanne
684d2aed6eSJerome Neanne      "^buck[1-3]$":
694d2aed6eSJerome Neanne        type: object
704d2aed6eSJerome Neanne        $ref: regulator.yaml#
714d2aed6eSJerome Neanne        description:
724d2aed6eSJerome Neanne          Properties for single BUCK regulator.
734d2aed6eSJerome Neanne
744d2aed6eSJerome Neanne        unevaluatedProperties: false
754d2aed6eSJerome Neanne
764d2aed6eSJerome Neanne    additionalProperties: false
774d2aed6eSJerome Neanne
78*43e6f457SRob HerringpatternProperties:
79*43e6f457SRob Herring  "^buck[1-3]-supply$":
80*43e6f457SRob Herring    description: Input supply phandle of one regulator.
81*43e6f457SRob Herring
82*43e6f457SRob Herring  "^ldo[1-4]-supply$":
83*43e6f457SRob Herring    description: Input supply phandle of one regulator.
84*43e6f457SRob Herring
854d2aed6eSJerome Neannerequired:
864d2aed6eSJerome Neanne  - compatible
874d2aed6eSJerome Neanne  - reg
884d2aed6eSJerome Neanne  - interrupts
894d2aed6eSJerome Neanne  - regulators
904d2aed6eSJerome Neanne
914d2aed6eSJerome NeanneadditionalProperties: false
924d2aed6eSJerome Neanne
934d2aed6eSJerome Neanneexamples:
944d2aed6eSJerome Neanne  - |
954d2aed6eSJerome Neanne    #include <dt-bindings/interrupt-controller/arm-gic.h>
964d2aed6eSJerome Neanne    i2c {
974d2aed6eSJerome Neanne        #address-cells = <1>;
984d2aed6eSJerome Neanne        #size-cells = <0>;
994d2aed6eSJerome Neanne
1004d2aed6eSJerome Neanne        tps65219: pmic@30 {
1014d2aed6eSJerome Neanne            compatible = "ti,tps65219";
1024d2aed6eSJerome Neanne            reg = <0x30>;
1034d2aed6eSJerome Neanne            buck1-supply = <&vcc_3v3_sys>;
1044d2aed6eSJerome Neanne            buck2-supply = <&vcc_3v3_sys>;
1054d2aed6eSJerome Neanne            buck3-supply = <&vcc_3v3_sys>;
1064d2aed6eSJerome Neanne            ldo1-supply = <&vcc_3v3_sys>;
1074d2aed6eSJerome Neanne            ldo2-supply = <&buck2_reg>;
1084d2aed6eSJerome Neanne            ldo3-supply = <&vcc_3v3_sys>;
1094d2aed6eSJerome Neanne            ldo4-supply = <&vcc_3v3_sys>;
1104d2aed6eSJerome Neanne
1114d2aed6eSJerome Neanne            pinctrl-0 = <&pmic_irq_pins_default>;
1124d2aed6eSJerome Neanne
1134d2aed6eSJerome Neanne            interrupt-parent = <&gic500>;
1144d2aed6eSJerome Neanne            interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
1154d2aed6eSJerome Neanne            ti,power-button;
1164d2aed6eSJerome Neanne
1174d2aed6eSJerome Neanne            regulators {
1184d2aed6eSJerome Neanne                buck1_reg: buck1 {
1194d2aed6eSJerome Neanne                    regulator-name = "VDD_CORE";
1204d2aed6eSJerome Neanne                    regulator-min-microvolt = <750000>;
1214d2aed6eSJerome Neanne                    regulator-max-microvolt = <750000>;
1224d2aed6eSJerome Neanne                    regulator-boot-on;
1234d2aed6eSJerome Neanne                    regulator-always-on;
1244d2aed6eSJerome Neanne                };
1254d2aed6eSJerome Neanne
1264d2aed6eSJerome Neanne                buck2_reg: buck2 {
1274d2aed6eSJerome Neanne                    regulator-name = "VCC1V8";
1284d2aed6eSJerome Neanne                    regulator-min-microvolt = <1800000>;
1294d2aed6eSJerome Neanne                    regulator-max-microvolt = <1800000>;
1304d2aed6eSJerome Neanne                    regulator-boot-on;
1314d2aed6eSJerome Neanne                    regulator-always-on;
1324d2aed6eSJerome Neanne                };
1334d2aed6eSJerome Neanne
1344d2aed6eSJerome Neanne                buck3_reg: buck3 {
1354d2aed6eSJerome Neanne                    regulator-name = "VDD_LPDDR4";
1364d2aed6eSJerome Neanne                    regulator-min-microvolt = <1100000>;
1374d2aed6eSJerome Neanne                    regulator-max-microvolt = <1100000>;
1384d2aed6eSJerome Neanne                    regulator-boot-on;
1394d2aed6eSJerome Neanne                    regulator-always-on;
1404d2aed6eSJerome Neanne                };
1414d2aed6eSJerome Neanne
1424d2aed6eSJerome Neanne                ldo1_reg: ldo1 {
1434d2aed6eSJerome Neanne                    regulator-name = "VDDSHV_SD_IO_PMIC";
1444d2aed6eSJerome Neanne                    regulator-min-microvolt = <33000000>;
1454d2aed6eSJerome Neanne                    regulator-max-microvolt = <33000000>;
1464d2aed6eSJerome Neanne                };
1474d2aed6eSJerome Neanne
1484d2aed6eSJerome Neanne                ldo2_reg: ldo2 {
1494d2aed6eSJerome Neanne                    regulator-name = "VDDAR_CORE";
1504d2aed6eSJerome Neanne                    regulator-min-microvolt = <850000>;
1514d2aed6eSJerome Neanne                    regulator-max-microvolt = <850000>;
1524d2aed6eSJerome Neanne                    regulator-boot-on;
1534d2aed6eSJerome Neanne                    regulator-always-on;
1544d2aed6eSJerome Neanne                };
1554d2aed6eSJerome Neanne
1564d2aed6eSJerome Neanne                ldo3_reg: ldo3 {
1574d2aed6eSJerome Neanne                    regulator-name = "VDDA_1V8";
1584d2aed6eSJerome Neanne                    regulator-min-microvolt = <18000000>;
1594d2aed6eSJerome Neanne                    regulator-max-microvolt = <18000000>;
1604d2aed6eSJerome Neanne                    regulator-boot-on;
1614d2aed6eSJerome Neanne                    regulator-always-on;
1624d2aed6eSJerome Neanne                };
1634d2aed6eSJerome Neanne
1644d2aed6eSJerome Neanne                ldo4_reg: ldo4 {
1654d2aed6eSJerome Neanne                    regulator-name = "VDD_PHY_2V5";
1664d2aed6eSJerome Neanne                    regulator-min-microvolt = <25000000>;
1674d2aed6eSJerome Neanne                    regulator-max-microvolt = <25000000>;
1684d2aed6eSJerome Neanne                    regulator-boot-on;
1694d2aed6eSJerome Neanne                    regulator-always-on;
1704d2aed6eSJerome Neanne                };
1714d2aed6eSJerome Neanne            };
1724d2aed6eSJerome Neanne        };
1734d2aed6eSJerome Neanne    };
174