~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/mfd/rockchip,rk817.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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,rk817.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: RK809/RK817 Power Management Integrated Circuit
  8 
  9 maintainers:
 10   - Chris Zhong <zyw@rock-chips.com>
 11   - Zhang Qing <zhangqing@rock-chips.com>
 12 
 13 description: |
 14   Rockchip RK809/RK817 series PMIC. This device consists of an i2c controlled
 15   MFD that includes regulators, an RTC, a power button and an audio codec.
 16   The RK817 variant also provides a battery charger manager.
 17 
 18 properties:
 19   compatible:
 20     enum:
 21       - rockchip,rk809
 22       - rockchip,rk817
 23 
 24   reg:
 25     maxItems: 1
 26 
 27   interrupts:
 28     maxItems: 1
 29 
 30   '#clock-cells':
 31     description:
 32       See <dt-bindings/clock/rockchip,rk808.h> for clock IDs.
 33     minimum: 0
 34     maximum: 1
 35 
 36   clocks:
 37     maxItems: 1
 38 
 39   clock-names:
 40     items:
 41       - const: mclk
 42 
 43   clock-output-names:
 44     description:
 45       From common clock binding to override the default output clock name.
 46 
 47   rockchip,system-power-controller:
 48     type: boolean
 49     deprecated: true
 50     description:
 51       Telling whether or not this PMIC is controlling the system power.
 52 
 53   '#sound-dai-cells':
 54     const: 0
 55 
 56   system-power-controller: true
 57 
 58   wakeup-source:
 59     type: boolean
 60     description:
 61       Device can be used as a wakeup source.
 62 
 63   vcc1-supply:
 64     description:
 65       The input supply for DCDC_REG1.
 66 
 67   vcc2-supply:
 68     description:
 69       The input supply for DCDC_REG2.
 70 
 71   vcc3-supply:
 72     description:
 73       The input supply for DCDC_REG3.
 74 
 75   vcc4-supply:
 76     description:
 77       The input supply for DCDC_REG4.
 78 
 79   vcc5-supply:
 80     description:
 81       The input supply for LDO_REG1, LDO_REG2, and LDO_REG3.
 82 
 83   vcc6-supply:
 84     description:
 85       The input supply for LDO_REG4, LDO_REG5, and LDO_REG6.
 86 
 87   vcc7-supply:
 88     description:
 89       The input supply for LDO_REG7, LDO_REG8, and LDO_REG9.
 90 
 91   vcc8-supply:
 92     description:
 93       The input supply for BOOST on RK817, or for SWITCH_REG2 on RK809.
 94 
 95   vcc9-supply:
 96     description:
 97       The input supply for OTG_SWITCH on RK817,
 98       or for DCDC_REG5 and SWITCH_REG1 on RK809.
 99 
