xref: /openbmc/linux/arch/arm64/boot/dts/sprd/sc2731.dtsi (revision 0419a75b)
19f068ac8SBaolin Wang/*
29f068ac8SBaolin Wang * Spreadtrum SC2731 PMIC dts file
39f068ac8SBaolin Wang *
49f068ac8SBaolin Wang * Copyright (C) 2018, Spreadtrum Communications Inc.
59f068ac8SBaolin Wang *
69f068ac8SBaolin Wang * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
79f068ac8SBaolin Wang */
89f068ac8SBaolin Wang
99f068ac8SBaolin Wang&adi_bus {
109f068ac8SBaolin Wang	sc2731_pmic: pmic@0 {
119f068ac8SBaolin Wang		compatible = "sprd,sc2731";
129f068ac8SBaolin Wang		reg = <0>;
139f068ac8SBaolin Wang		spi-max-frequency = <26000000>;
149f068ac8SBaolin Wang		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
159f068ac8SBaolin Wang		interrupt-controller;
165863dbe0SBaolin Wang		#interrupt-cells = <1>;
179f068ac8SBaolin Wang		#address-cells = <1>;
189f068ac8SBaolin Wang		#size-cells = <0>;
199f068ac8SBaolin Wang
20a4795409SBaolin Wang		charger@0 {
21a4795409SBaolin Wang			compatible = "sprd,sc2731-charger";
22a4795409SBaolin Wang			reg = <0x0>;
23a4795409SBaolin Wang			monitored-battery = <&bat>;
24a4795409SBaolin Wang		};
25a4795409SBaolin Wang
2602c2455eSBaolin Wang		led-controller@200 {
270419a75bSBaolin Wang			compatible = "sprd,sc2731-bltc";
2802c2455eSBaolin Wang			reg = <0x200>;
2902c2455eSBaolin Wang			#address-cells = <1>;
3002c2455eSBaolin Wang			#size-cells = <0>;
3102c2455eSBaolin Wang
3202c2455eSBaolin Wang			led@0 {
3302c2455eSBaolin Wang				label = "red";
3402c2455eSBaolin Wang				reg = <0x0>;
3502c2455eSBaolin Wang			};
3602c2455eSBaolin Wang
3702c2455eSBaolin Wang			led@1 {
3802c2455eSBaolin Wang				label = "green";
3902c2455eSBaolin Wang				reg = <0x1>;
4002c2455eSBaolin Wang			};
4102c2455eSBaolin Wang
4202c2455eSBaolin Wang			led@2 {
4302c2455eSBaolin Wang				label = "blue";
4402c2455eSBaolin Wang				reg = <0x2>;
4502c2455eSBaolin Wang			};
4602c2455eSBaolin Wang		};
4702c2455eSBaolin Wang
489f068ac8SBaolin Wang		rtc@280 {
490419a75bSBaolin Wang			compatible = "sprd,sc2731-rtc";
509f068ac8SBaolin Wang			reg = <0x280>;
519f068ac8SBaolin Wang			interrupt-parent = <&sc2731_pmic>;
525863dbe0SBaolin Wang			interrupts = <2>;
539f068ac8SBaolin Wang		};
549f068ac8SBaolin Wang
551cea2c22SBaolin Wang		pmic_eic: gpio@300 {
560419a75bSBaolin Wang			compatible = "sprd,sc2731-eic";
571cea2c22SBaolin Wang			reg = <0x300>;
581cea2c22SBaolin Wang			interrupt-parent = <&sc2731_pmic>;
595863dbe0SBaolin Wang			interrupts = <5>;
601cea2c22SBaolin Wang			gpio-controller;
611cea2c22SBaolin Wang			#gpio-cells = <2>;
621cea2c22SBaolin Wang			interrupt-controller;
631cea2c22SBaolin Wang			#interrupt-cells = <2>;
641cea2c22SBaolin Wang		};
651cea2c22SBaolin Wang
6617a376c0SBaolin Wang		efuse@380 {
670419a75bSBaolin Wang			compatible = "sprd,sc2731-efuse";
6817a376c0SBaolin Wang			reg = <0x380>;
6917a376c0SBaolin Wang			#address-cells = <1>;
7017a376c0SBaolin Wang			#size-cells = <1>;
7117a376c0SBaolin Wang			hwlocks = <&hwlock 12>;
72640e2c51SBaolin Wang
7302643475SBaolin Wang			fgu_calib: calib@6 {
7402643475SBaolin Wang				reg = <0x6 0x2>;
7502643475SBaolin Wang				bits = <0 9>;
7602643475SBaolin Wang			};
7702643475SBaolin Wang
78640e2c51SBaolin Wang			adc_big_scale: calib@24 {
79640e2c51SBaolin Wang				reg = <0x24 0x2>;
80640e2c51SBaolin Wang			};
81640e2c51SBaolin Wang
82640e2c51SBaolin Wang			adc_small_scale: calib@26 {
83640e2c51SBaolin Wang				reg = <0x26 0x2>;
84640e2c51SBaolin Wang			};
8517a376c0SBaolin Wang		};
8617a376c0SBaolin Wang
87fc8e565fSBaolin Wang		pmic_adc: adc@480 {
880419a75bSBaolin Wang			compatible = "sprd,sc2731-adc";
89fc8e565fSBaolin Wang			reg = <0x480>;
90fc8e565fSBaolin Wang			interrupt-parent = <&sc2731_pmic>;
915863dbe0SBaolin Wang			interrupts = <0>;
92fc8e565fSBaolin Wang			#io-channel-cells = <1>;
93fc8e565fSBaolin Wang			hwlocks = <&hwlock 4>;
94640e2c51SBaolin Wang			nvmem-cell-names = "big_scale_calib", "small_scale_calib";
95640e2c51SBaolin Wang			nvmem-cells = <&adc_big_scale>, <&adc_small_scale>;
96fc8e565fSBaolin Wang		};
97fc8e565fSBaolin Wang
9802643475SBaolin Wang		fgu@a00 {
9902643475SBaolin Wang			compatible = "sprd,sc2731-fgu";
10002643475SBaolin Wang			reg = <0xa00>;
10102643475SBaolin Wang			bat-detect-gpio = <&pmic_eic 9 GPIO_ACTIVE_HIGH>;
10202643475SBaolin Wang			io-channels = <&pmic_adc 3>, <&pmic_adc 6>;
10302643475SBaolin Wang			io-channel-names = "bat-temp", "charge-vol";
10402643475SBaolin Wang			monitored-battery = <&bat>;
10502643475SBaolin Wang			nvmem-cell-names = "fgu_calib";
10602643475SBaolin Wang			nvmem-cells = <&fgu_calib>;
10702643475SBaolin Wang			interrupt-parent = <&sc2731_pmic>;
10802643475SBaolin Wang			interrupts = <4>;
10902643475SBaolin Wang		};
11002643475SBaolin Wang
111f94cd003SBaolin Wang		vibrator@ec8 {
1120419a75bSBaolin Wang			compatible = "sprd,sc2731-vibrator";
113f94cd003SBaolin Wang			reg = <0xec8>;
114f94cd003SBaolin Wang		};
115f94cd003SBaolin Wang
1169f068ac8SBaolin Wang		regulators {
1170419a75bSBaolin Wang			compatible = "sprd,sc2731-regulator";
1189f068ac8SBaolin Wang
1199f068ac8SBaolin Wang			vddarm0: BUCK_CPU0 {
1209f068ac8SBaolin Wang				regulator-name = "vddarm0";
1219f068ac8SBaolin Wang				regulator-min-microvolt = <400000>;
1229f068ac8SBaolin Wang				regulator-max-microvolt = <1996875>;
1239f068ac8SBaolin Wang				regulator-ramp-delay = <25000>;
1249f068ac8SBaolin Wang				regulator-always-on;
1259f068ac8SBaolin Wang			};
1269f068ac8SBaolin Wang
1279f068ac8SBaolin Wang			vddarm1: BUCK_CPU1 {
1289f068ac8SBaolin Wang				regulator-name = "vddarm1";
1299f068ac8SBaolin Wang				regulator-min-microvolt = <400000>;
1309f068ac8SBaolin Wang				regulator-max-microvolt = <1996875>;
1319f068ac8SBaolin Wang				regulator-ramp-delay = <25000>;
1329f068ac8SBaolin Wang				regulator-always-on;
1339f068ac8SBaolin Wang			};
1349f068ac8SBaolin Wang
1359f068ac8SBaolin Wang			dcdcrf: BUCK_RF {
1369f068ac8SBaolin Wang				regulator-name = "dcdcrf";
1379f068ac8SBaolin Wang				regulator-min-microvolt = <600000>;
1389f068ac8SBaolin Wang				regulator-max-microvolt = <2196875>;
1399f068ac8SBaolin Wang				regulator-ramp-delay = <25000>;
1409f068ac8SBaolin Wang				regulator-enable-ramp-delay = <100>;
1419f068ac8SBaolin Wang				regulator-always-on;
1429f068ac8SBaolin Wang			};
1439f068ac8SBaolin Wang
1449f068ac8SBaolin Wang			vddcama0: LDO_CAMA0 {
1459f068ac8SBaolin Wang				regulator-name = "vddcama0";
1469f068ac8SBaolin Wang				regulator-min-microvolt = <1200000>;
1479f068ac8SBaolin Wang				regulator-max-microvolt = <3750000>;
1489f068ac8SBaolin Wang				regulator-enable-ramp-delay = <100>;
1499f068ac8SBaolin Wang			};
1509f068ac8SBaolin Wang
1519f068ac8SBaolin Wang			vddcama1: LDO_CAMA1 {
1529f068ac8SBaolin Wang				regulator-name = "vddcama1";
1539f068ac8SBaolin Wang				regulator-min-microvolt = <1200000>;
1549f068ac8SBaolin Wang				regulator-max-microvolt = <3750000>;
1559f068ac8SBaolin Wang				regulator-enable-ramp-delay = <100>;
1569f068ac8SBaolin Wang				regulator-ramp-delay = <25000>;
1579f068ac8SBaolin Wang			};
1589f068ac8SBaolin Wang
1599f068ac8SBaolin Wang			vddcammot: LDO_CAMMOT {
1609f068ac8SBaolin Wang				regulator-name = "vddcammot";
1619f068ac8SBaolin Wang				regulator-min-microvolt = <1200000>;
1629f068ac8SBaolin Wang				regulator-max-microvolt = <3750000>;
1639f068ac8SBaolin Wang				regulator-enable-ramp-delay = <100>;
1649f068ac8SBaolin Wang				regulator-ramp-delay = <25000>;
1659f068ac8SBaolin Wang			};
1669f068ac8SBaolin Wang
1679f068ac8SBaolin Wang			vddvldo: LDO_VLDO {
1689f068ac8SBaolin Wang				regulator-name = "vddvldo";
1699f068ac8SBaolin Wang				regulator-min-microvolt = <1200000>;
1709f068ac8SBaolin Wang				regulator-max-microvolt = <3750000>;
1719f068ac8SBaolin Wang				regulator-enable-ramp-delay = <100>;
1729f068ac8SBaolin Wang				regulator-ramp-delay = <25000>;
1739f068ac8SBaolin Wang			};
1749f068ac8SBaolin Wang
1759f068ac8SBaolin Wang			vddemmccore: LDO_EMMCCORE {
1769f068ac8SBaolin Wang				regulator-name = "vddemmccore";
1779f068ac8SBaolin Wang				regulator-min-microvolt = <1200000>;
1789f068ac8SBaolin Wang				regulator-max-microvolt = <3750000>;
1799f068ac8SBaolin Wang				regulator-enable-ramp-delay = <100>;
1809f068ac8SBaolin Wang				regulator-ramp-delay = <25000>;
1819f068ac8SBaolin Wang				regulator-boot-on;
1829f068ac8SBaolin Wang			};
1839f068ac8SBaolin Wang
1849f068ac8SBaolin Wang			vddsdcore: LDO_SDCORE {
1859f068ac8SBaolin Wang				regulator-name = "vddsdcore";
1869f068ac8SBaolin Wang				regulator-min-microvolt = <1200000>;
1879f068ac8SBaolin Wang				regulator-max-microvolt = <3750000>;
1889f068ac8SBaolin Wang				regulator-enable-ramp-delay = <100>;
1899f068ac8SBaolin Wang				regulator-ramp-delay = <25000>;
1909f068ac8SBaolin Wang			};
1919f068ac8SBaolin Wang
1929f068ac8SBaolin Wang			vddsdio: LDO_SDIO {
1939f068ac8SBaolin Wang				regulator-name = "vddsdio";
1949f068ac8SBaolin Wang				regulator-min-microvolt = <1200000>;
1959f068ac8SBaolin Wang				regulator-max-microvolt = <3750000>;
1969f068ac8SBaolin Wang				regulator-enable-ramp-delay = <100>;
1979f068ac8SBaolin Wang				regulator-ramp-delay = <25000>;
1989f068ac8SBaolin Wang			};
1999f068ac8SBaolin Wang
2009f068ac8SBaolin Wang			vddwifipa: LDO_WIFIPA {
2019f068ac8SBaolin Wang				regulator-name = "vddwifipa";
2029f068ac8SBaolin Wang				regulator-min-microvolt = <1200000>;
2039f068ac8SBaolin Wang				regulator-max-microvolt = <3750000>;
2049f068ac8SBaolin Wang				regulator-enable-ramp-delay = <100>;
2059f068ac8SBaolin Wang				regulator-ramp-delay = <25000>;
2069f068ac8SBaolin Wang			};
2079f068ac8SBaolin Wang
2089f068ac8SBaolin Wang			vddusb33: LDO_USB33 {
2099f068ac8SBaolin Wang				regulator-name = "vddusb33";
2109f068ac8SBaolin Wang				regulator-min-microvolt = <1200000>;
2119f068ac8SBaolin Wang				regulator-max-microvolt = <3750000>;
2129f068ac8SBaolin Wang				regulator-enable-ramp-delay = <100>;
2139f068ac8SBaolin Wang				regulator-ramp-delay = <25000>;
2149f068ac8SBaolin Wang			};
2159f068ac8SBaolin Wang
2169f068ac8SBaolin Wang			vddcamd0: LDO_CAMD0 {
2179f068ac8SBaolin Wang				regulator-name = "vddcamd0";
2189f068ac8SBaolin Wang				regulator-min-microvolt = <1000000>;
2199f068ac8SBaolin Wang				regulator-max-microvolt = <1793750>;
2209f068ac8SBaolin Wang				regulator-enable-ramp-delay = <100>;
2219f068ac8SBaolin Wang				regulator-ramp-delay = <25000>;
2229f068ac8SBaolin Wang			};
2239f068ac8SBaolin Wang
2249f068ac8SBaolin Wang			vddcamd1: LDO_CAMD1 {
2259f068ac8SBaolin Wang				regulator-name = "vddcamd1";
2269f068ac8SBaolin Wang				regulator-min-microvolt = <1000000>;
2279f068ac8SBaolin Wang				regulator-max-microvolt = <1793750>;
2289f068ac8SBaolin Wang				regulator-enable-ramp-delay = <100>;
2299f068ac8SBaolin Wang				regulator-ramp-delay = <25000>;
2309f068ac8SBaolin Wang			};
2319f068ac8SBaolin Wang
2329f068ac8SBaolin Wang			vddcon: LDO_CON {
2339f068ac8SBaolin Wang				regulator-name = "vddcon";
2349f068ac8SBaolin Wang				regulator-min-microvolt = <1000000>;
2359f068ac8SBaolin Wang				regulator-max-microvolt = <1793750>;
2369f068ac8SBaolin Wang				regulator-enable-ramp-delay = <100>;
2379f068ac8SBaolin Wang				regulator-ramp-delay = <25000>;
2389f068ac8SBaolin Wang			};
2399f068ac8SBaolin Wang
2409f068ac8SBaolin Wang			vddcamio: LDO_CAMIO {
2419f068ac8SBaolin Wang				regulator-name = "vddcamio";
2429f068ac8SBaolin Wang				regulator-min-microvolt = <1000000>;
2439f068ac8SBaolin Wang				regulator-max-microvolt = <1793750>;
2449f068ac8SBaolin Wang				regulator-enable-ramp-delay = <100>;
2459f068ac8SBaolin Wang				regulator-ramp-delay = <25000>;
2469f068ac8SBaolin Wang			};
2479f068ac8SBaolin Wang
2489f068ac8SBaolin Wang			vddsram: LDO_SRAM {
2499f068ac8SBaolin Wang				regulator-name = "vddsram";
2509f068ac8SBaolin Wang				regulator-min-microvolt = <1000000>;
2519f068ac8SBaolin Wang				regulator-max-microvolt = <1793750>;
2529f068ac8SBaolin Wang				regulator-enable-ramp-delay = <100>;
2539f068ac8SBaolin Wang				regulator-ramp-delay = <25000>;
2549f068ac8SBaolin Wang				regulator-always-on;
2559f068ac8SBaolin Wang			};
2569f068ac8SBaolin Wang		};
2579f068ac8SBaolin Wang	};
2589f068ac8SBaolin Wang};
259