0001 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/mfd/rockchip,rk808.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: RK808 Power Management Integrated Circuit
0008
0009 maintainers:
0010 - Chris Zhong <zyw@rock-chips.com>
0011 - Zhang Qing <zhangqing@rock-chips.com>
0012
0013 description: |
0014 Rockchip RK808 series PMIC. This device consists of an i2c controlled MFD
0015 that includes regulators, an RTC, and a power button.
0016
0017 properties:
0018 compatible:
0019 enum:
0020 - rockchip,rk808
0021
0022 reg:
0023 maxItems: 1
0024
0025 interrupts:
0026 maxItems: 1
0027
0028 '#clock-cells':
0029 description:
0030 See <dt-bindings/clock/rockchip,rk808.h> for clock IDs.
0031 const: 1
0032
0033 clock-output-names:
0034 description:
0035 From common clock binding to override the default output clock name.
0036 maxItems: 2
0037
0038 rockchip,system-power-controller:
0039 type: boolean
0040 description:
0041 Telling whether or not this PMIC is controlling the system power.
0042
0043 wakeup-source:
0044 type: boolean
0045 description:
0046 Device can be used as a wakeup source.
0047
0048 vcc1-supply:
0049 description:
0050 The input supply for DCDC_REG1.
0051
0052 vcc2-supply:
0053 description:
0054 The input supply for DCDC_REG2.
0055
0056 vcc3-supply:
0057 description:
0058 The input supply for DCDC_REG3.
0059
0060 vcc4-supply:
0061 description:
0062 The input supply for DCDC_REG4.
0063
0064 vcc6-supply:
0065 description:
0066 The input supply for LDO_REG1 and LDO_REG2.
0067
0068 vcc7-supply:
0069 description:
0070 The input supply for LDO_REG3 and LDO_REG7.
0071
0072 vcc8-supply:
0073 description:
0074 The input supply for SWITCH_REG1.
0075
0076 vcc9-supply:
0077 description:
0078 The input supply for LDO_REG4 and LDO_REG5.
0079
0080 vcc10-supply:
0081 description:
0082 The input supply for LDO_REG6.
0083
0084 vcc11-supply:
0085 description:
0086 The input supply for LDO_REG8.
0087
0088 vcc12-supply:
0089 description:
0090 The input supply for SWITCH_REG2.
0091
0092 vddio-supply:
0093 description:
0094 The input supply for digital IO.
0095
0096 dvs-gpios:
0097 description: |
0098 buck1/2 can be controlled by gpio dvs, this is GPIO specifiers for
0099 2 host gpio's used for dvs. The format of the gpio specifier
0100 depends in the gpio controller. If DVS GPIOs aren't present,
0101 voltage changes will happen very quickly with no slow ramp time.
0102 maxItems: 2
0103
0104 regulators:
0105 type: object
0106 patternProperties:
0107 "^(DCDC_REG[1-4]|LDO_REG[1-8]|SWITCH_REG[1-2])$":
0108 type: object
0109 $ref: ../regulator/regulator.yaml#
0110 unevaluatedProperties: false
0111
0112 required:
0113 - compatible
0114 - reg
0115 - interrupts
0116 - "#clock-cells"
0117
0118 additionalProperties: false
0119
0120 examples:
0121 - |
0122 #include <dt-bindings/pinctrl/rockchip.h>
0123 #include <dt-bindings/interrupt-controller/irq.h>
0124 #include <dt-bindings/gpio/gpio.h>
0125 i2c {
0126 #address-cells = <1>;
0127 #size-cells = <0>;
0128
0129 rk808: pmic@1b {
0130 compatible = "rockchip,rk808";
0131 clock-output-names = "xin32k", "rk808-clkout2";
0132 interrupt-parent = <&gpio0>;
0133 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
0134 pinctrl-names = "default";
0135 pinctrl-0 = <&pmic_int &dvs_1 &dvs_2>;
0136 dvs-gpios = <&gpio7 11 GPIO_ACTIVE_HIGH>,
0137 <&gpio7 15 GPIO_ACTIVE_HIGH>;
0138 reg = <0x1b>;
0139 rockchip,system-power-controller;
0140 wakeup-source;
0141 #clock-cells = <1>;
0142
0143 vcc8-supply = <&vcc_18>;
0144 vcc9-supply = <&vcc_io>;
0145 vcc10-supply = <&vcc_io>;
0146 vcc12-supply = <&vcc_io>;
0147 vddio-supply = <&vccio_pmu>;
0148
0149 regulators {
0150 vdd_cpu: DCDC_REG1 {
0151 regulator-always-on;
0152 regulator-boot-on;
0153 regulator-min-microvolt = <750000>;
0154 regulator-max-microvolt = <1300000>;
0155 regulator-name = "vdd_arm";
0156 };
0157
0158 vdd_gpu: DCDC_REG2 {
0159 regulator-always-on;
0160 regulator-boot-on;
0161 regulator-min-microvolt = <850000>;
0162 regulator-max-microvolt = <1250000>;
0163 regulator-name = "vdd_gpu";
0164 };
0165
0166 vcc_ddr: DCDC_REG3 {
0167 regulator-always-on;
0168 regulator-boot-on;
0169 regulator-name = "vcc_ddr";
0170 };
0171
0172 vcc_io: DCDC_REG4 {
0173 regulator-always-on;
0174 regulator-boot-on;
0175 regulator-min-microvolt = <3300000>;
0176 regulator-max-microvolt = <3300000>;
0177 regulator-name = "vcc_io";
0178 };
0179
0180 vccio_pmu: LDO_REG1 {
0181 regulator-always-on;
0182 regulator-boot-on;
0183 regulator-min-microvolt = <3300000>;
0184 regulator-max-microvolt = <3300000>;
0185 regulator-name = "vccio_pmu";
0186 };
0187
0188 vcc_tp: LDO_REG2 {
0189 regulator-always-on;
0190 regulator-boot-on;
0191 regulator-min-microvolt = <3300000>;
0192 regulator-max-microvolt = <3300000>;
0193 regulator-name = "vcc_tp";
0194 };
0195
0196 vdd_10: LDO_REG3 {
0197 regulator-always-on;
0198 regulator-boot-on;
0199 regulator-min-microvolt = <1000000>;
0200 regulator-max-microvolt = <1000000>;
0201 regulator-name = "vdd_10";
0202 };
0203
0204 vcc18_lcd: LDO_REG4 {
0205 regulator-always-on;
0206 regulator-boot-on;
0207 regulator-min-microvolt = <1800000>;
0208 regulator-max-microvolt = <1800000>;
0209 regulator-name = "vcc18_lcd";
0210 };
0211
0212 vccio_sd: LDO_REG5 {
0213 regulator-always-on;
0214 regulator-boot-on;
0215 regulator-min-microvolt = <1800000>;
0216 regulator-max-microvolt = <3300000>;
0217 regulator-name = "vccio_sd";
0218 };
0219
0220 vdd10_lcd: LDO_REG6 {
0221 regulator-always-on;
0222 regulator-boot-on;
0223 regulator-min-microvolt = <1000000>;
0224 regulator-max-microvolt = <1000000>;
0225 regulator-name = "vdd10_lcd";
0226 };
0227
0228 vcc_18: LDO_REG7 {
0229 regulator-always-on;
0230 regulator-boot-on;
0231 regulator-min-microvolt = <1800000>;
0232 regulator-max-microvolt = <1800000>;
0233 regulator-name = "vcc_18";
0234 };
0235
0236 vcca_codec: LDO_REG8 {
0237 regulator-always-on;
0238 regulator-boot-on;
0239 regulator-min-microvolt = <3300000>;
0240 regulator-max-microvolt = <3300000>;
0241 regulator-name = "vcca_codec";
0242 };
0243
0244 vcc_wl: SWITCH_REG1 {
0245 regulator-always-on;
0246 regulator-boot-on;
0247 regulator-name = "vcc_wl";
0248 };
0249
0250 vcc_lcd: SWITCH_REG2 {
0251 regulator-always-on;
0252 regulator-boot-on;
0253 regulator-name = "vcc_lcd";
0254 };
0255 };
0256 };
0257 };