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