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,rk818.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: RK818 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 RK818 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,rk818
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 boost-supply:
0065 description:
0066 The input supply for DCDC_BOOST
0067
0068 vcc6-supply:
0069 description:
0070 The input supply for LDO_REG1 and LDO_REG2.
0071
0072 vcc7-supply:
0073 description:
0074 The input supply for LDO_REG3, LDO_REG5, and LDO_REG7.
0075
0076 vcc8-supply:
0077 description:
0078 The input supply for LDO_REG4, LDO_REG6, and LDO_REG8.
0079
0080 vcc9-supply:
0081 description:
0082 The input supply for LDO_REG9 and SWITCH_REG.
0083
0084 vddio-supply:
0085 description:
0086 The input supply for digital IO.
0087
0088 h_5v-supply:
0089 description:
0090 The input supply for HDMI_SWITCH.
0091
0092 usb-supply:
0093 description:
0094 The input supply for OTG_SWITCH.
0095
0096 regulators:
0097 type: object
0098 patternProperties:
0099 "^(DCDC_REG[1-4]|DCDC_BOOST|LDO_REG[1-9]|SWITCH_REG|HDMI_SWITCH|OTG_SWITCH)$":
0100 type: object
0101 $ref: ../regulator/regulator.yaml#
0102 unevaluatedProperties: false
0103
0104 required:
0105 - compatible
0106 - reg
0107 - interrupts
0108 - "#clock-cells"
0109
0110 additionalProperties: false
0111
0112 examples:
0113 - |
0114 #include <dt-bindings/clock/px30-cru.h>
0115 #include <dt-bindings/pinctrl/rockchip.h>
0116 #include <dt-bindings/interrupt-controller/irq.h>
0117 #include <dt-bindings/gpio/gpio.h>
0118 i2c {
0119 #address-cells = <1>;
0120 #size-cells = <0>;
0121
0122 rk818: pmic@1c {
0123 compatible = "rockchip,rk818";
0124 reg = <0x1c>;
0125 interrupt-parent = <&gpio0>;
0126 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
0127 pinctrl-names = "default";
0128 pinctrl-0 = <&pmic_int>;
0129 rockchip,system-power-controller;
0130 wakeup-source;
0131 #clock-cells = <1>;
0132
0133 vcc1-supply = <&vdd_sys>;
0134 vcc2-supply = <&vdd_sys>;
0135 vcc3-supply = <&vdd_sys>;
0136 vcc4-supply = <&vdd_sys>;
0137 boost-supply = <&vdd_in_otg_out>;
0138 vcc6-supply = <&vdd_sys>;
0139 vcc7-supply = <&vdd_misc_1v8>;
0140 vcc8-supply = <&vdd_misc_1v8>;
0141 vcc9-supply = <&vdd_3v3_io>;
0142 vddio-supply = <&vdd_3v3_io>;
0143
0144 regulators {
0145 vdd_log: DCDC_REG1 {
0146 regulator-name = "vdd_log";
0147 regulator-always-on;
0148 regulator-boot-on;
0149 regulator-min-microvolt = <1100000>;
0150 regulator-max-microvolt = <1100000>;
0151 regulator-state-mem {
0152 regulator-off-in-suspend;
0153 };
0154 };
0155
0156 vdd_gpu: DCDC_REG2 {
0157 regulator-name = "vdd_gpu";
0158 regulator-always-on;
0159 regulator-boot-on;
0160 regulator-min-microvolt = <800000>;
0161 regulator-max-microvolt = <1250000>;
0162 regulator-state-mem {
0163 regulator-on-in-suspend;
0164 regulator-suspend-microvolt = <1000000>;
0165 };
0166 };
0167
0168 vcc_ddr: DCDC_REG3 {
0169 regulator-name = "vcc_ddr";
0170 regulator-always-on;
0171 regulator-boot-on;
0172 regulator-state-mem {
0173 regulator-on-in-suspend;
0174 };
0175 };
0176
0177 vdd_3v3_io: DCDC_REG4 {
0178 regulator-name = "vdd_3v3_io";
0179 regulator-always-on;
0180 regulator-boot-on;
0181 regulator-min-microvolt = <3300000>;
0182 regulator-max-microvolt = <3300000>;
0183 regulator-state-mem {
0184 regulator-on-in-suspend;
0185 regulator-suspend-microvolt = <3300000>;
0186 };
0187 };
0188
0189 vdd_sys: DCDC_BOOST {
0190 regulator-name = "vdd_sys";
0191 regulator-always-on;
0192 regulator-boot-on;
0193 regulator-min-microvolt = <5000000>;
0194 regulator-max-microvolt = <5000000>;
0195 regulator-state-mem {
0196 regulator-on-in-suspend;
0197 regulator-suspend-microvolt = <5000000>;
0198 };
0199 };
0200
0201 vdd_sd: SWITCH_REG {
0202 regulator-name = "vdd_sd";
0203 regulator-always-on;
0204 regulator-boot-on;
0205 regulator-state-mem {
0206 regulator-off-in-suspend;
0207 };
0208 };
0209
0210 vdd_eth_2v5: LDO_REG2 {
0211 regulator-name = "vdd_eth_2v5";
0212 regulator-always-on;
0213 regulator-boot-on;
0214 regulator-min-microvolt = <2500000>;
0215 regulator-max-microvolt = <2500000>;
0216 regulator-state-mem {
0217 regulator-on-in-suspend;
0218 regulator-suspend-microvolt = <2500000>;
0219 };
0220 };
0221
0222 vdd_1v0: LDO_REG3 {
0223 regulator-name = "vdd_1v0";
0224 regulator-always-on;
0225 regulator-boot-on;
0226 regulator-min-microvolt = <1000000>;
0227 regulator-max-microvolt = <1000000>;
0228 regulator-state-mem {
0229 regulator-on-in-suspend;
0230 regulator-suspend-microvolt = <1000000>;
0231 };
0232 };
0233
0234 vdd_1v8_lcd_ldo: LDO_REG4 {
0235 regulator-name = "vdd_1v8_lcd_ldo";
0236 regulator-always-on;
0237 regulator-boot-on;
0238 regulator-min-microvolt = <1800000>;
0239 regulator-max-microvolt = <1800000>;
0240 regulator-state-mem {
0241 regulator-on-in-suspend;
0242 regulator-suspend-microvolt = <1800000>;
0243 };
0244 };
0245
0246 vdd_1v0_lcd: LDO_REG6 {
0247 regulator-name = "vdd_1v0_lcd";
0248 regulator-always-on;
0249 regulator-boot-on;
0250 regulator-min-microvolt = <1000000>;
0251 regulator-max-microvolt = <1000000>;
0252 regulator-state-mem {
0253 regulator-on-in-suspend;
0254 regulator-suspend-microvolt = <1000000>;
0255 };
0256 };
0257
0258 vdd_1v8_ldo: LDO_REG7 {
0259 regulator-name = "vdd_1v8_ldo";
0260 regulator-always-on;
0261 regulator-boot-on;
0262 regulator-min-microvolt = <1800000>;
0263 regulator-max-microvolt = <1800000>;
0264 regulator-state-mem {
0265 regulator-off-in-suspend;
0266 regulator-suspend-microvolt = <1800000>;
0267 };
0268 };
0269
0270 vdd_io_sd: LDO_REG9 {
0271 regulator-name = "vdd_io_sd";
0272 regulator-always-on;
0273 regulator-boot-on;
0274 regulator-min-microvolt = <1800000>;
0275 regulator-max-microvolt = <3300000>;
0276 regulator-state-mem {
0277 regulator-off-in-suspend;
0278 };
0279 };
0280 };
0281 };
0282 };