100   regulators:
101     type: object
102     patternProperties:
103       "^(LDO_REG[1-9]|DCDC_REG[1-5]|BOOST|OTG_SWITCH|SWITCH_REG[1-2])$":
104         $ref: /schemas/regulator/regulator.yaml
105         unevaluatedProperties: false
106     additionalProperties: false
107 
108   codec:
109     type: object
110     additionalProperties: false
111     properties:
112       rockchip,mic-in-differential:
113         type: boolean
114         description:
115           Describes if the microphone uses differential mode.
116 
117   charger:
118     type: object
119     $ref: /schemas/power/supply/power-supply.yaml
120 
121     properties:
122       monitored-battery:
123         description: |
124           A phandle to a monitored battery node that contains a valid
125           value for:
126           charge-full-design-microamp-hours,
127           charge-term-current-microamp,
128           constant-charge-current-max-microamp,
129           constant-charge-voltage-max-microvolt,
130           voltage-max-design-microvolt,
131           voltage-min-design-microvolt,
132           and a valid ocv-capacity table.
133 
134       rockchip,resistor-sense-micro-ohms:
135         description: |
136           Value in microohms of the battery sense resistor. This value is
137           used by the driver to set the correct divisor value to translate
138           ADC readings into the proper units of measure.
139         enum: [10000, 20000]
140 
141       rockchip,sleep-enter-current-microamp:
142         description: |
143           Value in microamps of the sleep enter current for the charger.
144           Value is used by the driver to calibrate the relax threshold.
145 
146       rockchip,sleep-filter-current-microamp:
147         description:
148           Value in microamps of the sleep filter current for the charger.
149           Value is used by the driver to derive the sleep sample current.
150 
151     required:
152       - monitored-battery
153       - rockchip,resistor-sense-micro-ohms
154       - rockchip,sleep-enter-current-microamp
155       - rockchip,sleep-filter-current-microamp
156 
157     additionalProperties: false
158 
159 allOf:
160   - $ref: /schemas/sound/dai-common.yaml#
161   - if:
162       properties:
163         '#clock-cells':
164           const: 0
165 
166     then:
167       properties:
168         clock-output-names:
169           maxItems: 1
170 
171     else:
172       properties:
173         clock-output-names:
174           maxItems: 2
175 
176   - if:
177       properties:
178         compatible:
179           contains:
180             const: rockchip,rk817
181     then:
182       properties:
183         regulators:
184           patternProperties:
185             "^(DCDC_REG5|SWITCH_REG[1-2])$": false
186     else:
187       properties:
188         regulators:
189           patternProperties:
190             "^(BOOST|OTG_SWITCH)$": false
191 
192 required:
193   - compatible
194   - reg
195   - interrupts
196   - "#clock-cells"
197 
198 additionalProperties: false
199 
200 examples:
201   - |
202     #include <dt-bindings/clock/px30-cru.h>
203     #include <dt-bindings/pinctrl/rockchip.h>
204     #include <dt-bindings/interrupt-controller/irq.h>
205     #include <dt-bindings/gpio/gpio.h>
206     i2c {
207         #address-cells = <1>;
208         #size-cells = <0>;
209 
210         rk817: pmic@20 {
211             compatible = "rockchip,rk817";
212             reg = <0x20>;
213             interrupt-parent = <&gpio0>;
214             interrupts = <RK_PB2 IRQ_TYPE_LEVEL_LOW>;
215             clock-output-names = "rk808-clkout1", "xin32k";
216             clock-names = "mclk";
217             clocks = <&cru SCLK_I2S1_OUT>;
218             pinctrl-names = "default";
219             pinctrl-0 = <&pmic_int>, <&i2s1_2ch_mclk>;
220             wakeup-source;
221             #clock-cells = <1>;
222             #sound-dai-cells = <0>;
223 
224             vcc1-supply = <&vccsys>;
225             vcc2-supply = <&vccsys>;
226             vcc3-supply = <&vccsys>;
227             vcc4-supply = <&vccsys>;
228             vcc5-supply = <&vccsys>;
229             vcc6-supply = <&vccsys>;
230             vcc7-supply = <&vccsys>;
231 
232             regulators {
233                 vdd_logic: DCDC_REG1 {
234                     regulator-name = "vdd_logic";
235                     regulator-min-microvolt = <950000>;
236                     regulator-max-microvolt = <1150000>;
237                     regulator-ramp-delay = <6001>;
238                     regulator-always-on;
239                     regulator-boot-on;
240 
241                     regulator-state-mem {
242                         regulator-on-in-suspend;
243                         regulator-suspend-microvolt = <950000>;
244                     };
245                 };
246 
247                 vdd_arm: DCDC_REG2 {
248                     regulator-name = "vdd_arm";
249                     regulator-min-microvolt = <950000>;
250                     regulator-max-microvolt = <1350000>;
251                     regulator-ramp-delay = <6001>;
252                     regulator-always-on;
253                     regulator-boot-on;
254 
255                     regulator-state-mem {
256                         regulator-off-in-suspend;
257                         regulator-suspend-microvolt = <950000>;
258                     };
259                 };
260 
261                 vcc_ddr: DCDC_REG3 {
262                     regulator-name = "vcc_ddr";
263                     regulator-always-on;
264                     regulator-boot-on;
265 
266                     regulator-state-mem {
267                         regulator-on-in-suspend;
268                     };
269                 };
270 
271                 vcc_3v3: DCDC_REG4 {
272                     regulator-name = "vcc_3v3";
273                     regulator-min-microvolt = <3300000>;
274                     regulator-max-microvolt = <3300000>;
275                     regulator-always-on;
276                     regulator-boot-on;
277 
278                     regulator-state-mem {
279                         regulator-off-in-suspend;
280                         regulator-suspend-microvolt = <3300000>;
281                     };
282                 };
283 
284                 vcc_1v8: LDO_REG2 {
285                     regulator-name = "vcc_1v8";
286                     regulator-min-microvolt = <1800000>;
287                     regulator-max-microvolt = <1800000>;
288                     regulator-always-on;
289                     regulator-boot-on;
290 
291                     regulator-state-mem {
292                         regulator-on-in-suspend;
293                         regulator-suspend-microvolt = <1800000>;
294                     };
295                 };
296 
297                 vdd_1v0: LDO_REG3 {
298                     regulator-name = "vdd_1v0";
299                     regulator-min-microvolt = <1000000>;
300                     regulator-max-microvolt = <1000000>;
301                     regulator-always-on;
302                     regulator-boot-on;
303 
304                     regulator-state-mem {
305                         regulator-on-in-suspend;
306                         regulator-suspend-microvolt = <1000000>;
307                     };
308                 };
309 
310                 vcc3v3_pmu: LDO_REG4 {
311                     regulator-name = "vcc3v3_pmu";
312                     regulator-min-microvolt = <3300000>;
313                     regulator-max-microvolt = <3300000>;
314                     regulator-always-on;
315                     regulator-boot-on;
316 
317                     regulator-state-mem {
318                         regulator-on-in-suspend;
319                         regulator-suspend-microvolt = <3300000>;
320                     };
321                 };
322 
323                 vccio_sd: LDO_REG5 {
324                     regulator-name = "vccio_sd";
325                     regulator-min-microvolt = <1800000>;
326                     regulator-max-microvolt = <3300000>;
327                     regulator-always-on;
328                     regulator-boot-on;
329 
330                     regulator-state-mem {
331                         regulator-on-in-suspend;
332                         regulator-suspend-microvolt = <3300000>;
333                     };
334                 };
335 
336                 vcc_sd: LDO_REG6 {
337                     regulator-name = "vcc_sd";
338                     regulator-min-microvolt = <3300000>;
339                     regulator-max-microvolt = <3300000>;
340                     regulator-boot-on;
341 
342                     regulator-state-mem {
343                         regulator-on-in-suspend;
344                         regulator-suspend-microvolt = <3300000>;
345                     };
346                 };
347 
348                 vcc_bl: LDO_REG7 {
349                     regulator-name = "vcc_bl";
350                     regulator-min-microvolt = <3300000>;
351                     regulator-max-microvolt = <3300000>;
352 
353                     regulator-state-mem {
354                         regulator-off-in-suspend;
355                         regulator-suspend-microvolt = <3300000>;
356                     };
357                 };
358 
359                 vcc_lcd: LDO_REG8 {
360                     regulator-name = "vcc_lcd";
361                     regulator-min-microvolt = <2800000>;
362                     regulator-max-microvolt = <2800000>;
363 
364                     regulator-state-mem {
365                         regulator-off-in-suspend;
366                         regulator-suspend-microvolt = <2800000>;
367                     };
368                 };
369 
370                 vcc_cam: LDO_REG9 {
371                     regulator-name = "vcc_cam";
372                     regulator-min-microvolt = <3000000>;
373                     regulator-max-microvolt = <3000000>;
374 
375                     regulator-state-mem {
376                         regulator-off-in-suspend;
377                         regulator-suspend-microvolt = <3000000>;
378                     };
379                 };
380             };
381 
382             rk817_charger: charger {
383                 monitored-battery = <&battery>;
384                 rockchip,resistor-sense-micro-ohms = <10000>;
385                 rockchip,sleep-enter-current-microamp = <300000>;
386                 rockchip,sleep-filter-current-microamp = <100000>;
387             };
388 
389             rk817_codec: codec {
390                 rockchip,mic-in-differential;
391             };
392         };
393     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php