"Fossies" - the Fresh Open Source Software Archive

Member "linux-5.3.1/Documentation/devicetree/bindings/regulator/max8997-regulator.txt" (21 Sep 2019, 5267 Bytes) of package /linux/kernel/v5.3/linux-5.3.1.tar.xz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 * Maxim MAX8997 Voltage and Current Regulator
    2 
    3 The Maxim MAX8997 is a multi-function device which includes voltage and
    4 current regulators, rtc, charger controller and other sub-blocks. It is
    5 interfaced to the host controller using a i2c interface. Each sub-block is
    6 addressed by the host system using different i2c slave address. This document
    7 describes the bindings for 'pmic' sub-block of max8997.
    8 
    9 Required properties:
   10 - compatible: Should be "maxim,max8997-pmic".
   11 - reg: Specifies the i2c slave address of the pmic block. It should be 0x66.
   12 
   13 - max8997,pmic-buck1-dvs-voltage: A set of 8 voltage values in micro-volt (uV)
   14   units for buck1 when changing voltage using gpio dvs. Refer to [1] below
   15   for additional information.
   16 
   17 - max8997,pmic-buck2-dvs-voltage: A set of 8 voltage values in micro-volt (uV)
   18   units for buck2 when changing voltage using gpio dvs. Refer to [1] below
   19   for additional information.
   20 
   21 - max8997,pmic-buck5-dvs-voltage: A set of 8 voltage values in micro-volt (uV)
   22   units for buck5 when changing voltage using gpio dvs. Refer to [1] below
   23   for additional information.
   24 
   25 [1] If none of the 'max8997,pmic-buck[1/2/5]-uses-gpio-dvs' optional
   26     property is specified, the 'max8997,pmic-buck[1/2/5]-dvs-voltage'
   27     property should specify atleast one voltage level (which would be a
   28     safe operating voltage).
   29 
   30     If either of the 'max8997,pmic-buck[1/2/5]-uses-gpio-dvs' optional
   31     property is specified, then all the eight voltage values for the
   32     'max8997,pmic-buck[1/2/5]-dvs-voltage' should be specified.
   33 
   34 Optional properties:
   35 - interrupts: Interrupt specifiers for two interrupt sources.
   36   - First interrupt specifier is for 'irq1' interrupt.
   37   - Second interrupt specifier is for 'alert' interrupt.
   38 - max8997,pmic-buck1-uses-gpio-dvs: 'buck1' can be controlled by gpio dvs.
   39 - max8997,pmic-buck2-uses-gpio-dvs: 'buck2' can be controlled by gpio dvs.
   40 - max8997,pmic-buck5-uses-gpio-dvs: 'buck5' can be controlled by gpio dvs.
   41 
   42 Additional properties required if either of the optional properties are used:
   43 - max8997,pmic-ignore-gpiodvs-side-effect: When GPIO-DVS mode is used for
   44   multiple bucks, changing the voltage value of one of the bucks may affect
   45   that of another buck, which is the side effect of the change (set_voltage).
   46   Use this property to ignore such side effects and change the voltage.
   47 
   48 - max8997,pmic-buck125-default-dvs-idx: Default voltage setting selected from
   49   the possible 8 options selectable by the dvs gpios. The value of this
   50   property should be between 0 and 7. If not specified or if out of range, the
   51   default value of this property is set to 0.
   52 
   53 - max8997,pmic-buck125-dvs-gpios: GPIO specifiers for three host gpio's used
   54   for dvs. The format of the gpio specifier depends in the gpio controller.
   55 
   56 Regulators: The regulators of max8997 that have to be instantiated should be
   57 included in a sub-node named 'regulators'. Regulator nodes included in this
   58 sub-node should be of the format as listed below.
   59 
   60 	regulator_name {
   61 		standard regulator bindings here
   62 	};
   63 
   64 The following are the names of the regulators that the max8997 pmic block
   65 supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
   66 as per the datasheet of max8997.
   67 
   68 	- LDOn
   69 		  - valid values for n are 1 to 18 and 21
   70 		  - Example: LDO0, LD01, LDO2, LDO21
   71 	- BUCKn
   72 		  - valid values for n are 1 to 7.
   73 		  - Example: BUCK1, BUCK2, BUCK3, BUCK7
   74 
   75 	- ENVICHG: Battery Charging Current Monitor Output. This is a fixed
   76 		   voltage type regulator
   77 
   78 	- ESAFEOUT1: (ldo19)
   79 	- ESAFEOUT2: (ld020)
   80 
   81 	- CHARGER_CV: main battery charger voltage control
   82 	- CHARGER: main battery charger current control
   83 	- CHARGER_TOPOFF: end of charge current threshold level
   84 
   85 The bindings inside the regulator nodes use the standard regulator bindings
   86 which are documented elsewhere.
   87 
   88 Example:
   89 
   90 	max8997_pmic@66 {
   91 		compatible = "maxim,max8997-pmic";
   92 		interrupt-parent = <&wakeup_eint>;
   93 		reg = <0x66>;
   94 		interrupts = <4 0>, <3 0>;
   95 
   96 		max8997,pmic-buck1-uses-gpio-dvs;
   97 		max8997,pmic-buck2-uses-gpio-dvs;
   98 		max8997,pmic-buck5-uses-gpio-dvs;
   99 
  100 		max8997,pmic-ignore-gpiodvs-side-effect;
  101 		max8997,pmic-buck125-default-dvs-idx = <0>;
  102 
  103 		max8997,pmic-buck125-dvs-gpios = <&gpx0 0 1 0 0>, /* SET1 */
  104 						 <&gpx0 1 1 0 0>, /* SET2 */
  105 						 <&gpx0 2 1 0 0>; /* SET3 */
  106 
  107 		max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
  108 						 <1250000>, <1200000>,
  109 						 <1150000>, <1100000>,
  110 						 <1000000>, <950000>;
  111 
  112 		max8997,pmic-buck2-dvs-voltage = <1100000>, <1100000>,
  113 						 <1100000>, <1100000>,
  114 						 <1000000>, <1000000>,
  115 						 <1000000>, <1000000>;
  116 
  117 		max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
  118 						 <1200000>, <1200000>,
  119 						 <1200000>, <1200000>,
  120 						 <1200000>, <1200000>;
  121 
  122 		regulators {
  123 			ldo1_reg: LDO1 {
  124 				regulator-name = "VDD_ABB_3.3V";
  125 				regulator-min-microvolt = <3300000>;
  126 				regulator-max-microvolt = <3300000>;
  127 			};
  128 
  129 			ldo2_reg: LDO2 {
  130 				regulator-name = "VDD_ALIVE_1.1V";
  131 				regulator-min-microvolt = <1100000>;
  132 				regulator-max-microvolt = <1100000>;
  133 				regulator-always-on;
  134 			};
  135 
  136 			buck1_reg: BUCK1 {
  137 				regulator-name = "VDD_ARM_1.2V";
  138 				regulator-min-microvolt = <950000>;
  139 				regulator-max-microvolt = <1350000>;
  140 				regulator-always-on;
  141 				regulator-boot-on;
  142 			};
  143 		};
  144 	};