| RK8XX Power Management Integrated Circuit |
| |
| The rk8xx family current members: |
| rk808 |
| rk818 |
| |
| Required properties: |
| - compatible: "rockchip,rk808", "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 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 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"; |
| }; |
| }; |
| }; |