18bab661aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
28bab661aSEmmanuel Vadot
38bab661aSEmmanuel Vadot/dts-v1/;
48bab661aSEmmanuel Vadot
5fac71e4eSEmmanuel Vadot#include <dt-bindings/leds/common.h>
68bab661aSEmmanuel Vadot#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
78bab661aSEmmanuel Vadot#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
88bab661aSEmmanuel Vadot#include <dt-bindings/sound/qcom,q6afe.h>
98bab661aSEmmanuel Vadot#include <dt-bindings/sound/qcom,q6asm.h>
108bab661aSEmmanuel Vadot#include "sdm845.dtsi"
11cb7aa33aSEmmanuel Vadot#include "sdm845-wcd9340.dtsi"
128bab661aSEmmanuel Vadot#include "pm8998.dtsi"
138bab661aSEmmanuel Vadot#include "pmi8998.dtsi"
148bab661aSEmmanuel Vadot
158bab661aSEmmanuel Vadot/*
168bab661aSEmmanuel Vadot * Delete following upstream (sdm845.dtsi) reserved
178bab661aSEmmanuel Vadot * memory mappings which are different in this device.
188bab661aSEmmanuel Vadot */
198bab661aSEmmanuel Vadot/delete-node/ &tz_mem;
208bab661aSEmmanuel Vadot/delete-node/ &adsp_mem;
218bab661aSEmmanuel Vadot/delete-node/ &wlan_msa_mem;
228bab661aSEmmanuel Vadot/delete-node/ &mpss_region;
238bab661aSEmmanuel Vadot/delete-node/ &venus_mem;
248bab661aSEmmanuel Vadot/delete-node/ &cdsp_mem;
258bab661aSEmmanuel Vadot/delete-node/ &mba_region;
268bab661aSEmmanuel Vadot/delete-node/ &slpi_mem;
278bab661aSEmmanuel Vadot/delete-node/ &spss_mem;
288bab661aSEmmanuel Vadot/delete-node/ &rmtfs_mem;
298bab661aSEmmanuel Vadot
308bab661aSEmmanuel Vadot/ {
318bab661aSEmmanuel Vadot	chassis-type = "handset";
328bab661aSEmmanuel Vadot
338bab661aSEmmanuel Vadot	/* required for bootloader to select correct board */
348bab661aSEmmanuel Vadot	qcom,board-id = <69 0>;
358bab661aSEmmanuel Vadot	qcom,msm-id = <321 0x20001>;
368bab661aSEmmanuel Vadot
378bab661aSEmmanuel Vadot	aliases {
388bab661aSEmmanuel Vadot		serial1 = &uart6;
398bab661aSEmmanuel Vadot	};
408bab661aSEmmanuel Vadot
418bab661aSEmmanuel Vadot	gpio-keys {
428bab661aSEmmanuel Vadot		compatible = "gpio-keys";
438bab661aSEmmanuel Vadot		autorepeat;
448bab661aSEmmanuel Vadot
458bab661aSEmmanuel Vadot		pinctrl-names = "default";
468bab661aSEmmanuel Vadot		pinctrl-0 = <&vol_up_pin_a>;
478bab661aSEmmanuel Vadot
488bab661aSEmmanuel Vadot		key-vol-up {
498bab661aSEmmanuel Vadot			label = "Volume Up";
508bab661aSEmmanuel Vadot			linux,code = <KEY_VOLUMEUP>;
51cb7aa33aSEmmanuel Vadot			gpios = <&pm8998_gpios 6 GPIO_ACTIVE_LOW>;
528bab661aSEmmanuel Vadot		};
538bab661aSEmmanuel Vadot	};
548bab661aSEmmanuel Vadot
558bab661aSEmmanuel Vadot	/* Reserved memory changes from downstream */
568bab661aSEmmanuel Vadot	reserved-memory {
578bab661aSEmmanuel Vadot		tz_mem: memory@86200000 {
588bab661aSEmmanuel Vadot			reg = <0 0x86200000 0 0x4900000>;
598bab661aSEmmanuel Vadot			no-map;
608bab661aSEmmanuel Vadot		};
618bab661aSEmmanuel Vadot
628bab661aSEmmanuel Vadot		adsp_mem: memory@8c500000 {
638bab661aSEmmanuel Vadot			reg = <0 0x8c500000 0 0x1e00000>;
648bab661aSEmmanuel Vadot			no-map;
658bab661aSEmmanuel Vadot		};
668bab661aSEmmanuel Vadot
678bab661aSEmmanuel Vadot		wlan_msa_mem: memory@8e300000 {
688bab661aSEmmanuel Vadot			reg = <0 0x8e300000 0 0x100000>;
698bab661aSEmmanuel Vadot			no-map;
708bab661aSEmmanuel Vadot		};
718bab661aSEmmanuel Vadot
728bab661aSEmmanuel Vadot		mpss_region: memory@8e400000 {
738bab661aSEmmanuel Vadot			reg = <0 0x8e400000 0 0x7800000>;
748bab661aSEmmanuel Vadot			no-map;
758bab661aSEmmanuel Vadot		};
768bab661aSEmmanuel Vadot
778bab661aSEmmanuel Vadot		venus_mem: memory@95c00000 {
788bab661aSEmmanuel Vadot			reg = <0 0x95c00000 0 0x500000>;
798bab661aSEmmanuel Vadot			no-map;
808bab661aSEmmanuel Vadot		};
818bab661aSEmmanuel Vadot
828bab661aSEmmanuel Vadot		cdsp_mem: memory@96100000 {
838bab661aSEmmanuel Vadot			reg = <0 0x96100000 0 0x800000>;
848bab661aSEmmanuel Vadot			no-map;
858bab661aSEmmanuel Vadot		};
868bab661aSEmmanuel Vadot
878bab661aSEmmanuel Vadot		mba_region: memory@96900000 {
888bab661aSEmmanuel Vadot			reg = <0 0x96900000 0 0x200000>;
898bab661aSEmmanuel Vadot			no-map;
908bab661aSEmmanuel Vadot		};
918bab661aSEmmanuel Vadot
928bab661aSEmmanuel Vadot		slpi_mem: memory@96b00000 {
938bab661aSEmmanuel Vadot			reg = <0 0x96b00000 0 0x1400000>;
948bab661aSEmmanuel Vadot			no-map;
958bab661aSEmmanuel Vadot		};
968bab661aSEmmanuel Vadot
978bab661aSEmmanuel Vadot		spss_mem: memory@97f00000 {
988bab661aSEmmanuel Vadot			reg = <0 0x97f00000 0 0x100000>;
998bab661aSEmmanuel Vadot			no-map;
1008bab661aSEmmanuel Vadot		};
1018bab661aSEmmanuel Vadot
102cb7aa33aSEmmanuel Vadot		/* Cont splash region set up by the bootloader */
103cb7aa33aSEmmanuel Vadot		cont_splash_mem: framebuffer@9d400000 {
104cb7aa33aSEmmanuel Vadot			reg = <0 0x9d400000 0 0x2400000>;
105cb7aa33aSEmmanuel Vadot			no-map;
106cb7aa33aSEmmanuel Vadot		};
107cb7aa33aSEmmanuel Vadot
1088bab661aSEmmanuel Vadot		rmtfs_mem: memory@f6301000 {
1098bab661aSEmmanuel Vadot			compatible = "qcom,rmtfs-mem";
1108bab661aSEmmanuel Vadot			reg = <0 0xf6301000 0 0x200000>;
1118bab661aSEmmanuel Vadot			no-map;
1128bab661aSEmmanuel Vadot
1138bab661aSEmmanuel Vadot			qcom,client-id = <1>;
11484943d6fSEmmanuel Vadot			qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
1158bab661aSEmmanuel Vadot		};
1168bab661aSEmmanuel Vadot	};
1178bab661aSEmmanuel Vadot
118f126890aSEmmanuel Vadot	battery: battery {
119f126890aSEmmanuel Vadot		compatible = "simple-battery";
120f126890aSEmmanuel Vadot
121f126890aSEmmanuel Vadot		charge-full-design-microamp-hours = <4000000>;
122f126890aSEmmanuel Vadot		voltage-min-design-microvolt = <3400000>;
123f126890aSEmmanuel Vadot		voltage-max-design-microvolt = <4400000>;
124f126890aSEmmanuel Vadot	};
125f126890aSEmmanuel Vadot
1268bab661aSEmmanuel Vadot	vreg_s4a_1p8: vreg-s4a-1p8 {
1278bab661aSEmmanuel Vadot		compatible = "regulator-fixed";
1288bab661aSEmmanuel Vadot		regulator-name = "vreg_s4a_1p8";
1298bab661aSEmmanuel Vadot
1308bab661aSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
1318bab661aSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
1328bab661aSEmmanuel Vadot		regulator-always-on;
1338bab661aSEmmanuel Vadot	};
1348bab661aSEmmanuel Vadot};
1358bab661aSEmmanuel Vadot
1368bab661aSEmmanuel Vadot&adsp_pas {
1378bab661aSEmmanuel Vadot	status = "okay";
1388bab661aSEmmanuel Vadot	firmware-name = "qcom/sdm845/beryllium/adsp.mbn";
1398bab661aSEmmanuel Vadot};
1408bab661aSEmmanuel Vadot
1418bab661aSEmmanuel Vadot&apps_rsc {
142cb7aa33aSEmmanuel Vadot	regulators-0 {
1438bab661aSEmmanuel Vadot		compatible = "qcom,pm8998-rpmh-regulators";
1448bab661aSEmmanuel Vadot		qcom,pmic-id = "a";
1458bab661aSEmmanuel Vadot
1468bab661aSEmmanuel Vadot		vreg_l1a_0p875: ldo1 {
1478bab661aSEmmanuel Vadot			regulator-min-microvolt = <880000>;
1488bab661aSEmmanuel Vadot			regulator-max-microvolt = <880000>;
1498bab661aSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
1508bab661aSEmmanuel Vadot		};
1518bab661aSEmmanuel Vadot
1528bab661aSEmmanuel Vadot		vreg_l5a_0p8: ldo5 {
1538bab661aSEmmanuel Vadot			regulator-min-microvolt = <800000>;
1548bab661aSEmmanuel Vadot			regulator-max-microvolt = <800000>;
1558bab661aSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
1568bab661aSEmmanuel Vadot		};
1578bab661aSEmmanuel Vadot
1588bab661aSEmmanuel Vadot		vreg_l7a_1p8: ldo7 {
1598bab661aSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
1608bab661aSEmmanuel Vadot			regulator-max-microvolt = <1800000>;
1618bab661aSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
1628bab661aSEmmanuel Vadot		};
1638bab661aSEmmanuel Vadot
1648bab661aSEmmanuel Vadot		vreg_l12a_1p8: ldo12 {
1658bab661aSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
1668bab661aSEmmanuel Vadot			regulator-max-microvolt = <1800000>;
1678bab661aSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
1688bab661aSEmmanuel Vadot		};
1698bab661aSEmmanuel Vadot
1708bab661aSEmmanuel Vadot		vreg_l13a_2p95: ldo13 {
1718bab661aSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
1728bab661aSEmmanuel Vadot			regulator-max-microvolt = <2960000>;
1738bab661aSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
1748bab661aSEmmanuel Vadot		};
1758bab661aSEmmanuel Vadot
1768bab661aSEmmanuel Vadot		vreg_l14a_1p8: ldo14 {
1778bab661aSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
1788bab661aSEmmanuel Vadot			regulator-max-microvolt = <1800000>;
1798bab661aSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
1808bab661aSEmmanuel Vadot			regulator-boot-on;
1818bab661aSEmmanuel Vadot			regulator-always-on;
1828bab661aSEmmanuel Vadot		};
1838bab661aSEmmanuel Vadot
1848bab661aSEmmanuel Vadot		vreg_l17a_1p3: ldo17 {
1858bab661aSEmmanuel Vadot			regulator-min-microvolt = <1304000>;
1868bab661aSEmmanuel Vadot			regulator-max-microvolt = <1304000>;
1878bab661aSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
1888bab661aSEmmanuel Vadot		};
1898bab661aSEmmanuel Vadot
1908bab661aSEmmanuel Vadot		vreg_l20a_2p95: ldo20 {
1918bab661aSEmmanuel Vadot			regulator-min-microvolt = <2960000>;
1928bab661aSEmmanuel Vadot			regulator-max-microvolt = <2968000>;
1938bab661aSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
1948bab661aSEmmanuel Vadot		};
1958bab661aSEmmanuel Vadot
1968bab661aSEmmanuel Vadot		vreg_l21a_2p95: ldo21 {
1978bab661aSEmmanuel Vadot			regulator-min-microvolt = <2960000>;
1988bab661aSEmmanuel Vadot			regulator-max-microvolt = <2968000>;
1998bab661aSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
2008bab661aSEmmanuel Vadot		};
2018bab661aSEmmanuel Vadot
2028bab661aSEmmanuel Vadot		vreg_l23a_3p3: ldo23 {
2038bab661aSEmmanuel Vadot			regulator-min-microvolt = <3300000>;
2048bab661aSEmmanuel Vadot			regulator-max-microvolt = <3312000>;
2058bab661aSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
2068bab661aSEmmanuel Vadot		};
2078bab661aSEmmanuel Vadot
2088bab661aSEmmanuel Vadot		vreg_l24a_3p075: ldo24 {
2098bab661aSEmmanuel Vadot			regulator-min-microvolt = <3088000>;
2108bab661aSEmmanuel Vadot			regulator-max-microvolt = <3088000>;
2118bab661aSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
2128bab661aSEmmanuel Vadot		};
2138bab661aSEmmanuel Vadot
2148bab661aSEmmanuel Vadot		vreg_l25a_3p3: ldo25 {
2158bab661aSEmmanuel Vadot			regulator-min-microvolt = <3300000>;
2168bab661aSEmmanuel Vadot			regulator-max-microvolt = <3312000>;
2178bab661aSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
2188bab661aSEmmanuel Vadot		};
2198bab661aSEmmanuel Vadot
2208bab661aSEmmanuel Vadot		vreg_l26a_1p2: ldo26 {
2218bab661aSEmmanuel Vadot			regulator-min-microvolt = <1200000>;
2228bab661aSEmmanuel Vadot			regulator-max-microvolt = <1200000>;
2238bab661aSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
2248bab661aSEmmanuel Vadot			regulator-boot-on;
2258bab661aSEmmanuel Vadot		};
2268bab661aSEmmanuel Vadot	};
2278bab661aSEmmanuel Vadot};
2288bab661aSEmmanuel Vadot
2298bab661aSEmmanuel Vadot&cdsp_pas {
2308bab661aSEmmanuel Vadot	status = "okay";
2318bab661aSEmmanuel Vadot	firmware-name = "qcom/sdm845/beryllium/cdsp.mbn";
2328bab661aSEmmanuel Vadot};
2338bab661aSEmmanuel Vadot
2348bab661aSEmmanuel Vadot&gcc {
2358bab661aSEmmanuel Vadot	protected-clocks = <GCC_QSPI_CORE_CLK>,
2368bab661aSEmmanuel Vadot			   <GCC_QSPI_CORE_CLK_SRC>,
2378bab661aSEmmanuel Vadot			   <GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
2388bab661aSEmmanuel Vadot			   <GCC_LPASS_Q6_AXI_CLK>,
2398bab661aSEmmanuel Vadot			   <GCC_LPASS_SWAY_CLK>;
2408bab661aSEmmanuel Vadot};
2418bab661aSEmmanuel Vadot
2428bab661aSEmmanuel Vadot&gmu {
2438bab661aSEmmanuel Vadot	status = "okay";
2448bab661aSEmmanuel Vadot};
2458bab661aSEmmanuel Vadot
2468bab661aSEmmanuel Vadot&gpu {
2478bab661aSEmmanuel Vadot	status = "okay";
2488bab661aSEmmanuel Vadot
2498bab661aSEmmanuel Vadot	zap-shader {
2508bab661aSEmmanuel Vadot		memory-region = <&gpu_mem>;
2518bab661aSEmmanuel Vadot		firmware-name = "qcom/sdm845/beryllium/a630_zap.mbn";
2528bab661aSEmmanuel Vadot	};
2538bab661aSEmmanuel Vadot};
2548bab661aSEmmanuel Vadot
2558bab661aSEmmanuel Vadot&ibb {
2568bab661aSEmmanuel Vadot	regulator-min-microvolt = <4600000>;
2578bab661aSEmmanuel Vadot	regulator-max-microvolt = <6000000>;
2588bab661aSEmmanuel Vadot	regulator-over-current-protection;
2598bab661aSEmmanuel Vadot	regulator-pull-down;
2608bab661aSEmmanuel Vadot	regulator-soft-start;
2618bab661aSEmmanuel Vadot	qcom,discharge-resistor-kohms = <300>;
2628bab661aSEmmanuel Vadot};
2638bab661aSEmmanuel Vadot
2648bab661aSEmmanuel Vadot&lab {
2658bab661aSEmmanuel Vadot	regulator-min-microvolt = <4600000>;
2668bab661aSEmmanuel Vadot	regulator-max-microvolt = <6000000>;
2678bab661aSEmmanuel Vadot	regulator-over-current-protection;
2688bab661aSEmmanuel Vadot	regulator-pull-down;
2698bab661aSEmmanuel Vadot	regulator-soft-start;
2708bab661aSEmmanuel Vadot};
2718bab661aSEmmanuel Vadot
2728bab661aSEmmanuel Vadot&mdss {
2738bab661aSEmmanuel Vadot	status = "okay";
2748bab661aSEmmanuel Vadot};
2758bab661aSEmmanuel Vadot
276f126890aSEmmanuel Vadot&mdss_dsi0 {
277f126890aSEmmanuel Vadot	status = "okay";
278f126890aSEmmanuel Vadot	vdda-supply = <&vreg_l26a_1p2>;
279f126890aSEmmanuel Vadot
280f126890aSEmmanuel Vadot	display_panel: panel@0 {
281f126890aSEmmanuel Vadot		reg = <0>;
282f126890aSEmmanuel Vadot		vddio-supply = <&vreg_l14a_1p8>;
283f126890aSEmmanuel Vadot		vddpos-supply = <&lab>;
284f126890aSEmmanuel Vadot		vddneg-supply = <&ibb>;
285f126890aSEmmanuel Vadot
286f126890aSEmmanuel Vadot		backlight = <&pmi8998_wled>;
287f126890aSEmmanuel Vadot		reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
288f126890aSEmmanuel Vadot
289f126890aSEmmanuel Vadot		status = "disabled";
290f126890aSEmmanuel Vadot
291f126890aSEmmanuel Vadot		port {
292f126890aSEmmanuel Vadot			panel_in_0: endpoint {
293f126890aSEmmanuel Vadot				remote-endpoint = <&mdss_dsi0_out>;
294f126890aSEmmanuel Vadot			};
295f126890aSEmmanuel Vadot		};
296f126890aSEmmanuel Vadot	};
297f126890aSEmmanuel Vadot};
298f126890aSEmmanuel Vadot
299f126890aSEmmanuel Vadot&mdss_dsi0_out {
300f126890aSEmmanuel Vadot	remote-endpoint = <&panel_in_0>;
301f126890aSEmmanuel Vadot	data-lanes = <0 1 2 3>;
302f126890aSEmmanuel Vadot};
303f126890aSEmmanuel Vadot
304f126890aSEmmanuel Vadot&mdss_dsi0_phy {
305f126890aSEmmanuel Vadot	status = "okay";
306f126890aSEmmanuel Vadot	vdds-supply = <&vreg_l1a_0p875>;
307f126890aSEmmanuel Vadot};
308f126890aSEmmanuel Vadot
3098bab661aSEmmanuel Vadot&mss_pil {
3108bab661aSEmmanuel Vadot	status = "okay";
3118bab661aSEmmanuel Vadot	firmware-name = "qcom/sdm845/beryllium/mba.mbn", "qcom/sdm845/beryllium/modem.mbn";
3128bab661aSEmmanuel Vadot};
3138bab661aSEmmanuel Vadot
3148bab661aSEmmanuel Vadot&ipa {
315cb7aa33aSEmmanuel Vadot	qcom,gsi-loader = "self";
3168bab661aSEmmanuel Vadot	memory-region = <&ipa_fw_mem>;
3178bab661aSEmmanuel Vadot	firmware-name = "qcom/sdm845/beryllium/ipa_fws.mbn";
318cb7aa33aSEmmanuel Vadot	status = "okay";
3198bab661aSEmmanuel Vadot};
3208bab661aSEmmanuel Vadot
321cb7aa33aSEmmanuel Vadot&pm8998_gpios {
3228bab661aSEmmanuel Vadot	vol_up_pin_a: vol-up-active-state {
3238bab661aSEmmanuel Vadot		pins = "gpio6";
3248bab661aSEmmanuel Vadot		function = "normal";
3258bab661aSEmmanuel Vadot		input-enable;
3268bab661aSEmmanuel Vadot		bias-pull-up;
3278bab661aSEmmanuel Vadot		qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
3288bab661aSEmmanuel Vadot	};
3298bab661aSEmmanuel Vadot};
3308bab661aSEmmanuel Vadot
331fac71e4eSEmmanuel Vadot&pmi8998_lpg {
332fac71e4eSEmmanuel Vadot	status = "okay";
333fac71e4eSEmmanuel Vadot
334fac71e4eSEmmanuel Vadot	led@5 {
335fac71e4eSEmmanuel Vadot		reg = <5>;
336fac71e4eSEmmanuel Vadot		color = <LED_COLOR_ID_WHITE>;
337fac71e4eSEmmanuel Vadot		function = LED_FUNCTION_STATUS;
338fac71e4eSEmmanuel Vadot	};
339fac71e4eSEmmanuel Vadot};
340fac71e4eSEmmanuel Vadot
3418bab661aSEmmanuel Vadot&pmi8998_wled {
3428bab661aSEmmanuel Vadot	status = "okay";
3438bab661aSEmmanuel Vadot	qcom,current-boost-limit = <970>;
3448bab661aSEmmanuel Vadot	qcom,ovp-millivolt = <29600>;
3458bab661aSEmmanuel Vadot	qcom,current-limit-microamp = <20000>;
3468bab661aSEmmanuel Vadot	qcom,num-strings = <2>;
3478bab661aSEmmanuel Vadot	qcom,switching-freq = <600>;
3488bab661aSEmmanuel Vadot	qcom,external-pfet;
3498bab661aSEmmanuel Vadot	qcom,cabc;
3508bab661aSEmmanuel Vadot};
3518bab661aSEmmanuel Vadot
352f126890aSEmmanuel Vadot&pmi8998_charger {
353f126890aSEmmanuel Vadot	monitored-battery = <&battery>;
354f126890aSEmmanuel Vadot
355cb7aa33aSEmmanuel Vadot	status = "okay";
3568bab661aSEmmanuel Vadot};
3578bab661aSEmmanuel Vadot
358*8d13bc63SEmmanuel Vadot&pmi8998_flash {
359*8d13bc63SEmmanuel Vadot	status = "okay";
360*8d13bc63SEmmanuel Vadot
361*8d13bc63SEmmanuel Vadot	led-0 {
362*8d13bc63SEmmanuel Vadot		function = LED_FUNCTION_FLASH;
363*8d13bc63SEmmanuel Vadot		color = <LED_COLOR_ID_WHITE>;
364*8d13bc63SEmmanuel Vadot		led-sources = <1>;
365*8d13bc63SEmmanuel Vadot		led-max-microamp = <500000>;
366*8d13bc63SEmmanuel Vadot		flash-max-microamp = <1500000>;
367*8d13bc63SEmmanuel Vadot		flash-max-timeout-us = <1280000>;
368*8d13bc63SEmmanuel Vadot	};
369*8d13bc63SEmmanuel Vadot
370*8d13bc63SEmmanuel Vadot	led-1 {
371*8d13bc63SEmmanuel Vadot		function = LED_FUNCTION_FLASH;
372*8d13bc63SEmmanuel Vadot		color = <LED_COLOR_ID_YELLOW>;
373*8d13bc63SEmmanuel Vadot		led-sources = <2>;
374*8d13bc63SEmmanuel Vadot		led-max-microamp = <500000>;
375*8d13bc63SEmmanuel Vadot		flash-max-microamp = <1500000>;
376*8d13bc63SEmmanuel Vadot		flash-max-timeout-us = <1280000>;
377*8d13bc63SEmmanuel Vadot	};
378*8d13bc63SEmmanuel Vadot};
379*8d13bc63SEmmanuel Vadot
380f126890aSEmmanuel Vadot&pm8998_resin {
381f126890aSEmmanuel Vadot	linux,code = <KEY_VOLUMEDOWN>;
3828bab661aSEmmanuel Vadot	status = "okay";
3838bab661aSEmmanuel Vadot};
3848bab661aSEmmanuel Vadot
3858bab661aSEmmanuel Vadot/* QUAT I2S Uses 1 I2S SD Line for audio on TAS2559/60 amplifiers */
3868bab661aSEmmanuel Vadot&q6afedai {
3878bab661aSEmmanuel Vadot	dai@22 {
3888bab661aSEmmanuel Vadot		reg = <QUATERNARY_MI2S_RX>;
3898bab661aSEmmanuel Vadot		qcom,sd-lines = <0>;
3908bab661aSEmmanuel Vadot	};
3918bab661aSEmmanuel Vadot};
3928bab661aSEmmanuel Vadot
3938bab661aSEmmanuel Vadot&q6asmdai {
3948bab661aSEmmanuel Vadot	dai@0 {
3958bab661aSEmmanuel Vadot		reg = <0>;
3968bab661aSEmmanuel Vadot	};
3978bab661aSEmmanuel Vadot
3988bab661aSEmmanuel Vadot	dai@1 {
3998bab661aSEmmanuel Vadot		reg = <1>;
4008bab661aSEmmanuel Vadot	};
4018bab661aSEmmanuel Vadot
4028bab661aSEmmanuel Vadot	dai@2 {
4038bab661aSEmmanuel Vadot		reg = <2>;
4048bab661aSEmmanuel Vadot	};
4058bab661aSEmmanuel Vadot};
4068bab661aSEmmanuel Vadot
4078bab661aSEmmanuel Vadot&qupv3_id_0 {
4088bab661aSEmmanuel Vadot	status = "okay";
4098bab661aSEmmanuel Vadot};
4108bab661aSEmmanuel Vadot
4118bab661aSEmmanuel Vadot&sdhc_2 {
4128bab661aSEmmanuel Vadot	status = "okay";
4138bab661aSEmmanuel Vadot
4148bab661aSEmmanuel Vadot	pinctrl-names = "default";
4158bab661aSEmmanuel Vadot	pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>;
4168bab661aSEmmanuel Vadot
4178bab661aSEmmanuel Vadot	vmmc-supply = <&vreg_l21a_2p95>;
4188bab661aSEmmanuel Vadot	vqmmc-supply = <&vreg_l13a_2p95>;
4198bab661aSEmmanuel Vadot
4208bab661aSEmmanuel Vadot	bus-width = <4>;
4218bab661aSEmmanuel Vadot	cd-gpios = <&tlmm 126 GPIO_ACTIVE_HIGH>;
4228bab661aSEmmanuel Vadot};
4238bab661aSEmmanuel Vadot
4248bab661aSEmmanuel Vadot&sound {
425cb7aa33aSEmmanuel Vadot	compatible = "qcom,db845c-sndcard", "qcom,sdm845-sndcard";
4268bab661aSEmmanuel Vadot	pinctrl-0 = <&quat_mi2s_active
4278bab661aSEmmanuel Vadot			&quat_mi2s_sd0_active>;
4288bab661aSEmmanuel Vadot	pinctrl-names = "default";
4298bab661aSEmmanuel Vadot	model = "Xiaomi Poco F1";
4308bab661aSEmmanuel Vadot	audio-routing =
4318bab661aSEmmanuel Vadot		"RX_BIAS", "MCLK",
4328bab661aSEmmanuel Vadot		"AMIC1", "MIC BIAS1",
4338bab661aSEmmanuel Vadot		"AMIC2", "MIC BIAS2",
4348bab661aSEmmanuel Vadot		"AMIC3", "MIC BIAS3";
4358bab661aSEmmanuel Vadot
4368bab661aSEmmanuel Vadot	mm1-dai-link {
4378bab661aSEmmanuel Vadot		link-name = "MultiMedia1";
4388bab661aSEmmanuel Vadot		cpu {
4398bab661aSEmmanuel Vadot			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA1>;
4408bab661aSEmmanuel Vadot		};
4418bab661aSEmmanuel Vadot	};
4428bab661aSEmmanuel Vadot
4438bab661aSEmmanuel Vadot	mm2-dai-link {
4448bab661aSEmmanuel Vadot		link-name = "MultiMedia2";
4458bab661aSEmmanuel Vadot		cpu {
4468bab661aSEmmanuel Vadot			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA2>;
4478bab661aSEmmanuel Vadot		};
4488bab661aSEmmanuel Vadot	};
4498bab661aSEmmanuel Vadot
4508bab661aSEmmanuel Vadot	mm3-dai-link {
4518bab661aSEmmanuel Vadot		link-name = "MultiMedia3";
4528bab661aSEmmanuel Vadot		cpu {
4538bab661aSEmmanuel Vadot			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA3>;
4548bab661aSEmmanuel Vadot		};
4558bab661aSEmmanuel Vadot	};
4568bab661aSEmmanuel Vadot
4578bab661aSEmmanuel Vadot	slim-dai-link {
4588bab661aSEmmanuel Vadot		link-name = "SLIM Playback";
4598bab661aSEmmanuel Vadot		cpu {
4608bab661aSEmmanuel Vadot			sound-dai = <&q6afedai SLIMBUS_0_RX>;
4618bab661aSEmmanuel Vadot		};
4628bab661aSEmmanuel Vadot
4638bab661aSEmmanuel Vadot		platform {
4648bab661aSEmmanuel Vadot			sound-dai = <&q6routing>;
4658bab661aSEmmanuel Vadot		};
4668bab661aSEmmanuel Vadot
4678bab661aSEmmanuel Vadot		codec {
4688bab661aSEmmanuel Vadot			sound-dai = <&wcd9340 0>;
4698bab661aSEmmanuel Vadot		};
4708bab661aSEmmanuel Vadot	};
4718bab661aSEmmanuel Vadot
4728bab661aSEmmanuel Vadot	slimcap-dai-link {
4738bab661aSEmmanuel Vadot		link-name = "SLIM Capture";
4748bab661aSEmmanuel Vadot		cpu {
4758bab661aSEmmanuel Vadot			sound-dai = <&q6afedai SLIMBUS_0_TX>;
4768bab661aSEmmanuel Vadot		};
4778bab661aSEmmanuel Vadot
4788bab661aSEmmanuel Vadot		platform {
4798bab661aSEmmanuel Vadot			sound-dai = <&q6routing>;
4808bab661aSEmmanuel Vadot		};
4818bab661aSEmmanuel Vadot
4828bab661aSEmmanuel Vadot		codec {
4838bab661aSEmmanuel Vadot			sound-dai = <&wcd9340 1>;
4848bab661aSEmmanuel Vadot		};
4858bab661aSEmmanuel Vadot	};
4868bab661aSEmmanuel Vadot};
4878bab661aSEmmanuel Vadot
4888bab661aSEmmanuel Vadot&tlmm {
4898bab661aSEmmanuel Vadot	gpio-reserved-ranges = <0 4>, <81 4>;
4908bab661aSEmmanuel Vadot
491cb7aa33aSEmmanuel Vadot	sdc2_default_state: sdc2-default-state {
492cb7aa33aSEmmanuel Vadot		clk-pins {
4938bab661aSEmmanuel Vadot			pins = "sdc2_clk";
4948bab661aSEmmanuel Vadot			bias-disable;
4958bab661aSEmmanuel Vadot			drive-strength = <16>;
4968bab661aSEmmanuel Vadot		};
4978bab661aSEmmanuel Vadot
498cb7aa33aSEmmanuel Vadot		cmd-pins {
4998bab661aSEmmanuel Vadot			pins = "sdc2_cmd";
5008bab661aSEmmanuel Vadot			bias-pull-up;
5018bab661aSEmmanuel Vadot			drive-strength = <10>;
5028bab661aSEmmanuel Vadot		};
5038bab661aSEmmanuel Vadot
504cb7aa33aSEmmanuel Vadot		data-pins {
5058bab661aSEmmanuel Vadot			pins = "sdc2_data";
5068bab661aSEmmanuel Vadot			bias-pull-up;
5078bab661aSEmmanuel Vadot			drive-strength = <10>;
5088bab661aSEmmanuel Vadot		};
5098bab661aSEmmanuel Vadot	};
5108bab661aSEmmanuel Vadot
511cb7aa33aSEmmanuel Vadot	sdc2_card_det_n: sd-card-det-n-state {
5128bab661aSEmmanuel Vadot		pins = "gpio126";
5138bab661aSEmmanuel Vadot		function = "gpio";
5148bab661aSEmmanuel Vadot		bias-pull-up;
5158bab661aSEmmanuel Vadot	};
5168bab661aSEmmanuel Vadot};
5178bab661aSEmmanuel Vadot
5188bab661aSEmmanuel Vadot&uart6 {
5198bab661aSEmmanuel Vadot	status = "okay";
5208bab661aSEmmanuel Vadot
5218bab661aSEmmanuel Vadot	pinctrl-0 = <&qup_uart6_4pin>;
5228bab661aSEmmanuel Vadot
5238bab661aSEmmanuel Vadot	bluetooth {
5248bab661aSEmmanuel Vadot		compatible = "qcom,wcn3990-bt";
5258bab661aSEmmanuel Vadot
5268bab661aSEmmanuel Vadot		vddio-supply = <&vreg_s4a_1p8>;
5278bab661aSEmmanuel Vadot		vddxo-supply = <&vreg_l7a_1p8>;
5288bab661aSEmmanuel Vadot		vddrf-supply = <&vreg_l17a_1p3>;
5298bab661aSEmmanuel Vadot		vddch0-supply = <&vreg_l25a_3p3>;
5308bab661aSEmmanuel Vadot		max-speed = <3200000>;
5318bab661aSEmmanuel Vadot	};
5328bab661aSEmmanuel Vadot};
5338bab661aSEmmanuel Vadot
5348bab661aSEmmanuel Vadot&ufs_mem_hc {
5358bab661aSEmmanuel Vadot	status = "okay";
5368bab661aSEmmanuel Vadot
5378bab661aSEmmanuel Vadot	reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>;
5388bab661aSEmmanuel Vadot
5398bab661aSEmmanuel Vadot	vcc-supply = <&vreg_l20a_2p95>;
5408bab661aSEmmanuel Vadot	vcc-max-microamp = <800000>;
5418bab661aSEmmanuel Vadot};
5428bab661aSEmmanuel Vadot
5438bab661aSEmmanuel Vadot&ufs_mem_phy {
5448bab661aSEmmanuel Vadot	status = "okay";
5458bab661aSEmmanuel Vadot
5468bab661aSEmmanuel Vadot	vdda-phy-supply = <&vreg_l1a_0p875>;
5478bab661aSEmmanuel Vadot	vdda-pll-supply = <&vreg_l26a_1p2>;
5488bab661aSEmmanuel Vadot};
5498bab661aSEmmanuel Vadot
5508bab661aSEmmanuel Vadot&usb_1 {
5518bab661aSEmmanuel Vadot	status = "okay";
5528bab661aSEmmanuel Vadot};
5538bab661aSEmmanuel Vadot
5548bab661aSEmmanuel Vadot&usb_1_dwc3 {
5558bab661aSEmmanuel Vadot	dr_mode = "peripheral";
5568bab661aSEmmanuel Vadot};
5578bab661aSEmmanuel Vadot
5588bab661aSEmmanuel Vadot&usb_1_hsphy {
5598bab661aSEmmanuel Vadot	status = "okay";
5608bab661aSEmmanuel Vadot
5618bab661aSEmmanuel Vadot	vdd-supply = <&vreg_l1a_0p875>;
5628bab661aSEmmanuel Vadot	vdda-pll-supply = <&vreg_l12a_1p8>;
5638bab661aSEmmanuel Vadot	vdda-phy-dpdm-supply = <&vreg_l24a_3p075>;
5648bab661aSEmmanuel Vadot
5658bab661aSEmmanuel Vadot	qcom,imp-res-offset-value = <8>;
5668bab661aSEmmanuel Vadot	qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>;
5678bab661aSEmmanuel Vadot	qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>;
5688bab661aSEmmanuel Vadot	qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
5698bab661aSEmmanuel Vadot};
5708bab661aSEmmanuel Vadot
5718bab661aSEmmanuel Vadot&usb_1_qmpphy {
5728bab661aSEmmanuel Vadot	status = "okay";
5738bab661aSEmmanuel Vadot
5748bab661aSEmmanuel Vadot	vdda-phy-supply = <&vreg_l26a_1p2>;
5758bab661aSEmmanuel Vadot	vdda-pll-supply = <&vreg_l1a_0p875>;
5768bab661aSEmmanuel Vadot};
5778bab661aSEmmanuel Vadot
5788bab661aSEmmanuel Vadot&venus {
5798bab661aSEmmanuel Vadot	status = "okay";
5808bab661aSEmmanuel Vadot	firmware-name = "qcom/sdm845/beryllium/venus.mbn";
5818bab661aSEmmanuel Vadot};
5828bab661aSEmmanuel Vadot
5838bab661aSEmmanuel Vadot&wcd9340 {
5848bab661aSEmmanuel Vadot	reset-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>;
5858bab661aSEmmanuel Vadot	vdd-buck-supply = <&vreg_s4a_1p8>;
5868bab661aSEmmanuel Vadot	vdd-buck-sido-supply = <&vreg_s4a_1p8>;
5878bab661aSEmmanuel Vadot	vdd-tx-supply = <&vreg_s4a_1p8>;
5888bab661aSEmmanuel Vadot	vdd-rx-supply = <&vreg_s4a_1p8>;
5898bab661aSEmmanuel Vadot	vdd-io-supply = <&vreg_s4a_1p8>;
5908bab661aSEmmanuel Vadot	qcom,micbias1-microvolt = <2700000>;
5918bab661aSEmmanuel Vadot	qcom,micbias2-microvolt = <1800000>;
5928bab661aSEmmanuel Vadot	qcom,micbias3-microvolt = <2700000>;
5938bab661aSEmmanuel Vadot	qcom,micbias4-microvolt = <2700000>;
5948bab661aSEmmanuel Vadot};
5958bab661aSEmmanuel Vadot
5968bab661aSEmmanuel Vadot&wifi {
5978bab661aSEmmanuel Vadot	status = "okay";
5988bab661aSEmmanuel Vadot
5998bab661aSEmmanuel Vadot	vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>;
6008bab661aSEmmanuel Vadot	vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
6018bab661aSEmmanuel Vadot	vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;
6028bab661aSEmmanuel Vadot	vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;
6038bab661aSEmmanuel Vadot	vdd-3.3-ch1-supply = <&vreg_l23a_3p3>;
6048bab661aSEmmanuel Vadot};
605