Kernel-4.18.0-80.el8_max77802

Binding for Maxim MAX77802 regulators

This is a part of device tree bindings of MAX77802 multi-function device.
More information can be found in bindings/mfd/max77802.txt file.

The MAX77802 PMIC has 10 high-efficiency Buck and 32 Low-dropout (LDO)
regulators that can be controlled over I2C.

Following properties should be present in main device node of the MFD chip.

Optional properties:

  • inb1-supply: The input supply for BUCK1
  • inb2-supply: The input supply for BUCK2
  • inb3-supply: The input supply for BUCK3
  • inb4-supply: The input supply for BUCK4
  • inb5-supply: The input supply for BUCK5
  • inb6-supply: The input supply for BUCK6
  • inb7-supply: The input supply for BUCK7
  • inb8-supply: The input supply for BUCK8
  • inb9-supply: The input supply for BUCK9
  • inb10-supply: The input supply for BUCK10
  • inl1-supply: The input supply for LDO8 and LDO15
  • inl2-supply: The input supply for LDO17, LDO27, LDO30 and LDO35
  • inl3-supply: The input supply for LDO3, LDO5, LDO6 and LDO7
  • inl4-supply: The input supply for LDO10, LDO11, LDO13 and LDO14
  • inl5-supply: The input supply for LDO9 and LDO19
  • inl6-supply: The input supply for LDO4, LDO21, LDO24 and LDO33
  • inl7-supply: The input supply for LDO18, LDO20, LDO28 and LDO29
  • inl9-supply: The input supply for LDO12, LDO23, LDO25, LDO26, LDO32 and LDO34
  • inl10-supply: The input supply for LDO1 and LDO2

Optional nodes:

  • regulators : The regulators of max77802 have to be instantiated
    under subnode named “regulators” using the following format.

    regulator-name {

      standard regulator constraints....
    

    };
    refer Documentation/devicetree/bindings/regulator/regulator.txt

The regulator node name should be initialized with a string to get matched
with their hardware counterparts as follow. The valid names are:

-LDOn     :    for LDOs, where n can lie in ranges 1-15, 17-21, 23-30
        and 32-35.
        example: LDO1, LDO2, LDO35.
-BUCKn     :    for BUCKs, where n can lie in range 1 to 10.
        example: BUCK1, BUCK5, BUCK10.

The max77802 regulator supports two different operating modes: Normal and Low
Power Mode. Some regulators support the modes to be changed at startup or by
the consumers during normal operation while others only support to change the
mode during system suspend. The standard regulator suspend states binding can
be used to configure the regulator operating mode.

The regulators that support the standard “regulator-initial-mode” property,
changing their mode during normal operation are: LDOs 1, 3, 20 and 21.

The possible values for “regulator-initial-mode” and “regulator-mode” are:
1: Normal regulator voltage output mode.
3: Low Power which reduces the quiescent current down to only 1uA

The valid modes list is defined in the dt-bindings/regulator/maxim,max77802.h
header and can be included by device tree source files.

The standard “regulator-mode” property can only be used for regulators that
support changing their mode to Low Power Mode during suspend. These regulators
are: BUCKs 2-4 and LDOs 1-35. Also, it only takes effect if the regulator has
been enabled for the given suspend state using “regulator-on-in-suspend” and
has not been disabled for that state using “regulator-off-in-suspend”.

Example:

max77802@9 {
    compatible = "maxim,max77802";
    interrupt-parent = <&wakeup_eint>;
    interrupts = <26 0>;
    reg = <0x09>;
    #address-cells = <1>;
    #size-cells = <0>;

    inb1-supply = <&parent_reg>;

    regulators {
        ldo1_reg: LDO1 {
            regulator-name = "vdd_1v0";
            regulator-min-microvolt = <1000000>;
            regulator-max-microvolt = <1000000>;
            regulator-always-on;
            regulator-initial-mode = <MAX77802_OPMODE_LP>;
        };

        ldo11_reg: LDO11 {
            regulator-name = "vdd_ldo11";
            regulator-min-microvolt = <1900000>;
            regulator-max-microvolt = <1900000>;
            regulator-always-on;
            regulator-state-mem {
                regulator-on-in-suspend;
                regulator-mode = <MAX77802_OPMODE_LP>;
            };
        };

        buck1_reg: BUCK1 {
            regulator-name = "vdd_mif";
            regulator-min-microvolt = <950000>;
            regulator-max-microvolt = <1300000>;
            regulator-always-on;
            regulator-boot-on;
        };
};