xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/msm8916-samsung-serranove.dts (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
18cc087a1SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
28bab661aSEmmanuel Vadot/*
38bab661aSEmmanuel Vadot * Copyright (C) 2019 Stephan Gerhold
48bab661aSEmmanuel Vadot */
58cc087a1SEmmanuel Vadot
68cc087a1SEmmanuel Vadot/dts-v1/;
78cc087a1SEmmanuel Vadot
88cc087a1SEmmanuel Vadot#include "msm8916-pm8916.dtsi"
9*8d13bc63SEmmanuel Vadot#include "msm8916-modem-qdsp6.dtsi"
10*8d13bc63SEmmanuel Vadot
118cc087a1SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
128cc087a1SEmmanuel Vadot#include <dt-bindings/input/input.h>
138cc087a1SEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
148cc087a1SEmmanuel Vadot
158cc087a1SEmmanuel Vadot/*
168cc087a1SEmmanuel Vadot * NOTE: The original firmware from Samsung can only boot ARM32 kernels.
178cc087a1SEmmanuel Vadot * Unfortunately, the firmware is signed and cannot be replaced easily.
188cc087a1SEmmanuel Vadot * There seems to be no way to boot ARM64 kernels on this device at the moment,
198cc087a1SEmmanuel Vadot * even though the hardware would support it.
208cc087a1SEmmanuel Vadot *
218cc087a1SEmmanuel Vadot * However, it is possible to use this device tree by compiling an ARM32 kernel
228cc087a1SEmmanuel Vadot * instead. For clarity and build testing this device tree is maintained next
238cc087a1SEmmanuel Vadot * to the other MSM8916 device trees. However, it is actually used through
248cc087a1SEmmanuel Vadot *   arch/arm/boot/dts/qcom-msm8916-samsung-serranove.dts
258cc087a1SEmmanuel Vadot */
268cc087a1SEmmanuel Vadot
278cc087a1SEmmanuel Vadot/ {
288cc087a1SEmmanuel Vadot	model = "Samsung Galaxy S4 Mini Value Edition";
298cc087a1SEmmanuel Vadot	compatible = "samsung,serranove", "qcom,msm8916";
30e67e8565SEmmanuel Vadot	chassis-type = "handset";
318cc087a1SEmmanuel Vadot
328cc087a1SEmmanuel Vadot	aliases {
33f126890aSEmmanuel Vadot		mmc0 = &sdhc_1; /* eMMC */
34f126890aSEmmanuel Vadot		mmc1 = &sdhc_2; /* SD card */
35f126890aSEmmanuel Vadot		serial0 = &blsp_uart2;
368cc087a1SEmmanuel Vadot	};
378cc087a1SEmmanuel Vadot
388cc087a1SEmmanuel Vadot	chosen {
398cc087a1SEmmanuel Vadot		stdout-path = "serial0";
408cc087a1SEmmanuel Vadot	};
418cc087a1SEmmanuel Vadot
428cc087a1SEmmanuel Vadot	reserved-memory {
438cc087a1SEmmanuel Vadot		/* Additional memory used by Samsung firmware modifications */
448cc087a1SEmmanuel Vadot		tz-apps@85500000 {
458cc087a1SEmmanuel Vadot			reg = <0x0 0x85500000 0x0 0xb00000>;
468cc087a1SEmmanuel Vadot			no-map;
478cc087a1SEmmanuel Vadot		};
488cc087a1SEmmanuel Vadot	};
498cc087a1SEmmanuel Vadot
508cc087a1SEmmanuel Vadot	gpio-keys {
518cc087a1SEmmanuel Vadot		compatible = "gpio-keys";
528cc087a1SEmmanuel Vadot
538cc087a1SEmmanuel Vadot		pinctrl-names = "default";
548cc087a1SEmmanuel Vadot		pinctrl-0 = <&gpio_keys_default>;
558cc087a1SEmmanuel Vadot
568cc087a1SEmmanuel Vadot		label = "GPIO Buttons";
578cc087a1SEmmanuel Vadot
58b97ee269SEmmanuel Vadot		button-volume-up {
598cc087a1SEmmanuel Vadot			label = "Volume Up";
60f126890aSEmmanuel Vadot			gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
618cc087a1SEmmanuel Vadot			linux,code = <KEY_VOLUMEUP>;
628cc087a1SEmmanuel Vadot		};
638cc087a1SEmmanuel Vadot
64b97ee269SEmmanuel Vadot		button-home {
658cc087a1SEmmanuel Vadot			label = "Home";
66f126890aSEmmanuel Vadot			gpios = <&tlmm 109 GPIO_ACTIVE_LOW>;
678cc087a1SEmmanuel Vadot			linux,code = <KEY_HOMEPAGE>;
688cc087a1SEmmanuel Vadot		};
698cc087a1SEmmanuel Vadot	};
708cc087a1SEmmanuel Vadot
718cc087a1SEmmanuel Vadot	gpio-hall-sensor {
728cc087a1SEmmanuel Vadot		compatible = "gpio-keys";
738cc087a1SEmmanuel Vadot
748cc087a1SEmmanuel Vadot		pinctrl-names = "default";
758cc087a1SEmmanuel Vadot		pinctrl-0 = <&gpio_hall_sensor_default>;
768cc087a1SEmmanuel Vadot
778cc087a1SEmmanuel Vadot		label = "GPIO Hall Effect Sensor";
788cc087a1SEmmanuel Vadot
79b97ee269SEmmanuel Vadot		event-hall-sensor {
808cc087a1SEmmanuel Vadot			label = "Hall Effect Sensor";
81f126890aSEmmanuel Vadot			gpios = <&tlmm 52 GPIO_ACTIVE_LOW>;
828cc087a1SEmmanuel Vadot			linux,input-type = <EV_SW>;
838cc087a1SEmmanuel Vadot			linux,code = <SW_LID>;
848cc087a1SEmmanuel Vadot			linux,can-disable;
858cc087a1SEmmanuel Vadot		};
868cc087a1SEmmanuel Vadot	};
878cc087a1SEmmanuel Vadot
888cc087a1SEmmanuel Vadot	reg_vdd_tsp: regulator-vdd-tsp {
898cc087a1SEmmanuel Vadot		compatible = "regulator-fixed";
908cc087a1SEmmanuel Vadot		regulator-name = "vdd_tsp";
918cc087a1SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
928cc087a1SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
938cc087a1SEmmanuel Vadot
94f126890aSEmmanuel Vadot		gpio = <&tlmm 73 GPIO_ACTIVE_HIGH>;
958cc087a1SEmmanuel Vadot		enable-active-high;
968cc087a1SEmmanuel Vadot
978cc087a1SEmmanuel Vadot		pinctrl-names = "default";
988cc087a1SEmmanuel Vadot		pinctrl-0 = <&tsp_en_default>;
998cc087a1SEmmanuel Vadot	};
1008cc087a1SEmmanuel Vadot
1018cc087a1SEmmanuel Vadot	reg_touch_key: regulator-touch-key {
1028cc087a1SEmmanuel Vadot		compatible = "regulator-fixed";
1038cc087a1SEmmanuel Vadot		regulator-name = "touch_key";
1048cc087a1SEmmanuel Vadot		regulator-min-microvolt = <2800000>;
1058cc087a1SEmmanuel Vadot		regulator-max-microvolt = <2800000>;
1068cc087a1SEmmanuel Vadot
107f126890aSEmmanuel Vadot		gpio = <&tlmm 86 GPIO_ACTIVE_HIGH>;
1088cc087a1SEmmanuel Vadot		enable-active-high;
1098cc087a1SEmmanuel Vadot
1108cc087a1SEmmanuel Vadot		pinctrl-names = "default";
1118cc087a1SEmmanuel Vadot		pinctrl-0 = <&tkey_en_default>;
1128cc087a1SEmmanuel Vadot	};
1138cc087a1SEmmanuel Vadot
1148cc087a1SEmmanuel Vadot	reg_key_led: regulator-key-led {
1158cc087a1SEmmanuel Vadot		compatible = "regulator-fixed";
1168cc087a1SEmmanuel Vadot		regulator-name = "key_led";
1178cc087a1SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
1188cc087a1SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
1198cc087a1SEmmanuel Vadot
120f126890aSEmmanuel Vadot		gpio = <&tlmm 60 GPIO_ACTIVE_HIGH>;
1218cc087a1SEmmanuel Vadot		enable-active-high;
1228cc087a1SEmmanuel Vadot
1238cc087a1SEmmanuel Vadot		pinctrl-names = "default";
1248cc087a1SEmmanuel Vadot		pinctrl-0 = <&tkey_led_en_default>;
1258cc087a1SEmmanuel Vadot	};
1268cc087a1SEmmanuel Vadot
1278cc087a1SEmmanuel Vadot	i2c-muic {
1288cc087a1SEmmanuel Vadot		compatible = "i2c-gpio";
129f126890aSEmmanuel Vadot		sda-gpios = <&tlmm 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
130f126890aSEmmanuel Vadot		scl-gpios = <&tlmm 106 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
1318cc087a1SEmmanuel Vadot
1328cc087a1SEmmanuel Vadot		pinctrl-names = "default";
1338cc087a1SEmmanuel Vadot		pinctrl-0 = <&muic_i2c_default>;
1348cc087a1SEmmanuel Vadot
1358cc087a1SEmmanuel Vadot		#address-cells = <1>;
1368cc087a1SEmmanuel Vadot		#size-cells = <0>;
1378cc087a1SEmmanuel Vadot
1388cc087a1SEmmanuel Vadot		muic: extcon@14 {
1398cc087a1SEmmanuel Vadot			compatible = "siliconmitus,sm5504-muic";
1408cc087a1SEmmanuel Vadot			reg = <0x14>;
1418cc087a1SEmmanuel Vadot
142f126890aSEmmanuel Vadot			interrupt-parent = <&tlmm>;
1438cc087a1SEmmanuel Vadot			interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
1448cc087a1SEmmanuel Vadot
1458cc087a1SEmmanuel Vadot			pinctrl-names = "default";
1468cc087a1SEmmanuel Vadot			pinctrl-0 = <&muic_irq_default>;
147aa1a8ff2SEmmanuel Vadot
148aa1a8ff2SEmmanuel Vadot			usb_con: connector {
149aa1a8ff2SEmmanuel Vadot				compatible = "usb-b-connector";
150aa1a8ff2SEmmanuel Vadot				label = "micro-USB";
151aa1a8ff2SEmmanuel Vadot				type = "micro";
152aa1a8ff2SEmmanuel Vadot			};
1538cc087a1SEmmanuel Vadot		};
1548cc087a1SEmmanuel Vadot	};
1558cc087a1SEmmanuel Vadot
1568cc087a1SEmmanuel Vadot	i2c-tkey {
1578cc087a1SEmmanuel Vadot		compatible = "i2c-gpio";
158f126890aSEmmanuel Vadot		sda-gpios = <&tlmm 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
159f126890aSEmmanuel Vadot		scl-gpios = <&tlmm 17 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
1608cc087a1SEmmanuel Vadot
1618cc087a1SEmmanuel Vadot		pinctrl-names = "default";
1628cc087a1SEmmanuel Vadot		pinctrl-0 = <&tkey_i2c_default>;
1638cc087a1SEmmanuel Vadot
1648cc087a1SEmmanuel Vadot		#address-cells = <1>;
1658cc087a1SEmmanuel Vadot		#size-cells = <0>;
1668cc087a1SEmmanuel Vadot
1678cc087a1SEmmanuel Vadot		touchkey@20 {
1688cc087a1SEmmanuel Vadot			compatible = "coreriver,tc360-touchkey";
1698cc087a1SEmmanuel Vadot			reg = <0x20>;
1708cc087a1SEmmanuel Vadot
171f126890aSEmmanuel Vadot			interrupt-parent = <&tlmm>;
1728cc087a1SEmmanuel Vadot			interrupts = <98 IRQ_TYPE_EDGE_FALLING>;
1738cc087a1SEmmanuel Vadot
1748cc087a1SEmmanuel Vadot			vcc-supply = <&reg_touch_key>;
1758cc087a1SEmmanuel Vadot			vdd-supply = <&reg_key_led>;
1768cc087a1SEmmanuel Vadot			vddio-supply = <&pm8916_l6>;
1778cc087a1SEmmanuel Vadot
1788cc087a1SEmmanuel Vadot			linux,keycodes = <KEY_APPSELECT KEY_BACK>;
1798cc087a1SEmmanuel Vadot
1808cc087a1SEmmanuel Vadot			pinctrl-names = "default";
1818cc087a1SEmmanuel Vadot			pinctrl-0 = <&tkey_default>;
1828cc087a1SEmmanuel Vadot		};
1838cc087a1SEmmanuel Vadot	};
1848cc087a1SEmmanuel Vadot
1858cc087a1SEmmanuel Vadot	i2c-nfc {
1868cc087a1SEmmanuel Vadot		compatible = "i2c-gpio";
187f126890aSEmmanuel Vadot		sda-gpios = <&tlmm 0 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
188f126890aSEmmanuel Vadot		scl-gpios = <&tlmm 1 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
1898cc087a1SEmmanuel Vadot
1908cc087a1SEmmanuel Vadot		pinctrl-names = "default";
1918cc087a1SEmmanuel Vadot		pinctrl-0 = <&nfc_i2c_default>;
1928cc087a1SEmmanuel Vadot
1938cc087a1SEmmanuel Vadot		#address-cells = <1>;
1948cc087a1SEmmanuel Vadot		#size-cells = <0>;
1958cc087a1SEmmanuel Vadot
1968cc087a1SEmmanuel Vadot		nfc@2b {
1978cc087a1SEmmanuel Vadot			compatible = "nxp,pn547", "nxp,nxp-nci-i2c";
1988cc087a1SEmmanuel Vadot			reg = <0x2b>;
1998cc087a1SEmmanuel Vadot
200f126890aSEmmanuel Vadot			interrupt-parent = <&tlmm>;
2018cc087a1SEmmanuel Vadot			interrupts = <21 IRQ_TYPE_EDGE_RISING>;
2028cc087a1SEmmanuel Vadot
203f126890aSEmmanuel Vadot			enable-gpios = <&tlmm 20 GPIO_ACTIVE_HIGH>;
204f126890aSEmmanuel Vadot			firmware-gpios = <&tlmm 49 GPIO_ACTIVE_HIGH>;
2058cc087a1SEmmanuel Vadot
2068cc087a1SEmmanuel Vadot			pinctrl-names = "default";
2078cc087a1SEmmanuel Vadot			pinctrl-0 = <&nfc_default>;
2088cc087a1SEmmanuel Vadot		};
2098cc087a1SEmmanuel Vadot	};
210aa1a8ff2SEmmanuel Vadot
211aa1a8ff2SEmmanuel Vadot	battery: battery {
212aa1a8ff2SEmmanuel Vadot		compatible = "simple-battery";
213aa1a8ff2SEmmanuel Vadot		precharge-current-microamp = <450000>;
214aa1a8ff2SEmmanuel Vadot		constant-charge-current-max-microamp = <1000000>;
215aa1a8ff2SEmmanuel Vadot		charge-term-current-microamp = <150000>;
216aa1a8ff2SEmmanuel Vadot		precharge-upper-limit-microvolt = <3500000>;
217aa1a8ff2SEmmanuel Vadot		constant-charge-voltage-max-microvolt = <4350000>;
218aa1a8ff2SEmmanuel Vadot	};
2198cc087a1SEmmanuel Vadot};
2208cc087a1SEmmanuel Vadot
2218cc087a1SEmmanuel Vadot&blsp_i2c2 {
2228cc087a1SEmmanuel Vadot	status = "okay";
2238cc087a1SEmmanuel Vadot
2248cc087a1SEmmanuel Vadot	imu@6b {
2258cc087a1SEmmanuel Vadot		compatible = "st,lsm6ds3";
2268cc087a1SEmmanuel Vadot		reg = <0x6b>;
2278cc087a1SEmmanuel Vadot
228f126890aSEmmanuel Vadot		interrupt-parent = <&tlmm>;
2298cc087a1SEmmanuel Vadot		interrupts = <115 IRQ_TYPE_EDGE_RISING>;
2308cc087a1SEmmanuel Vadot
2318cc087a1SEmmanuel Vadot		pinctrl-names = "default";
2328cc087a1SEmmanuel Vadot		pinctrl-0 = <&imu_irq_default>;
2338cc087a1SEmmanuel Vadot	};
2347ef62cebSEmmanuel Vadot
2357ef62cebSEmmanuel Vadot	magnetometer@2e {
2367ef62cebSEmmanuel Vadot		compatible = "yamaha,yas537";
2377ef62cebSEmmanuel Vadot		reg = <0x2e>;
2387ef62cebSEmmanuel Vadot
2397ef62cebSEmmanuel Vadot		mount-matrix = "0",  "1",  "0",
2407ef62cebSEmmanuel Vadot			       "1",  "0",  "0",
2417ef62cebSEmmanuel Vadot			       "0",  "0", "-1";
2427ef62cebSEmmanuel Vadot	};
2438cc087a1SEmmanuel Vadot};
2448cc087a1SEmmanuel Vadot
2458cc087a1SEmmanuel Vadot&blsp_i2c4 {
2468cc087a1SEmmanuel Vadot	status = "okay";
2478cc087a1SEmmanuel Vadot
248aa1a8ff2SEmmanuel Vadot	fuel-gauge@35 {
2498cc087a1SEmmanuel Vadot		compatible = "richtek,rt5033-battery";
2508cc087a1SEmmanuel Vadot		reg = <0x35>;
2518cc087a1SEmmanuel Vadot
252f126890aSEmmanuel Vadot		interrupt-parent = <&tlmm>;
2538cc087a1SEmmanuel Vadot		interrupts = <121 IRQ_TYPE_EDGE_FALLING>;
2548cc087a1SEmmanuel Vadot
2558cc087a1SEmmanuel Vadot		pinctrl-names = "default";
2568cc087a1SEmmanuel Vadot		pinctrl-0 = <&fg_alert_default>;
257aa1a8ff2SEmmanuel Vadot
258aa1a8ff2SEmmanuel Vadot		power-supplies = <&rt5033_charger>;
2598cc087a1SEmmanuel Vadot	};
2608cc087a1SEmmanuel Vadot};
2618cc087a1SEmmanuel Vadot
2628cc087a1SEmmanuel Vadot&blsp_i2c5 {
2638cc087a1SEmmanuel Vadot	status = "okay";
2648cc087a1SEmmanuel Vadot
2658cc087a1SEmmanuel Vadot	touchscreen@20 {
2668cc087a1SEmmanuel Vadot		compatible = "zinitix,bt541";
2678cc087a1SEmmanuel Vadot		reg = <0x20>;
2688cc087a1SEmmanuel Vadot
269f126890aSEmmanuel Vadot		interrupt-parent = <&tlmm>;
2708cc087a1SEmmanuel Vadot		interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
2718cc087a1SEmmanuel Vadot
2728cc087a1SEmmanuel Vadot		touchscreen-size-x = <540>;
2738cc087a1SEmmanuel Vadot		touchscreen-size-y = <960>;
2748cc087a1SEmmanuel Vadot
2758cc087a1SEmmanuel Vadot		vdd-supply = <&reg_vdd_tsp>;
2768cc087a1SEmmanuel Vadot		vddo-supply = <&pm8916_l6>;
2778cc087a1SEmmanuel Vadot
2788cc087a1SEmmanuel Vadot		pinctrl-names = "default";
2798cc087a1SEmmanuel Vadot		pinctrl-0 = <&tsp_irq_default>;
2808cc087a1SEmmanuel Vadot	};
2818cc087a1SEmmanuel Vadot};
2828cc087a1SEmmanuel Vadot
283aa1a8ff2SEmmanuel Vadot&blsp_i2c6 {
284aa1a8ff2SEmmanuel Vadot	status = "okay";
285aa1a8ff2SEmmanuel Vadot
286aa1a8ff2SEmmanuel Vadot	pmic@34 {
287aa1a8ff2SEmmanuel Vadot		compatible = "richtek,rt5033";
288aa1a8ff2SEmmanuel Vadot		reg = <0x34>;
289aa1a8ff2SEmmanuel Vadot
290aa1a8ff2SEmmanuel Vadot		interrupt-parent = <&tlmm>;
291aa1a8ff2SEmmanuel Vadot		interrupts = <62 IRQ_TYPE_EDGE_FALLING>;
292aa1a8ff2SEmmanuel Vadot
293aa1a8ff2SEmmanuel Vadot		pinctrl-names = "default";
294aa1a8ff2SEmmanuel Vadot		pinctrl-0 = <&pmic_int_default>;
295aa1a8ff2SEmmanuel Vadot
296aa1a8ff2SEmmanuel Vadot		regulators {
297aa1a8ff2SEmmanuel Vadot			rt5033_reg_safe_ldo: SAFE_LDO {
298aa1a8ff2SEmmanuel Vadot				regulator-min-microvolt = <4900000>;
299aa1a8ff2SEmmanuel Vadot				regulator-max-microvolt = <4900000>;
300aa1a8ff2SEmmanuel Vadot				regulator-always-on;
301aa1a8ff2SEmmanuel Vadot			};
302aa1a8ff2SEmmanuel Vadot			rt5033_reg_ldo: LDO {
303aa1a8ff2SEmmanuel Vadot				regulator-min-microvolt = <2800000>;
304aa1a8ff2SEmmanuel Vadot				regulator-max-microvolt = <2800000>;
305aa1a8ff2SEmmanuel Vadot			};
306aa1a8ff2SEmmanuel Vadot			rt5033_reg_buck: BUCK {
307aa1a8ff2SEmmanuel Vadot				regulator-min-microvolt = <1200000>;
308aa1a8ff2SEmmanuel Vadot				regulator-max-microvolt = <1200000>;
309aa1a8ff2SEmmanuel Vadot			};
310aa1a8ff2SEmmanuel Vadot		};
311aa1a8ff2SEmmanuel Vadot
312aa1a8ff2SEmmanuel Vadot		rt5033_charger: charger {
313aa1a8ff2SEmmanuel Vadot			compatible = "richtek,rt5033-charger";
314aa1a8ff2SEmmanuel Vadot			monitored-battery = <&battery>;
315aa1a8ff2SEmmanuel Vadot			richtek,usb-connector = <&usb_con>;
316aa1a8ff2SEmmanuel Vadot		};
317aa1a8ff2SEmmanuel Vadot	};
318aa1a8ff2SEmmanuel Vadot};
319aa1a8ff2SEmmanuel Vadot
320f126890aSEmmanuel Vadot&blsp_uart2 {
3218cc087a1SEmmanuel Vadot	status = "okay";
3228cc087a1SEmmanuel Vadot};
3238cc087a1SEmmanuel Vadot
324*8d13bc63SEmmanuel Vadot&mpss_mem {
325*8d13bc63SEmmanuel Vadot	reg = <0x0 0x86800000 0x0 0x5a00000>;
326*8d13bc63SEmmanuel Vadot};
327*8d13bc63SEmmanuel Vadot
3288cc087a1SEmmanuel Vadot&pm8916_resin {
3298cc087a1SEmmanuel Vadot	status = "okay";
3308cc087a1SEmmanuel Vadot	linux,code = <KEY_VOLUMEDOWN>;
3318cc087a1SEmmanuel Vadot};
3328cc087a1SEmmanuel Vadot
3338cc087a1SEmmanuel Vadot&pm8916_vib {
3348cc087a1SEmmanuel Vadot	status = "okay";
3358cc087a1SEmmanuel Vadot};
3368cc087a1SEmmanuel Vadot
3378cc087a1SEmmanuel Vadot&sdhc_1 {
3388cc087a1SEmmanuel Vadot	status = "okay";
3398cc087a1SEmmanuel Vadot};
3408cc087a1SEmmanuel Vadot
3418cc087a1SEmmanuel Vadot&sdhc_2 {
3428cc087a1SEmmanuel Vadot	status = "okay";
3438cc087a1SEmmanuel Vadot	non-removable;
3448cc087a1SEmmanuel Vadot
3458cc087a1SEmmanuel Vadot	/*
3468cc087a1SEmmanuel Vadot	 * FIXME: Disable UHS-I modes since tuning fails with:
3478cc087a1SEmmanuel Vadot	 *
3488cc087a1SEmmanuel Vadot	 * sdhci_msm 7864900.sdhci: mmc1: No tuning point found
3498cc087a1SEmmanuel Vadot	 * mmc1: tuning execution failed: -5
3508cc087a1SEmmanuel Vadot	 * mmc1: error -5 whilst initialising SD card
3518cc087a1SEmmanuel Vadot	 *
3528cc087a1SEmmanuel Vadot	 * This is the quirk used on downstream, which suggests this is
3538cc087a1SEmmanuel Vadot	 * a hardware limitation. However, probing a card using DDR50 works
3548cc087a1SEmmanuel Vadot	 * (without tuning), so maybe only tuning is broken?
3558cc087a1SEmmanuel Vadot	 */
3568cc087a1SEmmanuel Vadot	no-1-8-v;
3578cc087a1SEmmanuel Vadot};
3588cc087a1SEmmanuel Vadot
359*8d13bc63SEmmanuel Vadot&sound {
360*8d13bc63SEmmanuel Vadot	audio-routing =
361*8d13bc63SEmmanuel Vadot		"AMIC1", "MIC BIAS External1",
362*8d13bc63SEmmanuel Vadot		"AMIC2", "MIC BIAS Internal2",
363*8d13bc63SEmmanuel Vadot		"AMIC3", "MIC BIAS External1";
364*8d13bc63SEmmanuel Vadot};
365*8d13bc63SEmmanuel Vadot
3668cc087a1SEmmanuel Vadot&usb {
3678cc087a1SEmmanuel Vadot	status = "okay";
3688cc087a1SEmmanuel Vadot	extcon = <&muic>, <&muic>;
3698cc087a1SEmmanuel Vadot};
3708cc087a1SEmmanuel Vadot
3718cc087a1SEmmanuel Vadot&usb_hs_phy {
3728cc087a1SEmmanuel Vadot	extcon = <&muic>;
3738cc087a1SEmmanuel Vadot};
3748cc087a1SEmmanuel Vadot
37584943d6fSEmmanuel Vadot&venus {
37684943d6fSEmmanuel Vadot	status = "okay";
37784943d6fSEmmanuel Vadot};
37884943d6fSEmmanuel Vadot
37984943d6fSEmmanuel Vadot&venus_mem {
38084943d6fSEmmanuel Vadot	status = "okay";
38184943d6fSEmmanuel Vadot};
38284943d6fSEmmanuel Vadot
383fac71e4eSEmmanuel Vadot&wcnss {
384fac71e4eSEmmanuel Vadot	status = "okay";
385fac71e4eSEmmanuel Vadot};
386fac71e4eSEmmanuel Vadot
387fac71e4eSEmmanuel Vadot&wcnss_iris {
388fac71e4eSEmmanuel Vadot	compatible = "qcom,wcn3660b";
389fac71e4eSEmmanuel Vadot};
390fac71e4eSEmmanuel Vadot
39184943d6fSEmmanuel Vadot&wcnss_mem {
39284943d6fSEmmanuel Vadot	status = "okay";
39384943d6fSEmmanuel Vadot};
39484943d6fSEmmanuel Vadot
395f126890aSEmmanuel Vadot&tlmm {
3968bab661aSEmmanuel Vadot	fg_alert_default: fg-alert-default-state {
3978cc087a1SEmmanuel Vadot		pins = "gpio121";
3988cc087a1SEmmanuel Vadot		function = "gpio";
3998cc087a1SEmmanuel Vadot
4008cc087a1SEmmanuel Vadot		drive-strength = <2>;
4018cc087a1SEmmanuel Vadot		bias-disable;
4028cc087a1SEmmanuel Vadot	};
4038cc087a1SEmmanuel Vadot
4048bab661aSEmmanuel Vadot	gpio_keys_default: gpio-keys-default-state {
4058cc087a1SEmmanuel Vadot		pins = "gpio107", "gpio109";
4068cc087a1SEmmanuel Vadot		function = "gpio";
4078cc087a1SEmmanuel Vadot
4088cc087a1SEmmanuel Vadot		drive-strength = <2>;
4098cc087a1SEmmanuel Vadot		bias-pull-up;
4108cc087a1SEmmanuel Vadot	};
4118cc087a1SEmmanuel Vadot
4128bab661aSEmmanuel Vadot	gpio_hall_sensor_default: gpio-hall-sensor-default-state {
4138cc087a1SEmmanuel Vadot		pins = "gpio52";
4148cc087a1SEmmanuel Vadot		function = "gpio";
4158cc087a1SEmmanuel Vadot
4168cc087a1SEmmanuel Vadot		drive-strength = <2>;
4178cc087a1SEmmanuel Vadot		bias-disable;
4188cc087a1SEmmanuel Vadot	};
4198cc087a1SEmmanuel Vadot
4208bab661aSEmmanuel Vadot	imu_irq_default: imu-irq-default-state {
4218cc087a1SEmmanuel Vadot		pins = "gpio115";
4228cc087a1SEmmanuel Vadot		function = "gpio";
4238cc087a1SEmmanuel Vadot
4248cc087a1SEmmanuel Vadot		drive-strength = <2>;
4258cc087a1SEmmanuel Vadot		bias-disable;
4268cc087a1SEmmanuel Vadot	};
4278cc087a1SEmmanuel Vadot
4288bab661aSEmmanuel Vadot	muic_i2c_default: muic-i2c-default-state {
4298cc087a1SEmmanuel Vadot		pins = "gpio105", "gpio106";
4308cc087a1SEmmanuel Vadot		function = "gpio";
4318cc087a1SEmmanuel Vadot
4328cc087a1SEmmanuel Vadot		drive-strength = <2>;
4338cc087a1SEmmanuel Vadot		bias-disable;
4348cc087a1SEmmanuel Vadot	};
4358cc087a1SEmmanuel Vadot
4368bab661aSEmmanuel Vadot	muic_irq_default: muic-irq-default-state {
4378cc087a1SEmmanuel Vadot		pins = "gpio12";
4388cc087a1SEmmanuel Vadot		function = "gpio";
4398cc087a1SEmmanuel Vadot
4408cc087a1SEmmanuel Vadot		drive-strength = <2>;
4418cc087a1SEmmanuel Vadot		bias-disable;
4428cc087a1SEmmanuel Vadot	};
4438cc087a1SEmmanuel Vadot
4448bab661aSEmmanuel Vadot	nfc_default: nfc-default-state {
4458bab661aSEmmanuel Vadot		nfc-pins {
4468cc087a1SEmmanuel Vadot			pins = "gpio20", "gpio49";
4478cc087a1SEmmanuel Vadot			function = "gpio";
4488cc087a1SEmmanuel Vadot
4498cc087a1SEmmanuel Vadot			drive-strength = <2>;
4508cc087a1SEmmanuel Vadot			bias-disable;
4518bab661aSEmmanuel Vadot		};
4528bab661aSEmmanuel Vadot		irq-pins {
4538cc087a1SEmmanuel Vadot			pins = "gpio21";
4548cc087a1SEmmanuel Vadot			function = "gpio";
4558cc087a1SEmmanuel Vadot
4568cc087a1SEmmanuel Vadot			drive-strength = <2>;
4578cc087a1SEmmanuel Vadot			bias-pull-down;
4588cc087a1SEmmanuel Vadot		};
4598cc087a1SEmmanuel Vadot	};
4608cc087a1SEmmanuel Vadot
4618bab661aSEmmanuel Vadot	nfc_i2c_default: nfc-i2c-default-state {
4628cc087a1SEmmanuel Vadot		pins = "gpio0", "gpio1";
4638cc087a1SEmmanuel Vadot		function = "gpio";
4648cc087a1SEmmanuel Vadot
4658cc087a1SEmmanuel Vadot		drive-strength = <2>;
4668cc087a1SEmmanuel Vadot		bias-disable;
4678cc087a1SEmmanuel Vadot	};
4688cc087a1SEmmanuel Vadot
469aa1a8ff2SEmmanuel Vadot	pmic_int_default: pmic-int-default-state {
470aa1a8ff2SEmmanuel Vadot		pins = "gpio62";
471aa1a8ff2SEmmanuel Vadot		function = "gpio";
472aa1a8ff2SEmmanuel Vadot
473aa1a8ff2SEmmanuel Vadot		drive-strength = <2>;
474aa1a8ff2SEmmanuel Vadot		bias-disable;
475aa1a8ff2SEmmanuel Vadot	};
476aa1a8ff2SEmmanuel Vadot
4778bab661aSEmmanuel Vadot	tkey_default: tkey-default-state {
4788cc087a1SEmmanuel Vadot		pins = "gpio98";
4798cc087a1SEmmanuel Vadot		function = "gpio";
4808cc087a1SEmmanuel Vadot
4818cc087a1SEmmanuel Vadot		drive-strength = <2>;
4828cc087a1SEmmanuel Vadot		bias-disable;
4838cc087a1SEmmanuel Vadot	};
4848cc087a1SEmmanuel Vadot
4858bab661aSEmmanuel Vadot	tkey_en_default: tkey-en-default-state {
4868cc087a1SEmmanuel Vadot		pins = "gpio86";
4878cc087a1SEmmanuel Vadot		function = "gpio";
4888cc087a1SEmmanuel Vadot
4898cc087a1SEmmanuel Vadot		drive-strength = <2>;
4908cc087a1SEmmanuel Vadot		bias-disable;
4918cc087a1SEmmanuel Vadot	};
4928cc087a1SEmmanuel Vadot
4938bab661aSEmmanuel Vadot	tkey_i2c_default: tkey-i2c-default-state {
4948cc087a1SEmmanuel Vadot		pins = "gpio16", "gpio17";
4958cc087a1SEmmanuel Vadot		function = "gpio";
4968cc087a1SEmmanuel Vadot
4978cc087a1SEmmanuel Vadot		drive-strength = <2>;
4988cc087a1SEmmanuel Vadot		bias-disable;
4998cc087a1SEmmanuel Vadot	};
5008cc087a1SEmmanuel Vadot
5018bab661aSEmmanuel Vadot	tkey_led_en_default: tkey-led-en-default-state {
5028cc087a1SEmmanuel Vadot		pins = "gpio60";
5038cc087a1SEmmanuel Vadot		function = "gpio";
5048cc087a1SEmmanuel Vadot
5058cc087a1SEmmanuel Vadot		drive-strength = <2>;
5068cc087a1SEmmanuel Vadot		bias-disable;
5078cc087a1SEmmanuel Vadot	};
5088cc087a1SEmmanuel Vadot
5098bab661aSEmmanuel Vadot	tsp_en_default: tsp-en-default-state {
5108cc087a1SEmmanuel Vadot		pins = "gpio73";
5118cc087a1SEmmanuel Vadot		function = "gpio";
5128cc087a1SEmmanuel Vadot
5138cc087a1SEmmanuel Vadot		drive-strength = <2>;
5148cc087a1SEmmanuel Vadot		bias-disable;
5158cc087a1SEmmanuel Vadot	};
5168cc087a1SEmmanuel Vadot
5178bab661aSEmmanuel Vadot	tsp_irq_default: tsp-irq-default-state {
5188cc087a1SEmmanuel Vadot		pins = "gpio13";
5198cc087a1SEmmanuel Vadot		function = "gpio";
5208cc087a1SEmmanuel Vadot
5218cc087a1SEmmanuel Vadot		drive-strength = <2>;
5228cc087a1SEmmanuel Vadot		bias-disable;
5238cc087a1SEmmanuel Vadot	};
5248cc087a1SEmmanuel Vadot};
525