13f99518cSJean THOMAS// SPDX-License-Identifier: GPL-2.0-only
2290d4306SKonrad Dybcio/*
3290d4306SKonrad Dybcio * Copyright (c) 2015, LGE Inc. All rights reserved.
43f99518cSJean THOMAS * Copyright (c) 2016, The Linux Foundation. All rights reserved.
5*26a91359SPetr Vorel * Copyright (c) 2021-2022, Petr Vorel <petr.vorel@gmail.com>
622c7e1a0SDominik Kobinski * Copyright (c) 2022, Dominik Kobinski <dominikkobinski314@gmail.com>
73f99518cSJean THOMAS */
83f99518cSJean THOMAS
93f99518cSJean THOMAS/dts-v1/;
103f99518cSJean THOMAS
113f99518cSJean THOMAS#include "msm8992.dtsi"
123f99518cSJean THOMAS#include "pm8994.dtsi"
133f99518cSJean THOMAS#include "pmi8994.dtsi"
143f99518cSJean THOMAS
153f99518cSJean THOMAS/* cont_splash_mem has different memory mapping */
163f99518cSJean THOMAS/delete-node/ &cont_splash_mem;
173f99518cSJean THOMAS
183f99518cSJean THOMAS/ {
193f99518cSJean THOMAS	model = "LG Nexus 5X";
203f99518cSJean THOMAS	compatible = "lg,bullhead", "qcom,msm8992";
213f99518cSJean THOMAS	chassis-type = "handset";
223f99518cSJean THOMAS
233f99518cSJean THOMAS	qcom,msm-id = <251 0>, <252 0>;
243f99518cSJean THOMAS	qcom,pmic-id = <0x10009 0x1000A 0x0 0x0>;
253f99518cSJean THOMAS
263f99518cSJean THOMAS	/* Bullhead firmware doesn't support PSCI */
273f99518cSJean THOMAS	/delete-node/ psci;
283f99518cSJean THOMAS
293f99518cSJean THOMAS	aliases {
303f99518cSJean THOMAS		serial0 = &blsp1_uart2;
313f99518cSJean THOMAS	};
323f99518cSJean THOMAS
333f99518cSJean THOMAS	chosen {
343f99518cSJean THOMAS		stdout-path = "serial0:115200n8";
353f99518cSJean THOMAS	};
363f99518cSJean THOMAS
373f99518cSJean THOMAS	reserved-memory {
383f99518cSJean THOMAS		#address-cells = <2>;
393f99518cSJean THOMAS		#size-cells = <2>;
403f99518cSJean THOMAS		ranges;
413f99518cSJean THOMAS
423f99518cSJean THOMAS		ramoops@1ff00000 {
433f99518cSJean THOMAS			compatible = "ramoops";
443f99518cSJean THOMAS			reg = <0x0 0x1ff00000 0x0 0x40000>;
453f99518cSJean THOMAS			console-size = <0x10000>;
463f99518cSJean THOMAS			record-size = <0x10000>;
473f99518cSJean THOMAS			ftrace-size = <0x10000>;
483f99518cSJean THOMAS			pmsg-size = <0x20000>;
493f99518cSJean THOMAS		};
503f99518cSJean THOMAS
513f99518cSJean THOMAS		cont_splash_mem: memory@3400000 {
52*26a91359SPetr Vorel			reg = <0 0x03400000 0 0xc00000>;
533f99518cSJean THOMAS			no-map;
543f99518cSJean THOMAS		};
5522c7e1a0SDominik Kobinski
5622c7e1a0SDominik Kobinski		removed_region: reserved@5000000 {
5722c7e1a0SDominik Kobinski			reg = <0 0x05000000 0 0x2200000>;
5822c7e1a0SDominik Kobinski			no-map;
5922c7e1a0SDominik Kobinski		};
603f99518cSJean THOMAS	};
613f99518cSJean THOMAS};
623f99518cSJean THOMAS
633f99518cSJean THOMAS&blsp1_uart2 {
643f99518cSJean THOMAS	status = "okay";
653f99518cSJean THOMAS};
663f99518cSJean THOMAS
673f99518cSJean THOMAS&rpm_requests {
68372698e8SKrzysztof Kozlowski	pm8994_regulators: regulators-0 {
693f99518cSJean THOMAS		compatible = "qcom,rpm-pm8994-regulators";
703f99518cSJean THOMAS
713f99518cSJean THOMAS		vdd_l1-supply = <&pm8994_s1>;
723f99518cSJean THOMAS		vdd_l2_26_28-supply = <&pm8994_s3>;
733f99518cSJean THOMAS		vdd_l3_11-supply = <&pm8994_s3>;
743f99518cSJean THOMAS		vdd_l4_27_31-supply = <&pm8994_s3>;
753f99518cSJean THOMAS		vdd_l5_7-supply = <&pm8994_s3>;
763f99518cSJean THOMAS		vdd_l6_12_32-supply = <&pm8994_s5>;
773f99518cSJean THOMAS		vdd_l8_16_30-supply = <&vph_pwr>;
783f99518cSJean THOMAS		vdd_l9_10_18_22-supply = <&vph_pwr>;
793f99518cSJean THOMAS		vdd_l13_19_23_24-supply = <&vph_pwr>;
803f99518cSJean THOMAS		vdd_l14_15-supply = <&pm8994_s5>;
813f99518cSJean THOMAS		vdd_l17_29-supply = <&vph_pwr>;
823f99518cSJean THOMAS		vdd_l20_21-supply = <&vph_pwr>;
833f99518cSJean THOMAS		vdd_l25-supply = <&pm8994_s5>;
845fb77955SStephan Gerhold		vdd_lvs1_2-supply = <&pm8994_s4>;
853f99518cSJean THOMAS
863f99518cSJean THOMAS		/* S1, S2, S6 and S12 are managed by RPMPD */
873f99518cSJean THOMAS
883f99518cSJean THOMAS		pm8994_s1: s1 {
893f99518cSJean THOMAS			regulator-min-microvolt = <800000>;
903f99518cSJean THOMAS			regulator-max-microvolt = <800000>;
913f99518cSJean THOMAS		};
923f99518cSJean THOMAS
933f99518cSJean THOMAS		pm8994_s2: s2 {
943f99518cSJean THOMAS			/* TODO */
953f99518cSJean THOMAS		};
963f99518cSJean THOMAS
973f99518cSJean THOMAS		pm8994_s3: s3 {
983f99518cSJean THOMAS			regulator-min-microvolt = <1300000>;
993f99518cSJean THOMAS			regulator-max-microvolt = <1300000>;
1003f99518cSJean THOMAS		};
1013f99518cSJean THOMAS
1023f99518cSJean THOMAS		pm8994_s4: s4 {
1033f99518cSJean THOMAS			regulator-min-microvolt = <1800000>;
1043f99518cSJean THOMAS			regulator-max-microvolt = <1800000>;
1053f99518cSJean THOMAS			regulator-allow-set-load;
1063f99518cSJean THOMAS			regulator-system-load = <325000>;
1073f99518cSJean THOMAS		};
1083f99518cSJean THOMAS
1093f99518cSJean THOMAS		pm8994_s5: s5 {
1103f99518cSJean THOMAS			regulator-min-microvolt = <2150000>;
1113f99518cSJean THOMAS			regulator-max-microvolt = <2150000>;
1123f99518cSJean THOMAS		};
1133f99518cSJean THOMAS
1143f99518cSJean THOMAS		pm8994_s7: s7 {
1153f99518cSJean THOMAS			regulator-min-microvolt = <1000000>;
1163f99518cSJean THOMAS			regulator-max-microvolt = <1000000>;
1173f99518cSJean THOMAS		};
1183f99518cSJean THOMAS
1193f99518cSJean THOMAS		/* S8, S9, S10 and S11 - SPMI-managed VDD_APC */
1203f99518cSJean THOMAS
1213f99518cSJean THOMAS		pm8994_l1: l1 {
1223f99518cSJean THOMAS			regulator-min-microvolt = <1000000>;
1233f99518cSJean THOMAS			regulator-max-microvolt = <1000000>;
1243f99518cSJean THOMAS		};
1253f99518cSJean THOMAS
1263f99518cSJean THOMAS		pm8994_l2: l2 {
1273f99518cSJean THOMAS			regulator-min-microvolt = <1250000>;
1283f99518cSJean THOMAS			regulator-max-microvolt = <1250000>;
1293f99518cSJean THOMAS		};
1303f99518cSJean THOMAS
1313f99518cSJean THOMAS		pm8994_l3: l3 {
1323f99518cSJean THOMAS			regulator-min-microvolt = <1200000>;
1333f99518cSJean THOMAS			regulator-max-microvolt = <1200000>;
1343f99518cSJean THOMAS		};
1353f99518cSJean THOMAS
1363f99518cSJean THOMAS		pm8994_l4: l4 {
1373f99518cSJean THOMAS			regulator-min-microvolt = <1225000>;
1383f99518cSJean THOMAS			regulator-max-microvolt = <1225000>;
1393f99518cSJean THOMAS		};
1403f99518cSJean THOMAS
1413f99518cSJean THOMAS		/* L5 is inaccessible from RPM */
1423f99518cSJean THOMAS
1433f99518cSJean THOMAS		pm8994_l6: l6 {
1443f99518cSJean THOMAS			regulator-min-microvolt = <1800000>;
1453f99518cSJean THOMAS			regulator-max-microvolt = <1800000>;
1463f99518cSJean THOMAS		};
1473f99518cSJean THOMAS
1483f99518cSJean THOMAS		/* L7 is inaccessible from RPM */
1493f99518cSJean THOMAS
1503f99518cSJean THOMAS		pm8994_l8: l8 {
1513f99518cSJean THOMAS			regulator-min-microvolt = <1800000>;
1523f99518cSJean THOMAS			regulator-max-microvolt = <1800000>;
1533f99518cSJean THOMAS		};
1543f99518cSJean THOMAS
1553f99518cSJean THOMAS		pm8994_l9: l9 {
1563f99518cSJean THOMAS			regulator-min-microvolt = <1800000>;
1573f99518cSJean THOMAS			regulator-max-microvolt = <1800000>;
1583f99518cSJean THOMAS		};
1593f99518cSJean THOMAS
1603f99518cSJean THOMAS		pm8994_l10: l10 {
1613f99518cSJean THOMAS			regulator-min-microvolt = <1800000>;
1623f99518cSJean THOMAS			regulator-max-microvolt = <1800000>;
1633f99518cSJean THOMAS		};
1643f99518cSJean THOMAS
1653f99518cSJean THOMAS		pm8994_l11: l11 {
1663f99518cSJean THOMAS			regulator-min-microvolt = <1200000>;
1673f99518cSJean THOMAS			regulator-max-microvolt = <1200000>;
1683f99518cSJean THOMAS		};
1693f99518cSJean THOMAS
1703f99518cSJean THOMAS		pm8994_l12: l12 {
1713f99518cSJean THOMAS			regulator-min-microvolt = <1800000>;
1723f99518cSJean THOMAS			regulator-max-microvolt = <1800000>;
1733f99518cSJean THOMAS		};
1743f99518cSJean THOMAS
1753f99518cSJean THOMAS		pm8994_l13: l13 {
1763f99518cSJean THOMAS			regulator-min-microvolt = <1800000>;
1773f99518cSJean THOMAS			regulator-max-microvolt = <2950000>;
1783f99518cSJean THOMAS		};
1793f99518cSJean THOMAS
1803f99518cSJean THOMAS		pm8994_l14: l14 {
1813f99518cSJean THOMAS			regulator-min-microvolt = <1200000>;
1823f99518cSJean THOMAS			regulator-max-microvolt = <1200000>;
1833f99518cSJean THOMAS		};
1843f99518cSJean THOMAS
1853f99518cSJean THOMAS		pm8994_l15: l15 {
1863f99518cSJean THOMAS			regulator-min-microvolt = <1800000>;
1873f99518cSJean THOMAS			regulator-max-microvolt = <1800000>;
1883f99518cSJean THOMAS		};
1893f99518cSJean THOMAS
1903f99518cSJean THOMAS		pm8994_l16: l16 {
1913f99518cSJean THOMAS			regulator-min-microvolt = <2700000>;
1923f99518cSJean THOMAS			regulator-max-microvolt = <2700000>;
1933f99518cSJean THOMAS		};
1943f99518cSJean THOMAS
1953f99518cSJean THOMAS		pm8994_l17: l17 {
1963f99518cSJean THOMAS			regulator-min-microvolt = <2700000>;
1973f99518cSJean THOMAS			regulator-max-microvolt = <2700000>;
1983f99518cSJean THOMAS		};
1993f99518cSJean THOMAS
2003f99518cSJean THOMAS		pm8994_l18: l18 {
2013f99518cSJean THOMAS			regulator-min-microvolt = <3000000>;
2023f99518cSJean THOMAS			regulator-max-microvolt = <3000000>;
2033f99518cSJean THOMAS		};
2043f99518cSJean THOMAS
2053f99518cSJean THOMAS		pm8994_l19: l19 {
2063f99518cSJean THOMAS			regulator-min-microvolt = <1800000>;
2073f99518cSJean THOMAS			regulator-max-microvolt = <1800000>;
2083f99518cSJean THOMAS		};
2093f99518cSJean THOMAS
2103f99518cSJean THOMAS		pm8994_l20: l20 {
2113f99518cSJean THOMAS			regulator-min-microvolt = <2950000>;
2123f99518cSJean THOMAS			regulator-max-microvolt = <2950000>;
2133f99518cSJean THOMAS			regulator-always-on;
2143f99518cSJean THOMAS			regulator-boot-on;
2153f99518cSJean THOMAS			regulator-allow-set-load;
2163f99518cSJean THOMAS			regulator-system-load = <570000>;
2173f99518cSJean THOMAS		};
2183f99518cSJean THOMAS
2193f99518cSJean THOMAS		pm8994_l21: l21 {
2203f99518cSJean THOMAS			regulator-min-microvolt = <1800000>;
2213f99518cSJean THOMAS			regulator-max-microvolt = <1800000>;
2223f99518cSJean THOMAS			regulator-always-on;
2233f99518cSJean THOMAS		};
2243f99518cSJean THOMAS
2253f99518cSJean THOMAS		pm8994_l22: l22 {
2263f99518cSJean THOMAS			regulator-min-microvolt = <3100000>;
2273f99518cSJean THOMAS			regulator-max-microvolt = <3100000>;
2283f99518cSJean THOMAS		};
2293f99518cSJean THOMAS
2303f99518cSJean THOMAS		pm8994_l23: l23 {
2313f99518cSJean THOMAS			regulator-min-microvolt = <2800000>;
2323f99518cSJean THOMAS			regulator-max-microvolt = <2800000>;
2333f99518cSJean THOMAS		};
2343f99518cSJean THOMAS
2353f99518cSJean THOMAS		pm8994_l24: l24 {
2363f99518cSJean THOMAS			regulator-min-microvolt = <3075000>;
2373f99518cSJean THOMAS			regulator-max-microvolt = <3150000>;
2383f99518cSJean THOMAS		};
2393f99518cSJean THOMAS
2403f99518cSJean THOMAS		pm8994_l25: l25 {
2413f99518cSJean THOMAS			regulator-min-microvolt = <1800000>;
2423f99518cSJean THOMAS			regulator-max-microvolt = <1800000>;
2433f99518cSJean THOMAS		};
2443f99518cSJean THOMAS
2453f99518cSJean THOMAS		pm8994_l26: l26 {
246290d4306SKonrad Dybcio			/*
247290d4306SKonrad Dybcio			 * TODO: value from downstream
248290d4306SKonrad Dybcio			 * regulator-min-microvolt = <987500>;
249290d4306SKonrad Dybcio			 * fails to apply
250290d4306SKonrad Dybcio			 */
2513f99518cSJean THOMAS		};
2523f99518cSJean THOMAS
2533f99518cSJean THOMAS		pm8994_l27: l27 {
2543f99518cSJean THOMAS			regulator-min-microvolt = <1050000>;
2553f99518cSJean THOMAS			regulator-max-microvolt = <1050000>;
2563f99518cSJean THOMAS		};
2573f99518cSJean THOMAS
2583f99518cSJean THOMAS		pm8994_l28: l28 {
2593f99518cSJean THOMAS			regulator-min-microvolt = <1000000>;
2603f99518cSJean THOMAS			regulator-max-microvolt = <1000000>;
2613f99518cSJean THOMAS		};
2623f99518cSJean THOMAS
2633f99518cSJean THOMAS		pm8994_l29: l29 {
264290d4306SKonrad Dybcio			/*
265290d4306SKonrad Dybcio			 * TODO: Unsupported voltage range.
266290d4306SKonrad Dybcio			 * regulator-min-microvolt = <2800000>;
267290d4306SKonrad Dybcio			 * regulator-max-microvolt = <2800000>;
2683f99518cSJean THOMAS			 */
2693f99518cSJean THOMAS		};
2703f99518cSJean THOMAS
2713f99518cSJean THOMAS		pm8994_l30: l30 {
272290d4306SKonrad Dybcio			/*
273290d4306SKonrad Dybcio			 * TODO: get this verified
274290d4306SKonrad Dybcio			 * regulator-min-microvolt = <1800000>;
275290d4306SKonrad Dybcio			 * regulator-max-microvolt = <1800000>;
2763f99518cSJean THOMAS			 */
2773f99518cSJean THOMAS		};
2783f99518cSJean THOMAS
2793f99518cSJean THOMAS		pm8994_l31: l31 {
2803f99518cSJean THOMAS			regulator-min-microvolt = <1262500>;
2813f99518cSJean THOMAS			regulator-max-microvolt = <1262500>;
2823f99518cSJean THOMAS		};
2833f99518cSJean THOMAS
2843f99518cSJean THOMAS		pm8994_l32: l32 {
285290d4306SKonrad Dybcio			/*
286290d4306SKonrad Dybcio			 * TODO: get this verified
287290d4306SKonrad Dybcio			 * regulator-min-microvolt = <1800000>;
288290d4306SKonrad Dybcio			 * regulator-max-microvolt = <1800000>;
2893f99518cSJean THOMAS			 */
2903f99518cSJean THOMAS		};
2913f99518cSJean THOMAS	};
2923f99518cSJean THOMAS
293372698e8SKrzysztof Kozlowski	pmi8994_regulators: regulators-1 {
2943f99518cSJean THOMAS		compatible = "qcom,rpm-pmi8994-regulators";
2953f99518cSJean THOMAS
2963f99518cSJean THOMAS		vdd_s1-supply = <&vph_pwr>;
2973f99518cSJean THOMAS		vdd_bst_byp-supply = <&vph_pwr>;
2983f99518cSJean THOMAS
2993f99518cSJean THOMAS		pmi8994_s1: s1 {};
3003f99518cSJean THOMAS
3013f99518cSJean THOMAS		/* S2 & S3 - VDD_GFX */
3023f99518cSJean THOMAS
3033f99518cSJean THOMAS		pmi8994_bby: boost-bypass {};
3043f99518cSJean THOMAS	};
3053f99518cSJean THOMAS};
3063f99518cSJean THOMAS
3073f99518cSJean THOMAS&sdhc1 {
3083f99518cSJean THOMAS	status = "okay";
3093f99518cSJean THOMAS
3103f99518cSJean THOMAS	mmc-hs400-1_8v;
3113f99518cSJean THOMAS};
312