Back to home page

OSCL-LXR

 
 

    


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