* Samsung S5M8767 Voltage and Current Regulator

The Samsung S5M8767 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 s5m8767.

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

- s5m8767,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.

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

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

- s5m8767,pmic-buck-ds-gpios: GPIO specifiers for three host gpio's used
  for selecting GPIO DVS lines. It is one-to-one mapped to dvs gpio lines.

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

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

Optional properties:
- interrupt-parent: Specifies the phandle of the interrupt controller to which
  the interrupts from s5m8767 are delivered to.
- interrupts: Interrupt specifiers for two interrupt sources.
  - First interrupt specifier is for 'irq1' interrupt.
  - Second interrupt specifier is for 'alert' interrupt.
- s5m8767,pmic-buck2-uses-gpio-dvs: 'buck2' can be controlled by gpio dvs.
- s5m8767,pmic-buck3-uses-gpio-dvs: 'buck3' can be controlled by gpio dvs.
- s5m8767,pmic-buck4-uses-gpio-dvs: 'buck4' can be controlled by gpio dvs.

Additional properties required if either of the optional properties are used:

- s5m8767,pmic-buck234-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.

- s5m8767,pmic-buck-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 s5m8767 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 {
		ldo1_reg: LDO1 {
			regulator-name = "VDD_ALIVE_1.0V";
			regulator-min-microvolt = <1100000>;
			regulator-max-microvolt = <1100000>;
			regulator-always-on;
			regulator-boot-on;
			op_mode = <1>; /* Normal Mode */
		};
	};
The above regulator entries are defined in regulator bindings documentation
except op_mode description.
	- op_mode: describes the different operating modes of the LDO's with
		power mode change in SOC. The different possible values are,
		0 - always off mode
		1 - on in normal mode
		2 - low power mode
		3 - suspend mode

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

	- LDOn
		  - valid values for n are 1 to 28
		  - Example: LDO1, LD02, LDO28
	- BUCKn
		  - valid values for n are 1 to 9.
		  - Example: BUCK1, BUCK2, BUCK9

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

Example:

	s5m8767_pmic@66 {
		compatible = "samsung,s5m8767-pmic";
		reg = <0x66>;

		s5m8767,pmic-buck2-uses-gpio-dvs;
		s5m8767,pmic-buck3-uses-gpio-dvs;
		s5m8767,pmic-buck4-uses-gpio-dvs;

		s5m8767,pmic-buck-default-dvs-idx = <0>;

		s5m8767,pmic-buck-dvs-gpios = <&gpx0 0 0>, /* DVS1 */
						 <&gpx0 1 0>, /* DVS2 */
						 <&gpx0 2 0>; /* DVS3 */

		s5m8767,pmic-buck-ds-gpios = <&gpx2 3 0>, /* SET1 */
						<&gpx2 4 0>, /* SET2 */
						<&gpx2 5 0>; /* SET3 */

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

		s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>,
						 <1100000>, <1100000>,
						 <1000000>, <1000000>,
						 <1000000>, <1000000>;

		s5m8767,pmic-buck4-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>;
				op_mode = <1>; /* Normal Mode */
			};

			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_MIF_1.2V";
				regulator-min-microvolt = <950000>;
				regulator-max-microvolt = <1350000>;
				regulator-always-on;
				regulator-boot-on;
			};
		};
	};
