* Maxim MAX8997 Voltage and Current Regulator

The Maxim MAX8997 is a multi-function device which includes voltage and
current regulators, rtc, charger controller and other sub-blocks. It is
interfaced to the host controller using a i2c interface. Each sub-block is
addressed by the host system using different i2c slave address. This document
describes the bindings for 'pmic' sub-block of max8997.

Required properties:
- compatible: Should be "maxim,max8997-pmic".
- reg: Specifies the i2c slave address of the pmic block. It should be 0x66.

- max8997,pmic-buck1-dvs-voltage: A set of 8 voltage values in micro-volt (uV)
  units for buck1 when changing voltage using gpio dvs. Refer to [1] below
  for additional information.

- max8997,pmic-buck2-dvs-voltage: A set of 8 voltage values in micro-volt (uV)
  units for buck2 when changing voltage using gpio dvs. Refer to [1] below
  for additional information.

- max8997,pmic-buck5-dvs-voltage: A set of 8 voltage values in micro-volt (uV)
  units for buck5 when changing voltage using gpio dvs. Refer to [1] below
  for additional information.

[1] If none of the 'max8997,pmic-buck[1/2/5]-uses-gpio-dvs' optional
    property is specified, the 'max8997,pmic-buck[1/2/5]-dvs-voltage'
    property should specify atleast one voltage level (which would be a
    safe operating voltage).

    If either of the 'max8997,pmic-buck[1/2/5]-uses-gpio-dvs' optional
    property is specified, then all the eight voltage values for the
    'max8997,pmic-buck[1/2/5]-dvs-voltage' should be specified.

Optional properties:
- interrupts: Interrupt specifiers for two interrupt sources.
  - First interrupt specifier is for 'irq1' interrupt.
  - Second interrupt specifier is for 'alert' interrupt.
- max8997,pmic-buck1-uses-gpio-dvs: 'buck1' can be controlled by gpio dvs.
- max8997,pmic-buck2-uses-gpio-dvs: 'buck2' can be controlled by gpio dvs.
- max8997,pmic-buck5-uses-gpio-dvs: 'buck5' can be controlled by gpio dvs.

Additional properties required if either of the optional properties are used:
- max8997,pmic-ignore-gpiodvs-side-effect: When GPIO-DVS mode is used for
  multiple bucks, changing the voltage value of one of the bucks may affect
  that of another buck, which is the side effect of the change (set_voltage).
  Use this property to ignore such side effects and change the voltage.

- max8997,pmic-buck125-default-dvs-idx: Default voltage setting selected from
  the possible 8 options selectable by the dvs gpios. The value of this
  property should be between 0 and 7. If not specified or if out of range, the
  default value of this property is set to 0.

- max8997,pmic-buck125-dvs-gpios: GPIO specifiers for three host gpio's used
  for dvs. The format of the gpio specifier depends in the gpio controller.

Regulators: The regulators of max8997 that have to be instantiated should be
included in a sub-node named 'regulators'. Regulator nodes included in this
sub-node should be of the format as listed below.

	regulator_name {
		standard regulator bindings here
	};

The following are the names of the regulators that the max8997 pmic block
supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
as per the datasheet of max8997.

	- LDOn
		  - valid values for n are 1 to 18 and 21
		  - Example: LDO0, LD01, LDO2, LDO21
	- BUCKn
		  - valid values for n are 1 to 7.
		  - Example: BUCK1, BUCK2, BUCK3, BUCK7

	- ENVICHG: Battery Charging Current Monitor Output. This is a fixed
		   voltage type regulator

	- ESAFEOUT1: (ldo19)
	- ESAFEOUT2: (ld020)

	- CHARGER_CV: main battery charger voltage control
	- CHARGER: main battery charger current control
	- CHARGER_TOPOFF: end of charge current threshold level

The bindings inside the regulator nodes use the standard regulator bindings
which are documented elsewhere.

Example:

	max8997_pmic@66 {
		compatible = "maxim,max8997-pmic";
		interrupt-parent = <&wakeup_eint>;
		reg = <0x66>;
		interrupts = <4 0>, <3 0>;

		max8997,pmic-buck1-uses-gpio-dvs;
		max8997,pmic-buck2-uses-gpio-dvs;
		max8997,pmic-buck5-uses-gpio-dvs;

		max8997,pmic-ignore-gpiodvs-side-effect;
		max8997,pmic-buck125-default-dvs-idx = <0>;

		max8997,pmic-buck125-dvs-gpios = <&gpx0 0 1 0 0>, /* SET1 */
						 <&gpx0 1 1 0 0>, /* SET2 */
						 <&gpx0 2 1 0 0>; /* SET3 */

		max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
						 <1250000>, <1200000>,
						 <1150000>, <1100000>,
						 <1000000>, <950000>;

		max8997,pmic-buck2-dvs-voltage = <1100000>, <1100000>,
						 <1100000>, <1100000>,
						 <1000000>, <1000000>,
						 <1000000>, <1000000>;

		max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
						 <1200000>, <1200000>,
						 <1200000>, <1200000>,
						 <1200000>, <1200000>;

		regulators {
			ldo1_reg: LDO1 {
				regulator-name = "VDD_ABB_3.3V";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
			};

			ldo2_reg: LDO2 {
				regulator-name = "VDD_ALIVE_1.1V";
				regulator-min-microvolt = <1100000>;
				regulator-max-microvolt = <1100000>;
				regulator-always-on;
			};

			buck1_reg: BUCK1 {
				regulator-name = "VDD_ARM_1.2V";
				regulator-min-microvolt = <950000>;
				regulator-max-microvolt = <1350000>;
				regulator-always-on;
				regulator-boot-on;
			};
		};
	};
