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
- 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";
			};
		};
	};
