mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-19 09:04:51 +08:00
6c38ca0340
Convert the rk808 bindings into yaml format. clock-output-names varies in maxItems depending on whether or not the clock-cells is 0 or 1. For the rk805, rk809, and rk817. This preserves behavior with the existing driver handling setting the clock for these specific PMICs. When this driver is corrected and the devicetrees updated this logic can be removed (since the rk805, rk808, and rk817 only have one actual clock). Note this patch was previously sent as a series, all of the patches in the series except this one have been committed to mainline. Signed-off-by: Chris Morgan <macromorgan@hotmail.com> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Lee Jones <lee.jones@linaro.org> Link: https://lore.kernel.org/r/20220519161731.1168-1-macroalpha82@gmail.com
285 lines
8.4 KiB
YAML
285 lines
8.4 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/mfd/rockchip,rk809.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: RK809 Power Management Integrated Circuit
|
|
|
|
maintainers:
|
|
- Chris Zhong <zyw@rock-chips.com>
|
|
- Zhang Qing <zhangqing@rock-chips.com>
|
|
|
|
description: |
|
|
Rockchip RK809 series PMIC. This device consists of an i2c controlled MFD
|
|
that includes regulators, an RTC, and power button.
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- rockchip,rk809
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
'#clock-cells':
|
|
description: |
|
|
See <dt-bindings/clock/rockchip,rk808.h> for clock IDs.
|
|
minimum: 0
|
|
maximum: 1
|
|
|
|
clock-output-names:
|
|
description:
|
|
From common clock binding to override the default output clock name.
|
|
|
|
rockchip,system-power-controller:
|
|
type: boolean
|
|
description:
|
|
Telling whether or not this PMIC is controlling the system power.
|
|
|
|
wakeup-source:
|
|
type: boolean
|
|
description:
|
|
Device can be used as a wakeup source.
|
|
|
|
vcc1-supply:
|
|
description:
|
|
The input supply for DCDC_REG1.
|
|
|
|
vcc2-supply:
|
|
description:
|
|
The input supply for DCDC_REG2.
|
|
|
|
vcc3-supply:
|
|
description:
|
|
The input supply for DCDC_REG3.
|
|
|
|
vcc4-supply:
|
|
description:
|
|
The input supply for DCDC_REG4.
|
|
|
|
vcc5-supply:
|
|
description:
|
|
The input supply for LDO_REG1, LDO_REG2, and LDO_REG3.
|
|
|
|
vcc6-supply:
|
|
description:
|
|
The input supply for LDO_REG4, LDO_REG5, and LDO_REG6.
|
|
|
|
vcc7-supply:
|
|
description:
|
|
The input supply for LDO_REG7, LDO_REG8, and LDO_REG9.
|
|
|
|
vcc8-supply:
|
|
description:
|
|
The input supply for SWITCH_REG1.
|
|
|
|
vcc9-supply:
|
|
description:
|
|
The input supply for DCDC_REG5 and SWITCH_REG2.
|
|
|
|
regulators:
|
|
type: object
|
|
patternProperties:
|
|
"^(LDO_REG[1-9]|DCDC_REG[1-5]|SWITCH_REG[1-2])$":
|
|
type: object
|
|
$ref: ../regulator/regulator.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
'#clock-cells':
|
|
const: 0
|
|
|
|
then:
|
|
properties:
|
|
clock-output-names:
|
|
maxItems: 1
|
|
|
|
else:
|
|
properties:
|
|
clock-output-names:
|
|
maxItems: 2
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
- "#clock-cells"
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/pinctrl/rockchip.h>
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
rk808: pmic@1b {
|
|
compatible = "rockchip,rk808";
|
|
reg = <0x1b>;
|
|
#clock-cells = <1>;
|
|
clock-output-names = "xin32k", "rk808-clkout2";
|
|
interrupt-parent = <&gpio3>;
|
|
interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pmic_int_l_pin>;
|
|
rockchip,system-power-controller;
|
|
wakeup-source;
|
|
|
|
vcc1-supply = <&vcc_sysin>;
|
|
vcc2-supply = <&vcc_sysin>;
|
|
vcc3-supply = <&vcc_sysin>;
|
|
vcc4-supply = <&vcc_sysin>;
|
|
vcc6-supply = <&vcc_sysin>;
|
|
vcc7-supply = <&vcc_sysin>;
|
|
vcc8-supply = <&vcc3v3_sys>;
|
|
vcc9-supply = <&vcc_sysin>;
|
|
vcc10-supply = <&vcc_sysin>;
|
|
vcc11-supply = <&vcc_sysin>;
|
|
vcc12-supply = <&vcc3v3_sys>;
|
|
|
|
regulators {
|
|
vdd_center: DCDC_REG1 {
|
|
regulator-name = "vdd_center";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <750000>;
|
|
regulator-max-microvolt = <1350000>;
|
|
regulator-ramp-delay = <6001>;
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
};
|
|
};
|
|
|
|
vdd_cpu_l: DCDC_REG2 {
|
|
regulator-name = "vdd_cpu_l";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <750000>;
|
|
regulator-max-microvolt = <1350000>;
|
|
regulator-ramp-delay = <6001>;
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
};
|
|
};
|
|
|
|
vcc_ddr: DCDC_REG3 {
|
|
regulator-name = "vcc_ddr";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
};
|
|
};
|
|
|
|
vcc_1v8: vcc_wl: DCDC_REG4 {
|
|
regulator-name = "vcc_1v8";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <1800000>;
|
|
};
|
|
};
|
|
|
|
vcc1v8_pmupll: LDO_REG3 {
|
|
regulator-name = "vcc1v8_pmupll";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <1800000>;
|
|
};
|
|
};
|
|
|
|
vcc_sdio: LDO_REG4 {
|
|
regulator-name = "vcc_sdio";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <3000000>;
|
|
};
|
|
};
|
|
|
|
vcca3v0_codec: LDO_REG5 {
|
|
regulator-name = "vcca3v0_codec";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
};
|
|
};
|
|
|
|
vcc_1v5: LDO_REG6 {
|
|
regulator-name = "vcc_1v5";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <1500000>;
|
|
regulator-max-microvolt = <1500000>;
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <1500000>;
|
|
};
|
|
};
|
|
|
|
vcca1v8_codec: LDO_REG7 {
|
|
regulator-name = "vcca1v8_codec";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
};
|
|
};
|
|
|
|
vcc_3v0: LDO_REG8 {
|
|
regulator-name = "vcc_3v0";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <3000000>;
|
|
};
|
|
};
|
|
|
|
vcc3v3_s3: SWITCH_REG1 {
|
|
regulator-name = "vcc3v3_s3";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
};
|
|
};
|
|
|
|
vcc3v3_s0: SWITCH_REG2 {
|
|
regulator-name = "vcc3v3_s0";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|