RK8XX Power Management Integrated Circuit

The rk8xx family current members:
rk805
rk808
rk818

Required properties:
- compatible: "rockchip,rk805"
- compatible: "rockchip,rk808"
- compatible: "rockchip,rk818"
- reg: I2C slave address
- interrupt-parent: The parent interrupt controller.
- interrupts: the interrupt outputs of the controller.
- #clock-cells: from common clock binding; shall be set to 1 (multiple clock
  outputs). See <dt-bindings/clock/rockchip,rk808.h> for clock IDs.

Optional properties:
- clock-output-names: From common clock binding to override the
  default output clock name
- rockchip,system-power-controller: Telling whether or not this pmic is controlling
  the system power.

Optional RK805 properties:
- vcc1-supply:  The input supply for DCDC_REG1
- vcc2-supply:  The input supply for DCDC_REG2
- vcc3-supply:  The input supply for DCDC_REG3
- vcc4-supply:  The input supply for DCDC_REG4
- vcc5-supply:  The input supply for LDO_REG1 and LDO_REG2
- vcc6-supply:  The input supply for LDO_REG3

Optional RK808 properties:
- vcc1-supply:  The input supply for DCDC_REG1
- vcc2-supply:  The input supply for DCDC_REG2
- vcc3-supply:  The input supply for DCDC_REG3
- vcc4-supply:  The input supply for DCDC_REG4
- vcc6-supply:  The input supply for LDO_REG1 and LDO_REG2
- vcc7-supply:  The input supply for LDO_REG3 and LDO_REG7
- vcc8-supply:  The input supply for SWITCH_REG1
- vcc9-supply:  The input supply for LDO_REG4 and LDO_REG5
- vcc10-supply: The input supply for LDO_REG6
- vcc11-supply: The input supply for LDO_REG8
- vcc12-supply: The input supply for SWITCH_REG2
- dvs-gpios:  buck1/2 can be controlled by gpio dvs, this is GPIO specifiers
  for 2 host gpio's used for dvs. The format of the gpio specifier depends in
  the gpio controller. If DVS GPIOs aren't present, voltage changes will happen
  very quickly with no slow ramp time.

Optional RK818 properties:
- vcc1-supply:  The input supply for DCDC_REG1
- vcc2-supply:  The input supply for DCDC_REG2
- vcc3-supply:  The input supply for DCDC_REG3
- vcc4-supply:  The input supply for DCDC_REG4
- boost-supply: The input supply for DCDC_BOOST
- vcc6-supply:  The input supply for LDO_REG1 and LDO_REG2
- vcc7-supply:  The input supply for LDO_REG3, LDO_REG5 and LDO_REG7
- vcc8-supply:  The input supply for LDO_REG4, LDO_REG6 and LDO_REG8
- vcc9-supply:  The input supply for LDO_REG9 and SWITCH_REG
- h_5v-supply:  The input supply for HDMI_SWITCH
- usb-supply:   The input supply for OTG_SWITCH

Regulators: All the regulators of RK8XX 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 RK805 PMIC regulators are supported. Note that
the 'n' in regulator name, as in DCDC_REGn or LDOn, represents the DCDC or LDO
number as described in RK805 datasheet.

	- DCDC_REGn
		- valid values for n are 1 to 4.
	- LDO_REGn
		- valid values for n are 1 to 3

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

	- DCDC_REGn
		- valid values for n are 1 to 4.
	- LDO_REGn
		- valid values for n are 1 to 8.
	- SWITCH_REGn
		- valid values for n are 1 to 2

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

	- DCDC_REGn
		- valid values for n are 1 to 4.
	- LDO_REGn
		- valid values for n are 1 to 9.
	- SWITCH_REG
	- HDMI_SWITCH
	- OTG_SWITCH

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

Example:
	rk808: pmic@1b {
		compatible = "rockchip,rk808";
		clock-output-names = "xin32k", "rk808-clkout2";
		interrupt-parent = <&gpio0>;
		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
		pinctrl-names = "default";
		pinctrl-0 = <&pmic_int &dvs_1 &dvs_2>;
		dvs-gpios = <&gpio7 11 GPIO_ACTIVE_HIGH>,
			    <&gpio7 15 GPIO_ACTIVE_HIGH>;
		reg = <0x1b>;
		rockchip,system-power-controller;
		wakeup-source;
		#clock-cells = <1>;

		vcc8-supply = <&vcc_18>;
		vcc9-supply = <&vcc_io>;
		vcc10-supply = <&vcc_io>;
		vcc12-supply = <&vcc_io>;
		vddio-supply = <&vccio_pmu>;

		regulators {
			vdd_cpu: DCDC_REG1 {
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <750000>;
				regulator-max-microvolt = <1300000>;
				regulator-name = "vdd_arm";
			};

			vdd_gpu: DCDC_REG2 {
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <850000>;
				regulator-max-microvolt = <1250000>;
				regulator-name = "vdd_gpu";
			};

			vcc_ddr: DCDC_REG3 {
				regulator-always-on;
				regulator-boot-on;
				regulator-name = "vcc_ddr";
			};

			vcc_io: DCDC_REG4 {
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-name = "vcc_io";
			};

			vccio_pmu: LDO_REG1 {
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-name = "vccio_pmu";
			};

			vcc_tp: LDO_REG2 {
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-name = "vcc_tp";
			};

			vdd_10: LDO_REG3 {
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1000000>;
				regulator-name = "vdd_10";
			};

			vcc18_lcd: LDO_REG4 {
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-name = "vcc18_lcd";
			};

			vccio_sd: LDO_REG5 {
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-name = "vccio_sd";
			};

			vdd10_lcd: LDO_REG6 {
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1000000>;
				regulator-name = "vdd10_lcd";
			};

			vcc_18: LDO_REG7 {
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-name = "vcc_18";
			};

			vcca_codec: LDO_REG8 {
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-name = "vcca_codec";
			};

			vcc_wl: SWITCH_REG1 {
				regulator-always-on;
				regulator-boot-on;
				regulator-name = "vcc_wl";
			};

			vcc_lcd: SWITCH_REG2 {
				regulator-always-on;
				regulator-boot-on;
				regulator-name = "vcc_lcd";
			};
		};
	};
