Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

dt-bindings: mfd: Add rk801 binding

Add DT binding document for Rockchip's RK801 PMIC

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://patch.msgid.link/20260112124351.17707-2-chenjh@rock-chips.com
Signed-off-by: Lee Jones <lee@kernel.org>

authored by

Joseph Chen and committed by
Lee Jones
a8a2add7 8f0b4cce

+197
+197
Documentation/devicetree/bindings/mfd/rockchip,rk801.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/mfd/rockchip,rk801.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: RK801 Power Management Integrated Circuit 8 + 9 + maintainers: 10 + - Joseph Chen <chenjh@rock-chips.com> 11 + 12 + description: | 13 + Rockchip RK801 series PMIC. This device consists of an i2c controlled MFD 14 + that includes multiple switchable regulators. 15 + 16 + properties: 17 + compatible: 18 + enum: 19 + - rockchip,rk801 20 + 21 + reg: 22 + maxItems: 1 23 + 24 + interrupts: 25 + maxItems: 1 26 + 27 + system-power-controller: 28 + type: boolean 29 + description: 30 + Telling whether or not this PMIC is controlling the system power. 31 + 32 + wakeup-source: 33 + type: boolean 34 + description: 35 + Device can be used as a wakeup source. 36 + 37 + vcc1-supply: 38 + description: 39 + The input supply for dcdc1. 40 + 41 + vcc2-supply: 42 + description: 43 + The input supply for dcdc2. 44 + 45 + vcc3-supply: 46 + description: 47 + The input supply for dcdc3. 48 + 49 + vcc4-supply: 50 + description: 51 + The input supply for dcdc4. 52 + 53 + vcc5-supply: 54 + description: 55 + The input supply for ldo1. 56 + 57 + vcc6-supply: 58 + description: 59 + The input supply for ldo2. 60 + 61 + vcc7-supply: 62 + description: 63 + The input supply for switch. 64 + 65 + regulators: 66 + type: object 67 + patternProperties: 68 + "^(dcdc[1-4]|ldo[1-2]|switch)$": 69 + type: object 70 + $ref: /schemas/regulator/regulator.yaml# 71 + unevaluatedProperties: false 72 + additionalProperties: false 73 + 74 + required: 75 + - compatible 76 + - reg 77 + - interrupts 78 + 79 + additionalProperties: false 80 + 81 + examples: 82 + - | 83 + #include <dt-bindings/pinctrl/rockchip.h> 84 + #include <dt-bindings/interrupt-controller/irq.h> 85 + #include <dt-bindings/gpio/gpio.h> 86 + 87 + i2c { 88 + #address-cells = <1>; 89 + #size-cells = <0>; 90 + 91 + rk801: pmic@27 { 92 + compatible = "rockchip,rk801"; 93 + reg = <0x27>; 94 + interrupt-parent = <&gpio0>; 95 + interrupts = <RK_PC0 IRQ_TYPE_LEVEL_LOW>; 96 + pinctrl-names = "default"; 97 + pinctrl-0 = <&pmic_int_l>; 98 + system-power-controller; 99 + wakeup-source; 100 + 101 + vcc1-supply = <&vcc_sys>; 102 + vcc2-supply = <&vcc_sys>; 103 + vcc3-supply = <&vcc_sys>; 104 + vcc4-supply = <&vcc_sys>; 105 + vcc5-supply = <&vcc3v3_sys>; 106 + vcc6-supply = <&vcc3v3_sys>; 107 + vcc7-supply = <&vcc3v3_sys>; 108 + 109 + regulators { 110 + vdd_cpu: dcdc1 { 111 + regulator-name = "vdd_cpu"; 112 + regulator-min-microvolt = <500000>; 113 + regulator-max-microvolt = <1500000>; 114 + regulator-initial-mode = <0x1>; 115 + regulator-boot-on; 116 + regulator-always-on; 117 + regulator-state-mem { 118 + regulator-mode = <0x2>; 119 + regulator-off-in-suspend; 120 + regulator-suspend-microvolt = <950000>; 121 + }; 122 + }; 123 + 124 + vcc3v3_sys: dcdc2 { 125 + regulator-name = "vcc3v3_sys"; 126 + regulator-min-microvolt = <3300000>; 127 + regulator-max-microvolt = <3300000>; 128 + regulator-initial-mode = <0x1>; 129 + regulator-boot-on; 130 + regulator-always-on; 131 + regulator-state-mem { 132 + regulator-mode = <0x2>; 133 + regulator-on-in-suspend; 134 + regulator-suspend-microvolt = <3300000>; 135 + }; 136 + }; 137 + 138 + vcc_ddr: dcdc3 { 139 + regulator-name = "vcc_ddr"; 140 + regulator-boot-on; 141 + regulator-always-on; 142 + regulator-state-mem { 143 + regulator-mode = <0x2>; 144 + regulator-on-in-suspend; 145 + }; 146 + }; 147 + 148 + vdd_logic: dcdc4 { 149 + regulator-name = "vdd_logic"; 150 + regulator-min-microvolt = <500000>; 151 + regulator-max-microvolt = <1500000>; 152 + regulator-initial-mode = <0x1>; 153 + regulator-boot-on; 154 + regulator-always-on; 155 + regulator-state-mem { 156 + regulator-mode = <0x2>; 157 + regulator-off-in-suspend; 158 + regulator-suspend-microvolt = <900000>; 159 + }; 160 + }; 161 + 162 + vdd0v9_sys: ldo1 { 163 + regulator-name = "vdd0v9_sys"; 164 + regulator-min-microvolt = <900000>; 165 + regulator-max-microvolt = <900000>; 166 + regulator-boot-on; 167 + regulator-always-on; 168 + regulator-state-mem { 169 + regulator-off-in-suspend; 170 + regulator-suspend-microvolt = <900000>; 171 + }; 172 + }; 173 + 174 + vcc_1v8: ldo2 { 175 + regulator-name = "vcc_1v8"; 176 + regulator-min-microvolt = <1800000>; 177 + regulator-max-microvolt = <1800000>; 178 + regulator-boot-on; 179 + regulator-always-on; 180 + regulator-state-mem { 181 + regulator-off-in-suspend; 182 + regulator-suspend-microvolt = <1800000>; 183 + }; 184 + }; 185 + 186 + vcc_3v3: switch { 187 + regulator-name = "vcc_3v3"; 188 + regulator-boot-on; 189 + regulator-always-on; 190 + regulator-state-mem { 191 + regulator-off-in-suspend; 192 + regulator-suspend-microvolt = <3300000>; 193 + }; 194 + }; 195 + }; 196 + }; 197 + };