xref: /freebsd/sys/contrib/device-tree/Bindings/regulator/maxim,max8997.yaml (revision 7ef62cebc2f965b0f640263e179276928885e33d)
18cc087a1SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only
28cc087a1SEmmanuel Vadot%YAML 1.2
38cc087a1SEmmanuel Vadot---
48cc087a1SEmmanuel Vadot$id: http://devicetree.org/schemas/regulator/maxim,max8997.yaml#
58cc087a1SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68cc087a1SEmmanuel Vadot
78cc087a1SEmmanuel Vadottitle: Maxim MAX8997 Power Management IC
88cc087a1SEmmanuel Vadot
98cc087a1SEmmanuel Vadotmaintainers:
10c9ccf3a3SEmmanuel Vadot  - Krzysztof Kozlowski <krzk@kernel.org>
118cc087a1SEmmanuel Vadot
128cc087a1SEmmanuel Vadotdescription: |
138cc087a1SEmmanuel Vadot  The Maxim MAX8997 is a Power Management IC which includes voltage and current
148cc087a1SEmmanuel Vadot  regulators, charger controller with fuel gauge, RTC, clock outputs, haptic
158cc087a1SEmmanuel Vadot  motor driver, flash LED driver and Micro-USB Interface Controller.
168cc087a1SEmmanuel Vadot
178cc087a1SEmmanuel Vadot  The binding here is not complete and describes only regulator and charger
188cc087a1SEmmanuel Vadot  controller parts.
198cc087a1SEmmanuel Vadot
208cc087a1SEmmanuel Vadotproperties:
218cc087a1SEmmanuel Vadot  compatible:
228cc087a1SEmmanuel Vadot    const: maxim,max8997-pmic
238cc087a1SEmmanuel Vadot
248cc087a1SEmmanuel Vadot  charger-supply:
258cc087a1SEmmanuel Vadot    description: |
268cc087a1SEmmanuel Vadot      Regulator node for charging current.
278cc087a1SEmmanuel Vadot
288cc087a1SEmmanuel Vadot  interrupts:
298cc087a1SEmmanuel Vadot    items:
308cc087a1SEmmanuel Vadot      - description: irq1 interrupt
318cc087a1SEmmanuel Vadot      - description: alert interrupt
328cc087a1SEmmanuel Vadot
338cc087a1SEmmanuel Vadot  max8997,pmic-buck1-dvs-voltage:
348cc087a1SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32-array
358cc087a1SEmmanuel Vadot    minItems: 1
368cc087a1SEmmanuel Vadot    maxItems: 8
378cc087a1SEmmanuel Vadot    description: |
388cc087a1SEmmanuel Vadot      A set of 8 voltage values in micro-volt (uV) units for buck1 when
398cc087a1SEmmanuel Vadot      changing voltage using GPIO DVS.
408cc087a1SEmmanuel Vadot      If none of max8997,pmic-buck[1/2/5]-uses-gpio-dvs optional property is
418cc087a1SEmmanuel Vadot      specified, the max8997,pmic-buck[1/2/5]-dvs-voltage property should
428cc087a1SEmmanuel Vadot      specify at least one voltage level (which would be a safe operating
438cc087a1SEmmanuel Vadot      voltage).
448cc087a1SEmmanuel Vadot
458cc087a1SEmmanuel Vadot  max8997,pmic-buck2-dvs-voltage:
468cc087a1SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32-array
478cc087a1SEmmanuel Vadot    minItems: 1
488cc087a1SEmmanuel Vadot    maxItems: 8
498cc087a1SEmmanuel Vadot    description: |
508cc087a1SEmmanuel Vadot      A set of 8 voltage values in micro-volt (uV) units for buck2 when
518cc087a1SEmmanuel Vadot      changing voltage using GPIO DVS.
528cc087a1SEmmanuel Vadot      If none of max8997,pmic-buck[1/2/5]-uses-gpio-dvs optional property is
538cc087a1SEmmanuel Vadot      specified, the max8997,pmic-buck[1/2/5]-dvs-voltage property should
548cc087a1SEmmanuel Vadot      specify at least one voltage level (which would be a safe operating
558cc087a1SEmmanuel Vadot      voltage).
568cc087a1SEmmanuel Vadot
578cc087a1SEmmanuel Vadot  max8997,pmic-buck5-dvs-voltage:
588cc087a1SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32-array
598cc087a1SEmmanuel Vadot    minItems: 1
608cc087a1SEmmanuel Vadot    maxItems: 8
618cc087a1SEmmanuel Vadot    description: |
628cc087a1SEmmanuel Vadot      A set of 8 voltage values in micro-volt (uV) units for buck5 when
638cc087a1SEmmanuel Vadot      changing voltage using GPIO DVS.
648cc087a1SEmmanuel Vadot      If none of max8997,pmic-buck[1/2/5]-uses-gpio-dvs optional property is
658cc087a1SEmmanuel Vadot      specified, the max8997,pmic-buck[1/2/5]-dvs-voltage property should
668cc087a1SEmmanuel Vadot      specify at least one voltage level (which would be a safe operating
678cc087a1SEmmanuel Vadot      voltage).
688cc087a1SEmmanuel Vadot
698cc087a1SEmmanuel Vadot  max8997,pmic-buck1-uses-gpio-dvs:
708cc087a1SEmmanuel Vadot    type: boolean
718cc087a1SEmmanuel Vadot    description: |
728cc087a1SEmmanuel Vadot      buck1 can be controlled by GPIO DVS.
738cc087a1SEmmanuel Vadot
748cc087a1SEmmanuel Vadot  max8997,pmic-buck2-uses-gpio-dvs:
758cc087a1SEmmanuel Vadot    type: boolean
768cc087a1SEmmanuel Vadot    description: |
778cc087a1SEmmanuel Vadot      buck2 can be controlled by GPIO DVS.
788cc087a1SEmmanuel Vadot
798cc087a1SEmmanuel Vadot  max8997,pmic-buck5-uses-gpio-dvs:
808cc087a1SEmmanuel Vadot    type: boolean
818cc087a1SEmmanuel Vadot    description: |
828cc087a1SEmmanuel Vadot      buck5 can be controlled by GPIO DVS.
838cc087a1SEmmanuel Vadot
848cc087a1SEmmanuel Vadot  max8997,pmic-buck125-default-dvs-idx:
858cc087a1SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
868cc087a1SEmmanuel Vadot    minimum: 0
878cc087a1SEmmanuel Vadot    maximum: 7
888cc087a1SEmmanuel Vadot    default: 0
898cc087a1SEmmanuel Vadot    description: |
908cc087a1SEmmanuel Vadot      Default voltage setting selected from the possible 8 options selectable
918cc087a1SEmmanuel Vadot      by the dvs gpios. The value of this property should be between 0 and 7.
928cc087a1SEmmanuel Vadot      If not specified or if out of range, the default value of this property
938cc087a1SEmmanuel Vadot      is set to 0.
948cc087a1SEmmanuel Vadot
958cc087a1SEmmanuel Vadot  max8997,pmic-buck125-dvs-gpios:
968cc087a1SEmmanuel Vadot    minItems: 3
978cc087a1SEmmanuel Vadot    maxItems: 3
988cc087a1SEmmanuel Vadot    description: |
998cc087a1SEmmanuel Vadot      GPIO specifiers for three host gpio's used for DVS.
1008cc087a1SEmmanuel Vadot
1018cc087a1SEmmanuel Vadot  max8997,pmic-ignore-gpiodvs-side-effect:
1028cc087a1SEmmanuel Vadot    type: boolean
1038cc087a1SEmmanuel Vadot    description: |
1048cc087a1SEmmanuel Vadot      When GPIO-DVS mode is used for multiple bucks, changing the voltage value
1058cc087a1SEmmanuel Vadot      of one of the bucks may affect that of another buck, which is the side
1068cc087a1SEmmanuel Vadot      effect of the change (set_voltage).  Use this property to ignore such
1078cc087a1SEmmanuel Vadot      side effects and change the voltage.
1088cc087a1SEmmanuel Vadot
1098cc087a1SEmmanuel Vadot  reg:
1108cc087a1SEmmanuel Vadot    maxItems: 1
1118cc087a1SEmmanuel Vadot
1128cc087a1SEmmanuel Vadot  regulators:
1138cc087a1SEmmanuel Vadot    type: object
114*7ef62cebSEmmanuel Vadot    additionalProperties: false
1158cc087a1SEmmanuel Vadot    description:
1168cc087a1SEmmanuel Vadot      List of child nodes that specify the regulators.
1178cc087a1SEmmanuel Vadot
1188cc087a1SEmmanuel Vadot    patternProperties:
1198cc087a1SEmmanuel Vadot      # 1-18 and 21 LDOs
1208cc087a1SEmmanuel Vadot      "^LDO([1-9]|1[0-8]|21)$":
1218cc087a1SEmmanuel Vadot        type: object
1228cc087a1SEmmanuel Vadot        $ref: regulator.yaml#
1238cc087a1SEmmanuel Vadot        description:
1248cc087a1SEmmanuel Vadot          Properties for single LDO regulator.
1258cc087a1SEmmanuel Vadot
1268cc087a1SEmmanuel Vadot        properties:
1278cc087a1SEmmanuel Vadot          regulator-name: true
1288cc087a1SEmmanuel Vadot
1298cc087a1SEmmanuel Vadot        required:
1308cc087a1SEmmanuel Vadot          - regulator-name
1318cc087a1SEmmanuel Vadot
1328cc087a1SEmmanuel Vadot        unevaluatedProperties: false
1338cc087a1SEmmanuel Vadot
1348cc087a1SEmmanuel Vadot      # 7 bucks
1358cc087a1SEmmanuel Vadot      "^BUCK[1-7]$":
1368cc087a1SEmmanuel Vadot        type: object
1378cc087a1SEmmanuel Vadot        $ref: regulator.yaml#
1388cc087a1SEmmanuel Vadot        description:
1398cc087a1SEmmanuel Vadot          Properties for single BUCK regulator.
1408cc087a1SEmmanuel Vadot
1418cc087a1SEmmanuel Vadot        properties:
1428cc087a1SEmmanuel Vadot          regulator-name: true
1438cc087a1SEmmanuel Vadot
1448cc087a1SEmmanuel Vadot        required:
1458cc087a1SEmmanuel Vadot          - regulator-name
1468cc087a1SEmmanuel Vadot
1478cc087a1SEmmanuel Vadot        unevaluatedProperties: false
1488cc087a1SEmmanuel Vadot
1498cc087a1SEmmanuel Vadot      "^EN32KHZ_[AC]P$":
1508cc087a1SEmmanuel Vadot        type: object
1518cc087a1SEmmanuel Vadot        $ref: regulator.yaml#
1528cc087a1SEmmanuel Vadot        description:
1538cc087a1SEmmanuel Vadot          32768 Hz clock output (modelled as regulator)
1548cc087a1SEmmanuel Vadot
1558cc087a1SEmmanuel Vadot        properties:
1568cc087a1SEmmanuel Vadot          regulator-name: true
1578cc087a1SEmmanuel Vadot          regulator-always-on: true
1588cc087a1SEmmanuel Vadot          regulator-boot-on: true
1598cc087a1SEmmanuel Vadot
1608cc087a1SEmmanuel Vadot        required:
1618cc087a1SEmmanuel Vadot          - regulator-name
1628cc087a1SEmmanuel Vadot
1638cc087a1SEmmanuel Vadot        additionalProperties: false
1648cc087a1SEmmanuel Vadot
1658cc087a1SEmmanuel Vadot    properties:
1668cc087a1SEmmanuel Vadot      CHARGER:
1678cc087a1SEmmanuel Vadot        type: object
1688cc087a1SEmmanuel Vadot        $ref: regulator.yaml#
1698cc087a1SEmmanuel Vadot        description: main battery charger current control
1708cc087a1SEmmanuel Vadot
1718cc087a1SEmmanuel Vadot        properties:
1728cc087a1SEmmanuel Vadot          regulator-name: true
1738cc087a1SEmmanuel Vadot
1748cc087a1SEmmanuel Vadot        required:
1758cc087a1SEmmanuel Vadot          - regulator-name
1768cc087a1SEmmanuel Vadot
1778cc087a1SEmmanuel Vadot        unevaluatedProperties: false
1788cc087a1SEmmanuel Vadot
1798cc087a1SEmmanuel Vadot      CHARGER_CV:
1808cc087a1SEmmanuel Vadot        type: object
1818cc087a1SEmmanuel Vadot        $ref: regulator.yaml#
1828cc087a1SEmmanuel Vadot        description: main battery charger voltage control
1838cc087a1SEmmanuel Vadot
1848cc087a1SEmmanuel Vadot        properties:
1858cc087a1SEmmanuel Vadot          regulator-name: true
1868cc087a1SEmmanuel Vadot
1878cc087a1SEmmanuel Vadot        required:
1888cc087a1SEmmanuel Vadot          - regulator-name
1898cc087a1SEmmanuel Vadot
1908cc087a1SEmmanuel Vadot        unevaluatedProperties: false
1918cc087a1SEmmanuel Vadot
1928cc087a1SEmmanuel Vadot      CHARGER_TOPOFF:
1938cc087a1SEmmanuel Vadot        type: object
1948cc087a1SEmmanuel Vadot        $ref: regulator.yaml#
1958cc087a1SEmmanuel Vadot        description: end of charge current threshold level
1968cc087a1SEmmanuel Vadot
1978cc087a1SEmmanuel Vadot        properties:
1988cc087a1SEmmanuel Vadot          regulator-name: true
1998cc087a1SEmmanuel Vadot
2008cc087a1SEmmanuel Vadot        required:
2018cc087a1SEmmanuel Vadot          - regulator-name
2028cc087a1SEmmanuel Vadot
2038cc087a1SEmmanuel Vadot        unevaluatedProperties: false
2048cc087a1SEmmanuel Vadot
2058cc087a1SEmmanuel Vadot      ENVICHG:
2068cc087a1SEmmanuel Vadot        type: object
2078cc087a1SEmmanuel Vadot        $ref: regulator.yaml#
2088cc087a1SEmmanuel Vadot        description: |
2098cc087a1SEmmanuel Vadot          Battery Charging Current Monitor Output. This is a fixed voltage type
2108cc087a1SEmmanuel Vadot          regulator
2118cc087a1SEmmanuel Vadot        properties:
2128cc087a1SEmmanuel Vadot          regulator-name: true
2138cc087a1SEmmanuel Vadot
2148cc087a1SEmmanuel Vadot        required:
2158cc087a1SEmmanuel Vadot          - regulator-name
2168cc087a1SEmmanuel Vadot
2178cc087a1SEmmanuel Vadot        unevaluatedProperties: false
2188cc087a1SEmmanuel Vadot
2198cc087a1SEmmanuel Vadot      ESAFEOUT1:
2208cc087a1SEmmanuel Vadot        type: object
2218cc087a1SEmmanuel Vadot        $ref: regulator.yaml#
2228cc087a1SEmmanuel Vadot        description: LDO19
2238cc087a1SEmmanuel Vadot
2248cc087a1SEmmanuel Vadot        properties:
2258cc087a1SEmmanuel Vadot          regulator-name: true
2268cc087a1SEmmanuel Vadot
2278cc087a1SEmmanuel Vadot        required:
2288cc087a1SEmmanuel Vadot          - regulator-name
2298cc087a1SEmmanuel Vadot
2308cc087a1SEmmanuel Vadot        unevaluatedProperties: false
2318cc087a1SEmmanuel Vadot
2328cc087a1SEmmanuel Vadot      ESAFEOUT2:
2338cc087a1SEmmanuel Vadot        type: object
2348cc087a1SEmmanuel Vadot        $ref: regulator.yaml#
2358cc087a1SEmmanuel Vadot        description: LDO20
2368cc087a1SEmmanuel Vadot
2378cc087a1SEmmanuel Vadot        properties:
2388cc087a1SEmmanuel Vadot          regulator-name: true
2398cc087a1SEmmanuel Vadot
2408cc087a1SEmmanuel Vadot        required:
2418cc087a1SEmmanuel Vadot          - regulator-name
2428cc087a1SEmmanuel Vadot
2438cc087a1SEmmanuel Vadot        unevaluatedProperties: false
2448cc087a1SEmmanuel Vadot
2458cc087a1SEmmanuel Vadotrequired:
2468cc087a1SEmmanuel Vadot  - compatible
2478cc087a1SEmmanuel Vadot  - max8997,pmic-buck1-dvs-voltage
2488cc087a1SEmmanuel Vadot  - max8997,pmic-buck2-dvs-voltage
2498cc087a1SEmmanuel Vadot  - max8997,pmic-buck5-dvs-voltage
2508cc087a1SEmmanuel Vadot  - reg
2518cc087a1SEmmanuel Vadot  - regulators
2528cc087a1SEmmanuel Vadot
2538cc087a1SEmmanuel Vadotdependencies:
2548cc087a1SEmmanuel Vadot  max8997,pmic-buck1-uses-gpio-dvs: [ 'max8997,pmic-buck125-dvs-gpios' ]
2558cc087a1SEmmanuel Vadot  max8997,pmic-buck2-uses-gpio-dvs: [ 'max8997,pmic-buck125-dvs-gpios' ]
2568cc087a1SEmmanuel Vadot  max8997,pmic-buck5-uses-gpio-dvs: [ 'max8997,pmic-buck125-dvs-gpios' ]
2578cc087a1SEmmanuel Vadot
2588cc087a1SEmmanuel VadotadditionalProperties: false
2598cc087a1SEmmanuel Vadot
2608cc087a1SEmmanuel Vadotif:
2618cc087a1SEmmanuel Vadot  anyOf:
2628cc087a1SEmmanuel Vadot    - required:
2638cc087a1SEmmanuel Vadot        - max8997,pmic-buck1-uses-gpio-dvs
2648cc087a1SEmmanuel Vadot    - required:
2658cc087a1SEmmanuel Vadot        - max8997,pmic-buck2-uses-gpio-dvs
2668cc087a1SEmmanuel Vadot    - required:
2678cc087a1SEmmanuel Vadot        - max8997,pmic-buck5-uses-gpio-dvs
2688cc087a1SEmmanuel Vadotthen:
2698cc087a1SEmmanuel Vadot  properties:
2708cc087a1SEmmanuel Vadot    max8997,pmic-buck1-dvs-voltage:
2718cc087a1SEmmanuel Vadot      minItems: 8
2728cc087a1SEmmanuel Vadot      maxItems: 8
2738cc087a1SEmmanuel Vadot    max8997,pmic-buck2-dvs-voltage:
2748cc087a1SEmmanuel Vadot      minItems: 8
2758cc087a1SEmmanuel Vadot      maxItems: 8
2768cc087a1SEmmanuel Vadot    max8997,pmic-buck5-dvs-voltage:
2778cc087a1SEmmanuel Vadot      minItems: 8
2788cc087a1SEmmanuel Vadot      maxItems: 8
2798cc087a1SEmmanuel Vadot
2808cc087a1SEmmanuel Vadotexamples:
2818cc087a1SEmmanuel Vadot  - |
2828cc087a1SEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
2838cc087a1SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
2848cc087a1SEmmanuel Vadot
2858cc087a1SEmmanuel Vadot    i2c {
2868cc087a1SEmmanuel Vadot        #address-cells = <1>;
2878cc087a1SEmmanuel Vadot        #size-cells = <0>;
2888cc087a1SEmmanuel Vadot
2898cc087a1SEmmanuel Vadot        pmic@66 {
2908cc087a1SEmmanuel Vadot            compatible = "maxim,max8997-pmic";
2918cc087a1SEmmanuel Vadot            reg = <0x66>;
2928cc087a1SEmmanuel Vadot
2938cc087a1SEmmanuel Vadot            interrupts-extended = <&gpx0 7 IRQ_TYPE_LEVEL_LOW>,
2948cc087a1SEmmanuel Vadot                                  <&gpx2 3 IRQ_TYPE_EDGE_FALLING>;
2958cc087a1SEmmanuel Vadot
2968cc087a1SEmmanuel Vadot            max8997,pmic-buck1-uses-gpio-dvs;
2978cc087a1SEmmanuel Vadot            max8997,pmic-buck2-uses-gpio-dvs;
2988cc087a1SEmmanuel Vadot            max8997,pmic-buck5-uses-gpio-dvs;
2998cc087a1SEmmanuel Vadot
3008cc087a1SEmmanuel Vadot            max8997,pmic-ignore-gpiodvs-side-effect;
3018cc087a1SEmmanuel Vadot            max8997,pmic-buck125-default-dvs-idx = <0>;
3028cc087a1SEmmanuel Vadot
3038cc087a1SEmmanuel Vadot            max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
3048cc087a1SEmmanuel Vadot                                             <&gpx0 6 GPIO_ACTIVE_HIGH>,
3058cc087a1SEmmanuel Vadot                                             <&gpl0 0 GPIO_ACTIVE_HIGH>;
3068cc087a1SEmmanuel Vadot
3078cc087a1SEmmanuel Vadot            max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
3088cc087a1SEmmanuel Vadot                                             <1250000>, <1200000>,
3098cc087a1SEmmanuel Vadot                                             <1150000>, <1100000>,
3108cc087a1SEmmanuel Vadot                                             <1000000>, <950000>;
3118cc087a1SEmmanuel Vadot
3128cc087a1SEmmanuel Vadot            max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
3138cc087a1SEmmanuel Vadot                                             <950000>,  <900000>,
3148cc087a1SEmmanuel Vadot                                             <1100000>, <1000000>,
3158cc087a1SEmmanuel Vadot                                             <950000>,  <900000>;
3168cc087a1SEmmanuel Vadot
3178cc087a1SEmmanuel Vadot            max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
3188cc087a1SEmmanuel Vadot                                             <1200000>, <1200000>,
3198cc087a1SEmmanuel Vadot                                             <1200000>, <1200000>,
3208cc087a1SEmmanuel Vadot                                             <1200000>, <1200000>;
3218cc087a1SEmmanuel Vadot
3228cc087a1SEmmanuel Vadot            pinctrl-0 = <&max8997_irq>, <&otg_gp>, <&usb_sel>;
3238cc087a1SEmmanuel Vadot            pinctrl-names = "default";
3248cc087a1SEmmanuel Vadot
3258cc087a1SEmmanuel Vadot            charger-supply = <&charger_reg>;
3268cc087a1SEmmanuel Vadot
3278cc087a1SEmmanuel Vadot            regulators {
3288cc087a1SEmmanuel Vadot                LDO1 {
3298cc087a1SEmmanuel Vadot                    regulator-name = "VADC_3.3V_C210";
3308cc087a1SEmmanuel Vadot                    regulator-min-microvolt = <3300000>;
3318cc087a1SEmmanuel Vadot                    regulator-max-microvolt = <3300000>;
3328cc087a1SEmmanuel Vadot                    regulator-always-on;
3338cc087a1SEmmanuel Vadot                };
3348cc087a1SEmmanuel Vadot
3358cc087a1SEmmanuel Vadot                LDO2 {
3368cc087a1SEmmanuel Vadot                    regulator-name = "VALIVE_1.1V_C210";
3378cc087a1SEmmanuel Vadot                    regulator-min-microvolt = <1100000>;
3388cc087a1SEmmanuel Vadot                    regulator-max-microvolt = <1100000>;
3398cc087a1SEmmanuel Vadot                    regulator-always-on;
3408cc087a1SEmmanuel Vadot                };
3418cc087a1SEmmanuel Vadot
3428cc087a1SEmmanuel Vadot                BUCK1 {
3438cc087a1SEmmanuel Vadot                    regulator-name = "VARM_1.2V_C210";
3448cc087a1SEmmanuel Vadot                    regulator-min-microvolt = <65000>;
3458cc087a1SEmmanuel Vadot                    regulator-max-microvolt = <2225000>;
3468cc087a1SEmmanuel Vadot                    regulator-always-on;
3478cc087a1SEmmanuel Vadot                };
3488cc087a1SEmmanuel Vadot
3498cc087a1SEmmanuel Vadot                // ...
3508cc087a1SEmmanuel Vadot
3518cc087a1SEmmanuel Vadot                BUCK7 {
3528cc087a1SEmmanuel Vadot                    regulator-name = "VCC_SUB_2.0V";
3538cc087a1SEmmanuel Vadot                    regulator-min-microvolt = <2000000>;
3548cc087a1SEmmanuel Vadot                    regulator-max-microvolt = <2000000>;
3558cc087a1SEmmanuel Vadot                    regulator-always-on;
3568cc087a1SEmmanuel Vadot                };
3578cc087a1SEmmanuel Vadot
3588cc087a1SEmmanuel Vadot                ESAFEOUT1 {
3598cc087a1SEmmanuel Vadot                    regulator-name = "SAFEOUT1";
3608cc087a1SEmmanuel Vadot                };
3618cc087a1SEmmanuel Vadot
3628cc087a1SEmmanuel Vadot                ESAFEOUT2 {
3638cc087a1SEmmanuel Vadot                    regulator-name = "SAFEOUT2";
3648cc087a1SEmmanuel Vadot                    regulator-boot-on;
3658cc087a1SEmmanuel Vadot                };
3668cc087a1SEmmanuel Vadot
3678cc087a1SEmmanuel Vadot                EN32KHZ_AP {
3688cc087a1SEmmanuel Vadot                    regulator-name = "EN32KHZ_AP";
3698cc087a1SEmmanuel Vadot                    regulator-always-on;
3708cc087a1SEmmanuel Vadot                };
3718cc087a1SEmmanuel Vadot
3728cc087a1SEmmanuel Vadot                EN32KHZ_CP {
3738cc087a1SEmmanuel Vadot                    regulator-name = "EN32KHZ_CP";
3748cc087a1SEmmanuel Vadot                    regulator-always-on;
3758cc087a1SEmmanuel Vadot                };
3768cc087a1SEmmanuel Vadot
3778cc087a1SEmmanuel Vadot                CHARGER {
3788cc087a1SEmmanuel Vadot                    regulator-name = "CHARGER";
3798cc087a1SEmmanuel Vadot                    regulator-min-microamp = <200000>;
3808cc087a1SEmmanuel Vadot                    regulator-max-microamp = <950000>;
3818cc087a1SEmmanuel Vadot                };
3828cc087a1SEmmanuel Vadot
3838cc087a1SEmmanuel Vadot                CHARGER_CV {
3848cc087a1SEmmanuel Vadot                    regulator-name = "CHARGER_CV";
3858cc087a1SEmmanuel Vadot                    regulator-min-microvolt = <4200000>;
3868cc087a1SEmmanuel Vadot                    regulator-max-microvolt = <4200000>;
3878cc087a1SEmmanuel Vadot                    regulator-always-on;
3888cc087a1SEmmanuel Vadot                };
3898cc087a1SEmmanuel Vadot
3908cc087a1SEmmanuel Vadot                CHARGER_TOPOFF {
3918cc087a1SEmmanuel Vadot                    regulator-name = "CHARGER_TOPOFF";
3928cc087a1SEmmanuel Vadot                    regulator-min-microamp = <200000>;
3938cc087a1SEmmanuel Vadot                    regulator-max-microamp = <200000>;
3948cc087a1SEmmanuel Vadot                    regulator-always-on;
3958cc087a1SEmmanuel Vadot                };
3968cc087a1SEmmanuel Vadot            };
3978cc087a1SEmmanuel Vadot        };
3988cc087a1SEmmanuel Vadot    };
3998cc087a1SEmmanuel Vadot
4008cc087a1SEmmanuel Vadot  - |
4018cc087a1SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
4028cc087a1SEmmanuel Vadot
4038cc087a1SEmmanuel Vadot    i2c {
4048cc087a1SEmmanuel Vadot        #address-cells = <1>;
4058cc087a1SEmmanuel Vadot        #size-cells = <0>;
4068cc087a1SEmmanuel Vadot
4078cc087a1SEmmanuel Vadot        pmic@66 {
4088cc087a1SEmmanuel Vadot            compatible = "maxim,max8997-pmic";
4098cc087a1SEmmanuel Vadot            reg = <0x66>;
4108cc087a1SEmmanuel Vadot
4118cc087a1SEmmanuel Vadot            interrupt-parent = <&gpx0>;
4128cc087a1SEmmanuel Vadot            interrupts = <4 IRQ_TYPE_LEVEL_LOW>,
4138cc087a1SEmmanuel Vadot                         <3 IRQ_TYPE_EDGE_FALLING>;
4148cc087a1SEmmanuel Vadot            pinctrl-names = "default";
4158cc087a1SEmmanuel Vadot            pinctrl-0 = <&max8997_irq>;
4168cc087a1SEmmanuel Vadot
4178cc087a1SEmmanuel Vadot            max8997,pmic-buck1-dvs-voltage = <1350000>;
4188cc087a1SEmmanuel Vadot            max8997,pmic-buck2-dvs-voltage = <1100000>;
4198cc087a1SEmmanuel Vadot            max8997,pmic-buck5-dvs-voltage = <1200000>;
4208cc087a1SEmmanuel Vadot
4218cc087a1SEmmanuel Vadot            regulators {
4228cc087a1SEmmanuel Vadot                LDO1 {
4238cc087a1SEmmanuel Vadot                    regulator-name = "VDD_ABB_3.3V";
4248cc087a1SEmmanuel Vadot                    regulator-min-microvolt = <3300000>;
4258cc087a1SEmmanuel Vadot                    regulator-max-microvolt = <3300000>;
4268cc087a1SEmmanuel Vadot                };
4278cc087a1SEmmanuel Vadot
4288cc087a1SEmmanuel Vadot                // ...
4298cc087a1SEmmanuel Vadot
4308cc087a1SEmmanuel Vadot                BUCK1 {
4318cc087a1SEmmanuel Vadot                    regulator-name = "VDD_ARM_1.2V";
4328cc087a1SEmmanuel Vadot                    regulator-min-microvolt = <950000>;
4338cc087a1SEmmanuel Vadot                    regulator-max-microvolt = <1350000>;
4348cc087a1SEmmanuel Vadot                    regulator-always-on;
4358cc087a1SEmmanuel Vadot                    regulator-boot-on;
4368cc087a1SEmmanuel Vadot                };
4378cc087a1SEmmanuel Vadot
4388cc087a1SEmmanuel Vadot                // ...
4398cc087a1SEmmanuel Vadot
4408cc087a1SEmmanuel Vadot                EN32KHZ_AP {
4418cc087a1SEmmanuel Vadot                    regulator-name = "EN32KHZ_AP";
4428cc087a1SEmmanuel Vadot                    regulator-always-on;
4438cc087a1SEmmanuel Vadot                };
4448cc087a1SEmmanuel Vadot            };
4458cc087a1SEmmanuel Vadot        };
4468cc087a1SEmmanuel Vadot    };
447