* Maxim MAX8998, National/TI LP3974 multi-function device

The Maxim MAX8998 is a multi-function device which includes voltage/current
regulators, real time clock, battery charging controller and several
other sub-blocks. It is interfaced using an I2C interface. Each sub-block
is addressed by the host system using different i2c slave address.

PMIC sub-block
--------------

The PMIC sub-block contains a number of voltage and current regulators,
with controllable parameters and dynamic voltage scaling capability.
In addition, it includes a real time clock and battery charging controller
as well. It is accessible at I2C address 0x66.

Required properties:
- compatible: Should be one of the following:
    - "maxim,max8998" for Maxim MAX8998
    - "national,lp3974" or "ti,lp3974" for National/TI LP3974.
- reg: Specifies the i2c slave address of the pmic block. It should be 0x66.

Optional properties:
- interrupts: Interrupt specifiers for two interrupt sources.
  - First interrupt specifier is for main interrupt.
  - Second interrupt specifier is for power-on/-off interrupt.
- max8998,pmic-buck1-dvs-gpios: GPIO specifiers for two host gpios used
  for buck 1 dvs. The format of the gpio specifier depends on the gpio
  controller.
- max8998,pmic-buck2-dvs-gpio: GPIO specifier for host gpio used
  for buck 2 dvs. The format of the gpio specifier depends on the gpio
  controller.
- max8998,pmic-buck1-default-dvs-idx: Default voltage setting selected from
  the possible 4 options selectable by the dvs gpios. The value of this
  property should be 0, 1, 2 or 3. If not specified or out of range,
  a default value of 0 is taken.
- max8998,pmic-buck2-default-dvs-idx: Default voltage setting selected from
  the possible 2 options selectable by the dvs gpios. The value of this
  property should be 0 or 1. If not specified or out of range, a default
  value of 0 is taken.
- max8998,pmic-buck-voltage-lock: If present, disallows changing of
  preprogrammed buck dvfs voltages.

Additional properties required if max8998,pmic-buck1-dvs-gpios is defined:
- max8998,pmic-buck1-dvs-voltage: An array of 4 voltage values in microvolts
  for buck1 regulator that can be selected using dvs gpio.

Additional properties required if max8998,pmic-buck2-dvs-gpio is defined:
- max8998,pmic-buck2-dvs-voltage: An array of 2 voltage values in microvolts
  for buck2 regulator that can be selected using dvs gpio.

Regulators: All the regulators of MAX8998 to be instantiated shall be
listed in a child node named 'regulators'. Each regulator is represented
by a child node of the 'regulators' node.

	regulator-name {
		/* standard regulator bindings here */
	};

Following regulators of the MAX8998 PMIC block are supported. Note that
the 'n' in regulator name, as in LDOn or BUCKn, represents the LDO or BUCK
number as described in MAX8998 datasheet.

	- LDOn
		  - valid values for n are 2 to 17
		  - Example: LDO2, LDO10, LDO17
	- BUCKn
		  - valid values for n are 1 to 4.
		  - Example: BUCK1, BUCK2, BUCK3, BUCK4

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

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

	- CHARGER: main battery charger current control

Standard regulator bindings are used inside regulator subnodes. Check
  Documentation/devicetree/bindings/regulator/regulator.txt
for more details.

Example:

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

		/* Buck 1 DVS settings */
		max8998,pmic-buck1-default-dvs-idx = <0>;
		max8998,pmic-buck1-dvs-gpios = <&gpx0 0 1 0 0>, /* SET1 */
					       <&gpx0 1 1 0 0>; /* SET2 */
		max8998,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
						 <1000000>, <950000>;

		/* Buck 2 DVS settings */
		max8998,pmic-buck2-default-dvs-idx = <0>;
		max8998,pmic-buck2-dvs-gpio = <&gpx0 0 3 0 0>; /* SET3 */
		max8998,pmic-buck2-dvs-voltage = <1350000>, <1300000>;

		/* Regulators to instantiate */
		regulators {
			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;
			};

			charger_reg: CHARGER {
				regulator-name = "CHARGER";
				regulator-min-microamp = <90000>;
				regulator-max-microamp = <800000>;
			};
		};
	};
