Commit d8fcfbf3 authored by Cristian Ciocaltea's avatar Cristian Ciocaltea Committed by Arnd Bergmann
Browse files

ARM: dts: owl-s500-roseapplepi: Add ATC2603C PMIC



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: default avatarCristian Ciocaltea <cristian.ciocaltea@gmail.com>
Signed-off-by: default avatarManivannan Sadhasivam <mani@kernel.org>
Reviewed-by: default avatarManivannan Sadhasivam <mani@kernel.org>
Link: https://lore.kernel.org/r/2e0a2931ae3757f016948e7c78e8e54afa325ae0.1615538629.git.cristian.ciocaltea@gmail.com
Link: https://lore.kernel.org/r/20210408062232.3575-1-mani@kernel.org

'
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent e3e12762
Loading
Loading
Loading
Loading
+126 −6
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@
/*
 * Roseapple Pi
 *
 * Copyright (C) 2020 Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
 * Copyright (C) 2020-2021 Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
 */

/dts-v1/;
@@ -27,20 +27,140 @@
		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@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 {