215 lines
6.1 KiB
Plaintext
215 lines
6.1 KiB
Plaintext
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";
|
|
};
|
|
};
|
|
};
|