[PATCH 1/1] arm: dts: owl-s500-roseapplepi: Add ATC2603C PMIC
Manivannan Sadhasivam
mani at kernel.org
Thu Apr 1 06:29:29 BST 2021
On Fri, Mar 12, 2021 at 11:49:27AM +0200, Cristian Ciocaltea wrote:
> Add device tree node for ATC2603C PMIC and remove the 'fixed-3.1V'
> dummy regulator used for the uSD supply.
>
> Additionally, add 'SYSPWR' fixed regulator and provide cpu0 supply.
>
> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea at gmail.com>
Reviewed-by: Manivannan Sadhasivam <mani at kernel.org>
Thanks,
Mani
> ---
> Please note the patch depends on the ATC260x PMIC support which is queued
> for merging in v5.13:
>
> https://lore.kernel.org/lkml/cover.1611653995.git.cristian.ciocaltea@gmail.com/
> https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git/log/?h=for-mfd-next&qt=range&q=a38fd8748464831584a19438cbb3082b5a2dab15..eac013a0b7041f5cfc8feedf429a767675350102
>
> arch/arm/boot/dts/owl-s500-roseapplepi.dts | 132 ++++++++++++++++++++-
> 1 file changed, 126 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm/boot/dts/owl-s500-roseapplepi.dts b/arch/arm/boot/dts/owl-s500-roseapplepi.dts
> index ff91561ca99c..b8c5db2344aa 100644
> --- a/arch/arm/boot/dts/owl-s500-roseapplepi.dts
> +++ b/arch/arm/boot/dts/owl-s500-roseapplepi.dts
> @@ -2,7 +2,7 @@
> /*
> * Roseapple Pi
> *
> - * Copyright (C) 2020 Cristian Ciocaltea <cristian.ciocaltea at gmail.com>
> + * Copyright (C) 2020-2021 Cristian Ciocaltea <cristian.ciocaltea at gmail.com>
> */
>
> /dts-v1/;
> @@ -27,20 +27,140 @@ memory at 0 {
> reg = <0x0 0x80000000>; /* 2GB */
> };
>
> - /* Fixed regulator used in the absence of PMIC */
> - sd_vcc: sd-vcc {
> + syspwr: regulator-5v0 {
> compatible = "regulator-fixed";
> - regulator-name = "fixed-3.1V";
> - regulator-min-microvolt = <3100000>;
> - regulator-max-microvolt = <3100000>;
> + regulator-name = "SYSPWR";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> regulator-always-on;
> };
> };
>
> +&cpu0 {
> + cpu0-supply = <&vdd_cpu>;
> +};
> +
> &i2c0 {
> status = "okay";
> pinctrl-names = "default";
> pinctrl-0 = <&i2c0_pins>;
> +
> + atc260x: pmic at 65 {
> + compatible = "actions,atc2603c";
> + reg = <0x65>;
> + interrupt-parent = <&sirq>;
> + interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
> +
> + reset-time-sec = <6>;
> +
> + regulators {
> + compatible = "actions,atc2603c-regulator";
> +
> + dcdc1-supply = <&syspwr>;
> + dcdc2-supply = <&syspwr>;
> + dcdc3-supply = <&syspwr>;
> + ldo1-supply = <&syspwr>;
> + ldo2-supply = <&syspwr>;
> + ldo3-supply = <&syspwr>;
> + ldo5-supply = <&syspwr>;
> + ldo6-supply = <&syspwr>;
> + ldo7-supply = <&syspwr>;
> + ldo8-supply = <&syspwr>;
> + ldo11-supply = <&syspwr>;
> + ldo12-supply = <&syspwr>;
> + switchldo1-supply = <&vcc>;
> +
> + vdd_cpu: dcdc1 {
> + regulator-name = "VDD_CPU";
> + regulator-min-microvolt = <700000>;
> + regulator-max-microvolt = <1400000>;
> + regulator-always-on;
> + };
> +
> + vddq: dcdc2 {
> + regulator-name = "VDDQ";
> + regulator-min-microvolt = <1300000>;
> + regulator-max-microvolt = <2150000>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
> + vcc: dcdc3 {
> + regulator-name = "VCC";
> + regulator-min-microvolt = <2600000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + };
> +
> + vcc_3v3: ldo1 {
> + regulator-name = "VCC_3V3";
> + regulator-min-microvolt = <2600000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + };
> +
> + avcc: ldo2 {
> + regulator-name = "AVCC";
> + regulator-min-microvolt = <2600000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + };
> +
> + vdd_1v8: ldo3 {
> + regulator-name = "VDD_1V8";
> + regulator-min-microvolt = <1500000>;
> + regulator-max-microvolt = <2000000>;
> + regulator-always-on;
> + };
> +
> + vcc_3v1: ldo5 {
> + regulator-name = "VCC_3V1";
> + regulator-min-microvolt = <2600000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +
> + avdd: ldo6 {
> + regulator-name = "AVDD";
> + regulator-min-microvolt = <700000>;
> + regulator-max-microvolt = <1400000>;
> + regulator-always-on;
> + };
> +
> + sens_1v8: ldo7 {
> + regulator-name = "SENS_1V8";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo8: ldo8 {
> + regulator-name = "LDO8";
> + regulator-min-microvolt = <2300000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +
> + svcc: ldo11 {
> + regulator-name = "SVCC";
> + regulator-min-microvolt = <2600000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + };
> +
> + rtc_vdd: ldo12 {
> + regulator-name = "RTC_VDD";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + sd_vcc: switchldo1 {
> + regulator-name = "SD_VCC";
> + regulator-min-microvolt = <3000000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> + };
> + };
> };
>
> &i2c1 {
> --
> 2.30.2
>
More information about the linux-arm-kernel
mailing list