162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/regulator/maxim,max8997.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Maxim MAX8997 Power Management IC
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Krzysztof Kozlowski <krzk@kernel.org>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |
1362306a36Sopenharmony_ci  The Maxim MAX8997 is a Power Management IC which includes voltage and current
1462306a36Sopenharmony_ci  regulators, charger controller with fuel gauge, RTC, clock outputs, haptic
1562306a36Sopenharmony_ci  motor driver, flash LED driver and Micro-USB Interface Controller.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci  The binding here is not complete and describes only regulator and charger
1862306a36Sopenharmony_ci  controller parts.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciproperties:
2162306a36Sopenharmony_ci  compatible:
2262306a36Sopenharmony_ci    const: maxim,max8997-pmic
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci  charger-supply:
2562306a36Sopenharmony_ci    description: |
2662306a36Sopenharmony_ci      Regulator node for charging current.
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci  interrupts:
2962306a36Sopenharmony_ci    items:
3062306a36Sopenharmony_ci      - description: irq1 interrupt
3162306a36Sopenharmony_ci      - description: alert interrupt
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci  max8997,pmic-buck1-dvs-voltage:
3462306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32-array
3562306a36Sopenharmony_ci    minItems: 1
3662306a36Sopenharmony_ci    maxItems: 8
3762306a36Sopenharmony_ci    description: |
3862306a36Sopenharmony_ci      A set of 8 voltage values in micro-volt (uV) units for buck1 when
3962306a36Sopenharmony_ci      changing voltage using GPIO DVS.
4062306a36Sopenharmony_ci      If none of max8997,pmic-buck[1/2/5]-uses-gpio-dvs optional property is
4162306a36Sopenharmony_ci      specified, the max8997,pmic-buck[1/2/5]-dvs-voltage property should
4262306a36Sopenharmony_ci      specify at least one voltage level (which would be a safe operating
4362306a36Sopenharmony_ci      voltage).
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci  max8997,pmic-buck2-dvs-voltage:
4662306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32-array
4762306a36Sopenharmony_ci    minItems: 1
4862306a36Sopenharmony_ci    maxItems: 8
4962306a36Sopenharmony_ci    description: |
5062306a36Sopenharmony_ci      A set of 8 voltage values in micro-volt (uV) units for buck2 when
5162306a36Sopenharmony_ci      changing voltage using GPIO DVS.
5262306a36Sopenharmony_ci      If none of max8997,pmic-buck[1/2/5]-uses-gpio-dvs optional property is
5362306a36Sopenharmony_ci      specified, the max8997,pmic-buck[1/2/5]-dvs-voltage property should
5462306a36Sopenharmony_ci      specify at least one voltage level (which would be a safe operating
5562306a36Sopenharmony_ci      voltage).
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci  max8997,pmic-buck5-dvs-voltage:
5862306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32-array
5962306a36Sopenharmony_ci    minItems: 1
6062306a36Sopenharmony_ci    maxItems: 8
6162306a36Sopenharmony_ci    description: |
6262306a36Sopenharmony_ci      A set of 8 voltage values in micro-volt (uV) units for buck5 when
6362306a36Sopenharmony_ci      changing voltage using GPIO DVS.
6462306a36Sopenharmony_ci      If none of max8997,pmic-buck[1/2/5]-uses-gpio-dvs optional property is
6562306a36Sopenharmony_ci      specified, the max8997,pmic-buck[1/2/5]-dvs-voltage property should
6662306a36Sopenharmony_ci      specify at least one voltage level (which would be a safe operating
6762306a36Sopenharmony_ci      voltage).
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci  max8997,pmic-buck1-uses-gpio-dvs:
7062306a36Sopenharmony_ci    type: boolean
7162306a36Sopenharmony_ci    description: |
7262306a36Sopenharmony_ci      buck1 can be controlled by GPIO DVS.
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci  max8997,pmic-buck2-uses-gpio-dvs:
7562306a36Sopenharmony_ci    type: boolean
7662306a36Sopenharmony_ci    description: |
7762306a36Sopenharmony_ci      buck2 can be controlled by GPIO DVS.
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci  max8997,pmic-buck5-uses-gpio-dvs:
8062306a36Sopenharmony_ci    type: boolean
8162306a36Sopenharmony_ci    description: |
8262306a36Sopenharmony_ci      buck5 can be controlled by GPIO DVS.
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci  max8997,pmic-buck125-default-dvs-idx:
8562306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
8662306a36Sopenharmony_ci    minimum: 0
8762306a36Sopenharmony_ci    maximum: 7
8862306a36Sopenharmony_ci    default: 0
8962306a36Sopenharmony_ci    description: |
9062306a36Sopenharmony_ci      Default voltage setting selected from the possible 8 options selectable
9162306a36Sopenharmony_ci      by the dvs gpios. The value of this property should be between 0 and 7.
9262306a36Sopenharmony_ci      If not specified or if out of range, the default value of this property
9362306a36Sopenharmony_ci      is set to 0.
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci  max8997,pmic-buck125-dvs-gpios:
9662306a36Sopenharmony_ci    minItems: 3
9762306a36Sopenharmony_ci    maxItems: 3
9862306a36Sopenharmony_ci    description: |
9962306a36Sopenharmony_ci      GPIO specifiers for three host gpio's used for DVS.
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci  max8997,pmic-ignore-gpiodvs-side-effect:
10262306a36Sopenharmony_ci    type: boolean
10362306a36Sopenharmony_ci    description: |
10462306a36Sopenharmony_ci      When GPIO-DVS mode is used for multiple bucks, changing the voltage value
10562306a36Sopenharmony_ci      of one of the bucks may affect that of another buck, which is the side
10662306a36Sopenharmony_ci      effect of the change (set_voltage).  Use this property to ignore such
10762306a36Sopenharmony_ci      side effects and change the voltage.
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ci  reg:
11062306a36Sopenharmony_ci    maxItems: 1
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ci  regulators:
11362306a36Sopenharmony_ci    type: object
11462306a36Sopenharmony_ci    additionalProperties: false
11562306a36Sopenharmony_ci    description:
11662306a36Sopenharmony_ci      List of child nodes that specify the regulators.
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ci    patternProperties:
11962306a36Sopenharmony_ci      # 1-18 and 21 LDOs
12062306a36Sopenharmony_ci      "^LDO([1-9]|1[0-8]|21)$":
12162306a36Sopenharmony_ci        type: object
12262306a36Sopenharmony_ci        $ref: regulator.yaml#
12362306a36Sopenharmony_ci        description:
12462306a36Sopenharmony_ci          Properties for single LDO regulator.
12562306a36Sopenharmony_ci
12662306a36Sopenharmony_ci        properties:
12762306a36Sopenharmony_ci          regulator-name: true
12862306a36Sopenharmony_ci
12962306a36Sopenharmony_ci        required:
13062306a36Sopenharmony_ci          - regulator-name
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_ci        unevaluatedProperties: false
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ci      # 7 bucks
13562306a36Sopenharmony_ci      "^BUCK[1-7]$":
13662306a36Sopenharmony_ci        type: object
13762306a36Sopenharmony_ci        $ref: regulator.yaml#
13862306a36Sopenharmony_ci        description:
13962306a36Sopenharmony_ci          Properties for single BUCK regulator.
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci        properties:
14262306a36Sopenharmony_ci          regulator-name: true
14362306a36Sopenharmony_ci
14462306a36Sopenharmony_ci        required:
14562306a36Sopenharmony_ci          - regulator-name
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ci        unevaluatedProperties: false
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ci      "^EN32KHZ_[AC]P$":
15062306a36Sopenharmony_ci        type: object
15162306a36Sopenharmony_ci        $ref: regulator.yaml#
15262306a36Sopenharmony_ci        description:
15362306a36Sopenharmony_ci          32768 Hz clock output (modelled as regulator)
15462306a36Sopenharmony_ci
15562306a36Sopenharmony_ci        properties:
15662306a36Sopenharmony_ci          regulator-name: true
15762306a36Sopenharmony_ci          regulator-always-on: true
15862306a36Sopenharmony_ci          regulator-boot-on: true
15962306a36Sopenharmony_ci
16062306a36Sopenharmony_ci        required:
16162306a36Sopenharmony_ci          - regulator-name
16262306a36Sopenharmony_ci
16362306a36Sopenharmony_ci        additionalProperties: false
16462306a36Sopenharmony_ci
16562306a36Sopenharmony_ci    properties:
16662306a36Sopenharmony_ci      CHARGER:
16762306a36Sopenharmony_ci        type: object
16862306a36Sopenharmony_ci        $ref: regulator.yaml#
16962306a36Sopenharmony_ci        description: main battery charger current control
17062306a36Sopenharmony_ci
17162306a36Sopenharmony_ci        properties:
17262306a36Sopenharmony_ci          regulator-name: true
17362306a36Sopenharmony_ci
17462306a36Sopenharmony_ci        required:
17562306a36Sopenharmony_ci          - regulator-name
17662306a36Sopenharmony_ci
17762306a36Sopenharmony_ci        unevaluatedProperties: false
17862306a36Sopenharmony_ci
17962306a36Sopenharmony_ci      CHARGER_CV:
18062306a36Sopenharmony_ci        type: object
18162306a36Sopenharmony_ci        $ref: regulator.yaml#
18262306a36Sopenharmony_ci        description: main battery charger voltage control
18362306a36Sopenharmony_ci
18462306a36Sopenharmony_ci        properties:
18562306a36Sopenharmony_ci          regulator-name: true
18662306a36Sopenharmony_ci
18762306a36Sopenharmony_ci        required:
18862306a36Sopenharmony_ci          - regulator-name
18962306a36Sopenharmony_ci
19062306a36Sopenharmony_ci        unevaluatedProperties: false
19162306a36Sopenharmony_ci
19262306a36Sopenharmony_ci      CHARGER_TOPOFF:
19362306a36Sopenharmony_ci        type: object
19462306a36Sopenharmony_ci        $ref: regulator.yaml#
19562306a36Sopenharmony_ci        description: end of charge current threshold level
19662306a36Sopenharmony_ci
19762306a36Sopenharmony_ci        properties:
19862306a36Sopenharmony_ci          regulator-name: true
19962306a36Sopenharmony_ci
20062306a36Sopenharmony_ci        required:
20162306a36Sopenharmony_ci          - regulator-name
20262306a36Sopenharmony_ci
20362306a36Sopenharmony_ci        unevaluatedProperties: false
20462306a36Sopenharmony_ci
20562306a36Sopenharmony_ci      ENVICHG:
20662306a36Sopenharmony_ci        type: object
20762306a36Sopenharmony_ci        $ref: regulator.yaml#
20862306a36Sopenharmony_ci        description: |
20962306a36Sopenharmony_ci          Battery Charging Current Monitor Output. This is a fixed voltage type
21062306a36Sopenharmony_ci          regulator
21162306a36Sopenharmony_ci        properties:
21262306a36Sopenharmony_ci          regulator-name: true
21362306a36Sopenharmony_ci
21462306a36Sopenharmony_ci        required:
21562306a36Sopenharmony_ci          - regulator-name
21662306a36Sopenharmony_ci
21762306a36Sopenharmony_ci        unevaluatedProperties: false
21862306a36Sopenharmony_ci
21962306a36Sopenharmony_ci      ESAFEOUT1:
22062306a36Sopenharmony_ci        type: object
22162306a36Sopenharmony_ci        $ref: regulator.yaml#
22262306a36Sopenharmony_ci        description: LDO19
22362306a36Sopenharmony_ci
22462306a36Sopenharmony_ci        properties:
22562306a36Sopenharmony_ci          regulator-name: true
22662306a36Sopenharmony_ci
22762306a36Sopenharmony_ci        required:
22862306a36Sopenharmony_ci          - regulator-name
22962306a36Sopenharmony_ci
23062306a36Sopenharmony_ci        unevaluatedProperties: false
23162306a36Sopenharmony_ci
23262306a36Sopenharmony_ci      ESAFEOUT2:
23362306a36Sopenharmony_ci        type: object
23462306a36Sopenharmony_ci        $ref: regulator.yaml#
23562306a36Sopenharmony_ci        description: LDO20
23662306a36Sopenharmony_ci
23762306a36Sopenharmony_ci        properties:
23862306a36Sopenharmony_ci          regulator-name: true
23962306a36Sopenharmony_ci
24062306a36Sopenharmony_ci        required:
24162306a36Sopenharmony_ci          - regulator-name
24262306a36Sopenharmony_ci
24362306a36Sopenharmony_ci        unevaluatedProperties: false
24462306a36Sopenharmony_ci
24562306a36Sopenharmony_cirequired:
24662306a36Sopenharmony_ci  - compatible
24762306a36Sopenharmony_ci  - max8997,pmic-buck1-dvs-voltage
24862306a36Sopenharmony_ci  - max8997,pmic-buck2-dvs-voltage
24962306a36Sopenharmony_ci  - max8997,pmic-buck5-dvs-voltage
25062306a36Sopenharmony_ci  - reg
25162306a36Sopenharmony_ci  - regulators
25262306a36Sopenharmony_ci
25362306a36Sopenharmony_cidependencies:
25462306a36Sopenharmony_ci  max8997,pmic-buck1-uses-gpio-dvs: [ 'max8997,pmic-buck125-dvs-gpios' ]
25562306a36Sopenharmony_ci  max8997,pmic-buck2-uses-gpio-dvs: [ 'max8997,pmic-buck125-dvs-gpios' ]
25662306a36Sopenharmony_ci  max8997,pmic-buck5-uses-gpio-dvs: [ 'max8997,pmic-buck125-dvs-gpios' ]
25762306a36Sopenharmony_ci
25862306a36Sopenharmony_ciadditionalProperties: false
25962306a36Sopenharmony_ci
26062306a36Sopenharmony_ciif:
26162306a36Sopenharmony_ci  anyOf:
26262306a36Sopenharmony_ci    - required:
26362306a36Sopenharmony_ci        - max8997,pmic-buck1-uses-gpio-dvs
26462306a36Sopenharmony_ci    - required:
26562306a36Sopenharmony_ci        - max8997,pmic-buck2-uses-gpio-dvs
26662306a36Sopenharmony_ci    - required:
26762306a36Sopenharmony_ci        - max8997,pmic-buck5-uses-gpio-dvs
26862306a36Sopenharmony_cithen:
26962306a36Sopenharmony_ci  properties:
27062306a36Sopenharmony_ci    max8997,pmic-buck1-dvs-voltage:
27162306a36Sopenharmony_ci      minItems: 8
27262306a36Sopenharmony_ci      maxItems: 8
27362306a36Sopenharmony_ci    max8997,pmic-buck2-dvs-voltage:
27462306a36Sopenharmony_ci      minItems: 8
27562306a36Sopenharmony_ci      maxItems: 8
27662306a36Sopenharmony_ci    max8997,pmic-buck5-dvs-voltage:
27762306a36Sopenharmony_ci      minItems: 8
27862306a36Sopenharmony_ci      maxItems: 8
27962306a36Sopenharmony_ci
28062306a36Sopenharmony_ciexamples:
28162306a36Sopenharmony_ci  - |
28262306a36Sopenharmony_ci    #include <dt-bindings/gpio/gpio.h>
28362306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
28462306a36Sopenharmony_ci
28562306a36Sopenharmony_ci    i2c {
28662306a36Sopenharmony_ci        #address-cells = <1>;
28762306a36Sopenharmony_ci        #size-cells = <0>;
28862306a36Sopenharmony_ci
28962306a36Sopenharmony_ci        pmic@66 {
29062306a36Sopenharmony_ci            compatible = "maxim,max8997-pmic";
29162306a36Sopenharmony_ci            reg = <0x66>;
29262306a36Sopenharmony_ci
29362306a36Sopenharmony_ci            interrupts-extended = <&gpx0 7 IRQ_TYPE_LEVEL_LOW>,
29462306a36Sopenharmony_ci                                  <&gpx2 3 IRQ_TYPE_EDGE_FALLING>;
29562306a36Sopenharmony_ci
29662306a36Sopenharmony_ci            max8997,pmic-buck1-uses-gpio-dvs;
29762306a36Sopenharmony_ci            max8997,pmic-buck2-uses-gpio-dvs;
29862306a36Sopenharmony_ci            max8997,pmic-buck5-uses-gpio-dvs;
29962306a36Sopenharmony_ci
30062306a36Sopenharmony_ci            max8997,pmic-ignore-gpiodvs-side-effect;
30162306a36Sopenharmony_ci            max8997,pmic-buck125-default-dvs-idx = <0>;
30262306a36Sopenharmony_ci
30362306a36Sopenharmony_ci            max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
30462306a36Sopenharmony_ci                                             <&gpx0 6 GPIO_ACTIVE_HIGH>,
30562306a36Sopenharmony_ci                                             <&gpl0 0 GPIO_ACTIVE_HIGH>;
30662306a36Sopenharmony_ci
30762306a36Sopenharmony_ci            max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
30862306a36Sopenharmony_ci                                             <1250000>, <1200000>,
30962306a36Sopenharmony_ci                                             <1150000>, <1100000>,
31062306a36Sopenharmony_ci                                             <1000000>, <950000>;
31162306a36Sopenharmony_ci
31262306a36Sopenharmony_ci            max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
31362306a36Sopenharmony_ci                                             <950000>,  <900000>,
31462306a36Sopenharmony_ci                                             <1100000>, <1000000>,
31562306a36Sopenharmony_ci                                             <950000>,  <900000>;
31662306a36Sopenharmony_ci
31762306a36Sopenharmony_ci            max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
31862306a36Sopenharmony_ci                                             <1200000>, <1200000>,
31962306a36Sopenharmony_ci                                             <1200000>, <1200000>,
32062306a36Sopenharmony_ci                                             <1200000>, <1200000>;
32162306a36Sopenharmony_ci
32262306a36Sopenharmony_ci            pinctrl-0 = <&max8997_irq>, <&otg_gp>, <&usb_sel>;
32362306a36Sopenharmony_ci            pinctrl-names = "default";
32462306a36Sopenharmony_ci
32562306a36Sopenharmony_ci            charger-supply = <&charger_reg>;
32662306a36Sopenharmony_ci
32762306a36Sopenharmony_ci            regulators {
32862306a36Sopenharmony_ci                LDO1 {
32962306a36Sopenharmony_ci                    regulator-name = "VADC_3.3V_C210";
33062306a36Sopenharmony_ci                    regulator-min-microvolt = <3300000>;
33162306a36Sopenharmony_ci                    regulator-max-microvolt = <3300000>;
33262306a36Sopenharmony_ci                    regulator-always-on;
33362306a36Sopenharmony_ci                };
33462306a36Sopenharmony_ci
33562306a36Sopenharmony_ci                LDO2 {
33662306a36Sopenharmony_ci                    regulator-name = "VALIVE_1.1V_C210";
33762306a36Sopenharmony_ci                    regulator-min-microvolt = <1100000>;
33862306a36Sopenharmony_ci                    regulator-max-microvolt = <1100000>;
33962306a36Sopenharmony_ci                    regulator-always-on;
34062306a36Sopenharmony_ci                };
34162306a36Sopenharmony_ci
34262306a36Sopenharmony_ci                BUCK1 {
34362306a36Sopenharmony_ci                    regulator-name = "VARM_1.2V_C210";
34462306a36Sopenharmony_ci                    regulator-min-microvolt = <65000>;
34562306a36Sopenharmony_ci                    regulator-max-microvolt = <2225000>;
34662306a36Sopenharmony_ci                    regulator-always-on;
34762306a36Sopenharmony_ci                };
34862306a36Sopenharmony_ci
34962306a36Sopenharmony_ci                // ...
35062306a36Sopenharmony_ci
35162306a36Sopenharmony_ci                BUCK7 {
35262306a36Sopenharmony_ci                    regulator-name = "VCC_SUB_2.0V";
35362306a36Sopenharmony_ci                    regulator-min-microvolt = <2000000>;
35462306a36Sopenharmony_ci                    regulator-max-microvolt = <2000000>;
35562306a36Sopenharmony_ci                    regulator-always-on;
35662306a36Sopenharmony_ci                };
35762306a36Sopenharmony_ci
35862306a36Sopenharmony_ci                ESAFEOUT1 {
35962306a36Sopenharmony_ci                    regulator-name = "SAFEOUT1";
36062306a36Sopenharmony_ci                };
36162306a36Sopenharmony_ci
36262306a36Sopenharmony_ci                ESAFEOUT2 {
36362306a36Sopenharmony_ci                    regulator-name = "SAFEOUT2";
36462306a36Sopenharmony_ci                    regulator-boot-on;
36562306a36Sopenharmony_ci                };
36662306a36Sopenharmony_ci
36762306a36Sopenharmony_ci                EN32KHZ_AP {
36862306a36Sopenharmony_ci                    regulator-name = "EN32KHZ_AP";
36962306a36Sopenharmony_ci                    regulator-always-on;
37062306a36Sopenharmony_ci                };
37162306a36Sopenharmony_ci
37262306a36Sopenharmony_ci                EN32KHZ_CP {
37362306a36Sopenharmony_ci                    regulator-name = "EN32KHZ_CP";
37462306a36Sopenharmony_ci                    regulator-always-on;
37562306a36Sopenharmony_ci                };
37662306a36Sopenharmony_ci
37762306a36Sopenharmony_ci                CHARGER {
37862306a36Sopenharmony_ci                    regulator-name = "CHARGER";
37962306a36Sopenharmony_ci                    regulator-min-microamp = <200000>;
38062306a36Sopenharmony_ci                    regulator-max-microamp = <950000>;
38162306a36Sopenharmony_ci                };
38262306a36Sopenharmony_ci
38362306a36Sopenharmony_ci                CHARGER_CV {
38462306a36Sopenharmony_ci                    regulator-name = "CHARGER_CV";
38562306a36Sopenharmony_ci                    regulator-min-microvolt = <4200000>;
38662306a36Sopenharmony_ci                    regulator-max-microvolt = <4200000>;
38762306a36Sopenharmony_ci                    regulator-always-on;
38862306a36Sopenharmony_ci                };
38962306a36Sopenharmony_ci
39062306a36Sopenharmony_ci                CHARGER_TOPOFF {
39162306a36Sopenharmony_ci                    regulator-name = "CHARGER_TOPOFF";
39262306a36Sopenharmony_ci                    regulator-min-microamp = <200000>;
39362306a36Sopenharmony_ci                    regulator-max-microamp = <200000>;
39462306a36Sopenharmony_ci                    regulator-always-on;
39562306a36Sopenharmony_ci                };
39662306a36Sopenharmony_ci            };
39762306a36Sopenharmony_ci        };
39862306a36Sopenharmony_ci    };
39962306a36Sopenharmony_ci
40062306a36Sopenharmony_ci  - |
40162306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
40262306a36Sopenharmony_ci
40362306a36Sopenharmony_ci    i2c {
40462306a36Sopenharmony_ci        #address-cells = <1>;
40562306a36Sopenharmony_ci        #size-cells = <0>;
40662306a36Sopenharmony_ci
40762306a36Sopenharmony_ci        pmic@66 {
40862306a36Sopenharmony_ci            compatible = "maxim,max8997-pmic";
40962306a36Sopenharmony_ci            reg = <0x66>;
41062306a36Sopenharmony_ci
41162306a36Sopenharmony_ci            interrupt-parent = <&gpx0>;
41262306a36Sopenharmony_ci            interrupts = <4 IRQ_TYPE_LEVEL_LOW>,
41362306a36Sopenharmony_ci                         <3 IRQ_TYPE_EDGE_FALLING>;
41462306a36Sopenharmony_ci            pinctrl-names = "default";
41562306a36Sopenharmony_ci            pinctrl-0 = <&max8997_irq>;
41662306a36Sopenharmony_ci
41762306a36Sopenharmony_ci            max8997,pmic-buck1-dvs-voltage = <1350000>;
41862306a36Sopenharmony_ci            max8997,pmic-buck2-dvs-voltage = <1100000>;
41962306a36Sopenharmony_ci            max8997,pmic-buck5-dvs-voltage = <1200000>;
42062306a36Sopenharmony_ci
42162306a36Sopenharmony_ci            regulators {
42262306a36Sopenharmony_ci                LDO1 {
42362306a36Sopenharmony_ci                    regulator-name = "VDD_ABB_3.3V";
42462306a36Sopenharmony_ci                    regulator-min-microvolt = <3300000>;
42562306a36Sopenharmony_ci                    regulator-max-microvolt = <3300000>;
42662306a36Sopenharmony_ci                };
42762306a36Sopenharmony_ci
42862306a36Sopenharmony_ci                // ...
42962306a36Sopenharmony_ci
43062306a36Sopenharmony_ci                BUCK1 {
43162306a36Sopenharmony_ci                    regulator-name = "VDD_ARM_1.2V";
43262306a36Sopenharmony_ci                    regulator-min-microvolt = <950000>;
43362306a36Sopenharmony_ci                    regulator-max-microvolt = <1350000>;
43462306a36Sopenharmony_ci                    regulator-always-on;
43562306a36Sopenharmony_ci                    regulator-boot-on;
43662306a36Sopenharmony_ci                };
43762306a36Sopenharmony_ci
43862306a36Sopenharmony_ci                // ...
43962306a36Sopenharmony_ci
44062306a36Sopenharmony_ci                EN32KHZ_AP {
44162306a36Sopenharmony_ci                    regulator-name = "EN32KHZ_AP";
44262306a36Sopenharmony_ci                    regulator-always-on;
44362306a36Sopenharmony_ci                };
44462306a36Sopenharmony_ci            };
44562306a36Sopenharmony_ci        };
44662306a36Sopenharmony_ci    };
447