162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (C) 2019 Stephan Gerhold
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci/dts-v1/;
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#include "msm8916-pm8916.dtsi"
962306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
1062306a36Sopenharmony_ci#include <dt-bindings/input/input.h>
1162306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci/*
1462306a36Sopenharmony_ci * NOTE: The original firmware from Samsung can only boot ARM32 kernels.
1562306a36Sopenharmony_ci * Unfortunately, the firmware is signed and cannot be replaced easily.
1662306a36Sopenharmony_ci * There seems to be no way to boot ARM64 kernels on this device at the moment,
1762306a36Sopenharmony_ci * even though the hardware would support it.
1862306a36Sopenharmony_ci *
1962306a36Sopenharmony_ci * However, it is possible to use this device tree by compiling an ARM32 kernel
2062306a36Sopenharmony_ci * instead. For clarity and build testing this device tree is maintained next
2162306a36Sopenharmony_ci * to the other MSM8916 device trees. However, it is actually used through
2262306a36Sopenharmony_ci *   arch/arm/boot/dts/qcom-msm8916-samsung-serranove.dts
2362306a36Sopenharmony_ci */
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci/ {
2662306a36Sopenharmony_ci	model = "Samsung Galaxy S4 Mini Value Edition";
2762306a36Sopenharmony_ci	compatible = "samsung,serranove", "qcom,msm8916";
2862306a36Sopenharmony_ci	chassis-type = "handset";
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci	aliases {
3162306a36Sopenharmony_ci		mmc0 = &sdhc_1; /* eMMC */
3262306a36Sopenharmony_ci		mmc1 = &sdhc_2; /* SD card */
3362306a36Sopenharmony_ci		serial0 = &blsp_uart2;
3462306a36Sopenharmony_ci	};
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci	chosen {
3762306a36Sopenharmony_ci		stdout-path = "serial0";
3862306a36Sopenharmony_ci	};
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci	reserved-memory {
4162306a36Sopenharmony_ci		/* Additional memory used by Samsung firmware modifications */
4262306a36Sopenharmony_ci		tz-apps@85500000 {
4362306a36Sopenharmony_ci			reg = <0x0 0x85500000 0x0 0xb00000>;
4462306a36Sopenharmony_ci			no-map;
4562306a36Sopenharmony_ci		};
4662306a36Sopenharmony_ci	};
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci	gpio-keys {
4962306a36Sopenharmony_ci		compatible = "gpio-keys";
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci		pinctrl-names = "default";
5262306a36Sopenharmony_ci		pinctrl-0 = <&gpio_keys_default>;
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci		label = "GPIO Buttons";
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci		button-volume-up {
5762306a36Sopenharmony_ci			label = "Volume Up";
5862306a36Sopenharmony_ci			gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
5962306a36Sopenharmony_ci			linux,code = <KEY_VOLUMEUP>;
6062306a36Sopenharmony_ci		};
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci		button-home {
6362306a36Sopenharmony_ci			label = "Home";
6462306a36Sopenharmony_ci			gpios = <&tlmm 109 GPIO_ACTIVE_LOW>;
6562306a36Sopenharmony_ci			linux,code = <KEY_HOMEPAGE>;
6662306a36Sopenharmony_ci		};
6762306a36Sopenharmony_ci	};
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci	gpio-hall-sensor {
7062306a36Sopenharmony_ci		compatible = "gpio-keys";
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci		pinctrl-names = "default";
7362306a36Sopenharmony_ci		pinctrl-0 = <&gpio_hall_sensor_default>;
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci		label = "GPIO Hall Effect Sensor";
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci		event-hall-sensor {
7862306a36Sopenharmony_ci			label = "Hall Effect Sensor";
7962306a36Sopenharmony_ci			gpios = <&tlmm 52 GPIO_ACTIVE_LOW>;
8062306a36Sopenharmony_ci			linux,input-type = <EV_SW>;
8162306a36Sopenharmony_ci			linux,code = <SW_LID>;
8262306a36Sopenharmony_ci			linux,can-disable;
8362306a36Sopenharmony_ci		};
8462306a36Sopenharmony_ci	};
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci	reg_vdd_tsp: regulator-vdd-tsp {
8762306a36Sopenharmony_ci		compatible = "regulator-fixed";
8862306a36Sopenharmony_ci		regulator-name = "vdd_tsp";
8962306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
9062306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci		gpio = <&tlmm 73 GPIO_ACTIVE_HIGH>;
9362306a36Sopenharmony_ci		enable-active-high;
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci		pinctrl-names = "default";
9662306a36Sopenharmony_ci		pinctrl-0 = <&tsp_en_default>;
9762306a36Sopenharmony_ci	};
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ci	reg_touch_key: regulator-touch-key {
10062306a36Sopenharmony_ci		compatible = "regulator-fixed";
10162306a36Sopenharmony_ci		regulator-name = "touch_key";
10262306a36Sopenharmony_ci		regulator-min-microvolt = <2800000>;
10362306a36Sopenharmony_ci		regulator-max-microvolt = <2800000>;
10462306a36Sopenharmony_ci
10562306a36Sopenharmony_ci		gpio = <&tlmm 86 GPIO_ACTIVE_HIGH>;
10662306a36Sopenharmony_ci		enable-active-high;
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci		pinctrl-names = "default";
10962306a36Sopenharmony_ci		pinctrl-0 = <&tkey_en_default>;
11062306a36Sopenharmony_ci	};
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ci	reg_key_led: regulator-key-led {
11362306a36Sopenharmony_ci		compatible = "regulator-fixed";
11462306a36Sopenharmony_ci		regulator-name = "key_led";
11562306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
11662306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ci		gpio = <&tlmm 60 GPIO_ACTIVE_HIGH>;
11962306a36Sopenharmony_ci		enable-active-high;
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ci		pinctrl-names = "default";
12262306a36Sopenharmony_ci		pinctrl-0 = <&tkey_led_en_default>;
12362306a36Sopenharmony_ci	};
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci	i2c-muic {
12662306a36Sopenharmony_ci		compatible = "i2c-gpio";
12762306a36Sopenharmony_ci		sda-gpios = <&tlmm 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
12862306a36Sopenharmony_ci		scl-gpios = <&tlmm 106 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ci		pinctrl-names = "default";
13162306a36Sopenharmony_ci		pinctrl-0 = <&muic_i2c_default>;
13262306a36Sopenharmony_ci
13362306a36Sopenharmony_ci		#address-cells = <1>;
13462306a36Sopenharmony_ci		#size-cells = <0>;
13562306a36Sopenharmony_ci
13662306a36Sopenharmony_ci		muic: extcon@14 {
13762306a36Sopenharmony_ci			compatible = "siliconmitus,sm5504-muic";
13862306a36Sopenharmony_ci			reg = <0x14>;
13962306a36Sopenharmony_ci
14062306a36Sopenharmony_ci			interrupt-parent = <&tlmm>;
14162306a36Sopenharmony_ci			interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
14262306a36Sopenharmony_ci
14362306a36Sopenharmony_ci			pinctrl-names = "default";
14462306a36Sopenharmony_ci			pinctrl-0 = <&muic_irq_default>;
14562306a36Sopenharmony_ci
14662306a36Sopenharmony_ci			usb_con: connector {
14762306a36Sopenharmony_ci				compatible = "usb-b-connector";
14862306a36Sopenharmony_ci				label = "micro-USB";
14962306a36Sopenharmony_ci				type = "micro";
15062306a36Sopenharmony_ci			};
15162306a36Sopenharmony_ci		};
15262306a36Sopenharmony_ci	};
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ci	i2c-tkey {
15562306a36Sopenharmony_ci		compatible = "i2c-gpio";
15662306a36Sopenharmony_ci		sda-gpios = <&tlmm 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
15762306a36Sopenharmony_ci		scl-gpios = <&tlmm 17 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
15862306a36Sopenharmony_ci
15962306a36Sopenharmony_ci		pinctrl-names = "default";
16062306a36Sopenharmony_ci		pinctrl-0 = <&tkey_i2c_default>;
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ci		#address-cells = <1>;
16362306a36Sopenharmony_ci		#size-cells = <0>;
16462306a36Sopenharmony_ci
16562306a36Sopenharmony_ci		touchkey@20 {
16662306a36Sopenharmony_ci			compatible = "coreriver,tc360-touchkey";
16762306a36Sopenharmony_ci			reg = <0x20>;
16862306a36Sopenharmony_ci
16962306a36Sopenharmony_ci			interrupt-parent = <&tlmm>;
17062306a36Sopenharmony_ci			interrupts = <98 IRQ_TYPE_EDGE_FALLING>;
17162306a36Sopenharmony_ci
17262306a36Sopenharmony_ci			vcc-supply = <&reg_touch_key>;
17362306a36Sopenharmony_ci			vdd-supply = <&reg_key_led>;
17462306a36Sopenharmony_ci			vddio-supply = <&pm8916_l6>;
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ci			linux,keycodes = <KEY_APPSELECT KEY_BACK>;
17762306a36Sopenharmony_ci
17862306a36Sopenharmony_ci			pinctrl-names = "default";
17962306a36Sopenharmony_ci			pinctrl-0 = <&tkey_default>;
18062306a36Sopenharmony_ci		};
18162306a36Sopenharmony_ci	};
18262306a36Sopenharmony_ci
18362306a36Sopenharmony_ci	i2c-nfc {
18462306a36Sopenharmony_ci		compatible = "i2c-gpio";
18562306a36Sopenharmony_ci		sda-gpios = <&tlmm 0 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
18662306a36Sopenharmony_ci		scl-gpios = <&tlmm 1 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
18762306a36Sopenharmony_ci
18862306a36Sopenharmony_ci		pinctrl-names = "default";
18962306a36Sopenharmony_ci		pinctrl-0 = <&nfc_i2c_default>;
19062306a36Sopenharmony_ci
19162306a36Sopenharmony_ci		#address-cells = <1>;
19262306a36Sopenharmony_ci		#size-cells = <0>;
19362306a36Sopenharmony_ci
19462306a36Sopenharmony_ci		nfc@2b {
19562306a36Sopenharmony_ci			compatible = "nxp,pn547", "nxp,nxp-nci-i2c";
19662306a36Sopenharmony_ci			reg = <0x2b>;
19762306a36Sopenharmony_ci
19862306a36Sopenharmony_ci			interrupt-parent = <&tlmm>;
19962306a36Sopenharmony_ci			interrupts = <21 IRQ_TYPE_EDGE_RISING>;
20062306a36Sopenharmony_ci
20162306a36Sopenharmony_ci			enable-gpios = <&tlmm 20 GPIO_ACTIVE_HIGH>;
20262306a36Sopenharmony_ci			firmware-gpios = <&tlmm 49 GPIO_ACTIVE_HIGH>;
20362306a36Sopenharmony_ci
20462306a36Sopenharmony_ci			pinctrl-names = "default";
20562306a36Sopenharmony_ci			pinctrl-0 = <&nfc_default>;
20662306a36Sopenharmony_ci		};
20762306a36Sopenharmony_ci	};
20862306a36Sopenharmony_ci
20962306a36Sopenharmony_ci	battery: battery {
21062306a36Sopenharmony_ci		compatible = "simple-battery";
21162306a36Sopenharmony_ci		precharge-current-microamp = <450000>;
21262306a36Sopenharmony_ci		constant-charge-current-max-microamp = <1000000>;
21362306a36Sopenharmony_ci		charge-term-current-microamp = <150000>;
21462306a36Sopenharmony_ci		precharge-upper-limit-microvolt = <3500000>;
21562306a36Sopenharmony_ci		constant-charge-voltage-max-microvolt = <4350000>;
21662306a36Sopenharmony_ci	};
21762306a36Sopenharmony_ci};
21862306a36Sopenharmony_ci
21962306a36Sopenharmony_ci&blsp_i2c2 {
22062306a36Sopenharmony_ci	status = "okay";
22162306a36Sopenharmony_ci
22262306a36Sopenharmony_ci	imu@6b {
22362306a36Sopenharmony_ci		compatible = "st,lsm6ds3";
22462306a36Sopenharmony_ci		reg = <0x6b>;
22562306a36Sopenharmony_ci
22662306a36Sopenharmony_ci		interrupt-parent = <&tlmm>;
22762306a36Sopenharmony_ci		interrupts = <115 IRQ_TYPE_EDGE_RISING>;
22862306a36Sopenharmony_ci
22962306a36Sopenharmony_ci		pinctrl-names = "default";
23062306a36Sopenharmony_ci		pinctrl-0 = <&imu_irq_default>;
23162306a36Sopenharmony_ci	};
23262306a36Sopenharmony_ci
23362306a36Sopenharmony_ci	magnetometer@2e {
23462306a36Sopenharmony_ci		compatible = "yamaha,yas537";
23562306a36Sopenharmony_ci		reg = <0x2e>;
23662306a36Sopenharmony_ci
23762306a36Sopenharmony_ci		mount-matrix = "0",  "1",  "0",
23862306a36Sopenharmony_ci			       "1",  "0",  "0",
23962306a36Sopenharmony_ci			       "0",  "0", "-1";
24062306a36Sopenharmony_ci	};
24162306a36Sopenharmony_ci};
24262306a36Sopenharmony_ci
24362306a36Sopenharmony_ci&blsp_i2c4 {
24462306a36Sopenharmony_ci	status = "okay";
24562306a36Sopenharmony_ci
24662306a36Sopenharmony_ci	fuel-gauge@35 {
24762306a36Sopenharmony_ci		compatible = "richtek,rt5033-battery";
24862306a36Sopenharmony_ci		reg = <0x35>;
24962306a36Sopenharmony_ci
25062306a36Sopenharmony_ci		interrupt-parent = <&tlmm>;
25162306a36Sopenharmony_ci		interrupts = <121 IRQ_TYPE_EDGE_FALLING>;
25262306a36Sopenharmony_ci
25362306a36Sopenharmony_ci		pinctrl-names = "default";
25462306a36Sopenharmony_ci		pinctrl-0 = <&fg_alert_default>;
25562306a36Sopenharmony_ci
25662306a36Sopenharmony_ci		power-supplies = <&rt5033_charger>;
25762306a36Sopenharmony_ci	};
25862306a36Sopenharmony_ci};
25962306a36Sopenharmony_ci
26062306a36Sopenharmony_ci&blsp_i2c5 {
26162306a36Sopenharmony_ci	status = "okay";
26262306a36Sopenharmony_ci
26362306a36Sopenharmony_ci	touchscreen@20 {
26462306a36Sopenharmony_ci		compatible = "zinitix,bt541";
26562306a36Sopenharmony_ci		reg = <0x20>;
26662306a36Sopenharmony_ci
26762306a36Sopenharmony_ci		interrupt-parent = <&tlmm>;
26862306a36Sopenharmony_ci		interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
26962306a36Sopenharmony_ci
27062306a36Sopenharmony_ci		touchscreen-size-x = <540>;
27162306a36Sopenharmony_ci		touchscreen-size-y = <960>;
27262306a36Sopenharmony_ci
27362306a36Sopenharmony_ci		vdd-supply = <&reg_vdd_tsp>;
27462306a36Sopenharmony_ci		vddo-supply = <&pm8916_l6>;
27562306a36Sopenharmony_ci
27662306a36Sopenharmony_ci		pinctrl-names = "default";
27762306a36Sopenharmony_ci		pinctrl-0 = <&tsp_irq_default>;
27862306a36Sopenharmony_ci	};
27962306a36Sopenharmony_ci};
28062306a36Sopenharmony_ci
28162306a36Sopenharmony_ci&blsp_i2c6 {
28262306a36Sopenharmony_ci	status = "okay";
28362306a36Sopenharmony_ci
28462306a36Sopenharmony_ci	pmic@34 {
28562306a36Sopenharmony_ci		compatible = "richtek,rt5033";
28662306a36Sopenharmony_ci		reg = <0x34>;
28762306a36Sopenharmony_ci
28862306a36Sopenharmony_ci		interrupt-parent = <&tlmm>;
28962306a36Sopenharmony_ci		interrupts = <62 IRQ_TYPE_EDGE_FALLING>;
29062306a36Sopenharmony_ci
29162306a36Sopenharmony_ci		pinctrl-names = "default";
29262306a36Sopenharmony_ci		pinctrl-0 = <&pmic_int_default>;
29362306a36Sopenharmony_ci
29462306a36Sopenharmony_ci		regulators {
29562306a36Sopenharmony_ci			rt5033_reg_safe_ldo: SAFE_LDO {
29662306a36Sopenharmony_ci				regulator-min-microvolt = <4900000>;
29762306a36Sopenharmony_ci				regulator-max-microvolt = <4900000>;
29862306a36Sopenharmony_ci				regulator-always-on;
29962306a36Sopenharmony_ci			};
30062306a36Sopenharmony_ci			rt5033_reg_ldo: LDO {
30162306a36Sopenharmony_ci				regulator-min-microvolt = <2800000>;
30262306a36Sopenharmony_ci				regulator-max-microvolt = <2800000>;
30362306a36Sopenharmony_ci			};
30462306a36Sopenharmony_ci			rt5033_reg_buck: BUCK {
30562306a36Sopenharmony_ci				regulator-min-microvolt = <1200000>;
30662306a36Sopenharmony_ci				regulator-max-microvolt = <1200000>;
30762306a36Sopenharmony_ci			};
30862306a36Sopenharmony_ci		};
30962306a36Sopenharmony_ci
31062306a36Sopenharmony_ci		rt5033_charger: charger {
31162306a36Sopenharmony_ci			compatible = "richtek,rt5033-charger";
31262306a36Sopenharmony_ci			monitored-battery = <&battery>;
31362306a36Sopenharmony_ci			richtek,usb-connector = <&usb_con>;
31462306a36Sopenharmony_ci		};
31562306a36Sopenharmony_ci	};
31662306a36Sopenharmony_ci};
31762306a36Sopenharmony_ci
31862306a36Sopenharmony_ci&blsp_uart2 {
31962306a36Sopenharmony_ci	status = "okay";
32062306a36Sopenharmony_ci};
32162306a36Sopenharmony_ci
32262306a36Sopenharmony_ci&pm8916_resin {
32362306a36Sopenharmony_ci	status = "okay";
32462306a36Sopenharmony_ci	linux,code = <KEY_VOLUMEDOWN>;
32562306a36Sopenharmony_ci};
32662306a36Sopenharmony_ci
32762306a36Sopenharmony_ci&pm8916_vib {
32862306a36Sopenharmony_ci	status = "okay";
32962306a36Sopenharmony_ci};
33062306a36Sopenharmony_ci
33162306a36Sopenharmony_ci&sdhc_1 {
33262306a36Sopenharmony_ci	status = "okay";
33362306a36Sopenharmony_ci};
33462306a36Sopenharmony_ci
33562306a36Sopenharmony_ci&sdhc_2 {
33662306a36Sopenharmony_ci	status = "okay";
33762306a36Sopenharmony_ci	non-removable;
33862306a36Sopenharmony_ci
33962306a36Sopenharmony_ci	/*
34062306a36Sopenharmony_ci	 * FIXME: Disable UHS-I modes since tuning fails with:
34162306a36Sopenharmony_ci	 *
34262306a36Sopenharmony_ci	 * sdhci_msm 7864900.sdhci: mmc1: No tuning point found
34362306a36Sopenharmony_ci	 * mmc1: tuning execution failed: -5
34462306a36Sopenharmony_ci	 * mmc1: error -5 whilst initialising SD card
34562306a36Sopenharmony_ci	 *
34662306a36Sopenharmony_ci	 * This is the quirk used on downstream, which suggests this is
34762306a36Sopenharmony_ci	 * a hardware limitation. However, probing a card using DDR50 works
34862306a36Sopenharmony_ci	 * (without tuning), so maybe only tuning is broken?
34962306a36Sopenharmony_ci	 */
35062306a36Sopenharmony_ci	no-1-8-v;
35162306a36Sopenharmony_ci};
35262306a36Sopenharmony_ci
35362306a36Sopenharmony_ci&usb {
35462306a36Sopenharmony_ci	status = "okay";
35562306a36Sopenharmony_ci	extcon = <&muic>, <&muic>;
35662306a36Sopenharmony_ci};
35762306a36Sopenharmony_ci
35862306a36Sopenharmony_ci&usb_hs_phy {
35962306a36Sopenharmony_ci	extcon = <&muic>;
36062306a36Sopenharmony_ci};
36162306a36Sopenharmony_ci
36262306a36Sopenharmony_ci&wcnss {
36362306a36Sopenharmony_ci	status = "okay";
36462306a36Sopenharmony_ci};
36562306a36Sopenharmony_ci
36662306a36Sopenharmony_ci&wcnss_iris {
36762306a36Sopenharmony_ci	compatible = "qcom,wcn3660b";
36862306a36Sopenharmony_ci};
36962306a36Sopenharmony_ci
37062306a36Sopenharmony_ci&tlmm {
37162306a36Sopenharmony_ci	fg_alert_default: fg-alert-default-state {
37262306a36Sopenharmony_ci		pins = "gpio121";
37362306a36Sopenharmony_ci		function = "gpio";
37462306a36Sopenharmony_ci
37562306a36Sopenharmony_ci		drive-strength = <2>;
37662306a36Sopenharmony_ci		bias-disable;
37762306a36Sopenharmony_ci	};
37862306a36Sopenharmony_ci
37962306a36Sopenharmony_ci	gpio_keys_default: gpio-keys-default-state {
38062306a36Sopenharmony_ci		pins = "gpio107", "gpio109";
38162306a36Sopenharmony_ci		function = "gpio";
38262306a36Sopenharmony_ci
38362306a36Sopenharmony_ci		drive-strength = <2>;
38462306a36Sopenharmony_ci		bias-pull-up;
38562306a36Sopenharmony_ci	};
38662306a36Sopenharmony_ci
38762306a36Sopenharmony_ci	gpio_hall_sensor_default: gpio-hall-sensor-default-state {
38862306a36Sopenharmony_ci		pins = "gpio52";
38962306a36Sopenharmony_ci		function = "gpio";
39062306a36Sopenharmony_ci
39162306a36Sopenharmony_ci		drive-strength = <2>;
39262306a36Sopenharmony_ci		bias-disable;
39362306a36Sopenharmony_ci	};
39462306a36Sopenharmony_ci
39562306a36Sopenharmony_ci	imu_irq_default: imu-irq-default-state {
39662306a36Sopenharmony_ci		pins = "gpio115";
39762306a36Sopenharmony_ci		function = "gpio";
39862306a36Sopenharmony_ci
39962306a36Sopenharmony_ci		drive-strength = <2>;
40062306a36Sopenharmony_ci		bias-disable;
40162306a36Sopenharmony_ci	};
40262306a36Sopenharmony_ci
40362306a36Sopenharmony_ci	muic_i2c_default: muic-i2c-default-state {
40462306a36Sopenharmony_ci		pins = "gpio105", "gpio106";
40562306a36Sopenharmony_ci		function = "gpio";
40662306a36Sopenharmony_ci
40762306a36Sopenharmony_ci		drive-strength = <2>;
40862306a36Sopenharmony_ci		bias-disable;
40962306a36Sopenharmony_ci	};
41062306a36Sopenharmony_ci
41162306a36Sopenharmony_ci	muic_irq_default: muic-irq-default-state {
41262306a36Sopenharmony_ci		pins = "gpio12";
41362306a36Sopenharmony_ci		function = "gpio";
41462306a36Sopenharmony_ci
41562306a36Sopenharmony_ci		drive-strength = <2>;
41662306a36Sopenharmony_ci		bias-disable;
41762306a36Sopenharmony_ci	};
41862306a36Sopenharmony_ci
41962306a36Sopenharmony_ci	nfc_default: nfc-default-state {
42062306a36Sopenharmony_ci		nfc-pins {
42162306a36Sopenharmony_ci			pins = "gpio20", "gpio49";
42262306a36Sopenharmony_ci			function = "gpio";
42362306a36Sopenharmony_ci
42462306a36Sopenharmony_ci			drive-strength = <2>;
42562306a36Sopenharmony_ci			bias-disable;
42662306a36Sopenharmony_ci		};
42762306a36Sopenharmony_ci		irq-pins {
42862306a36Sopenharmony_ci			pins = "gpio21";
42962306a36Sopenharmony_ci			function = "gpio";
43062306a36Sopenharmony_ci
43162306a36Sopenharmony_ci			drive-strength = <2>;
43262306a36Sopenharmony_ci			bias-pull-down;
43362306a36Sopenharmony_ci		};
43462306a36Sopenharmony_ci	};
43562306a36Sopenharmony_ci
43662306a36Sopenharmony_ci	nfc_i2c_default: nfc-i2c-default-state {
43762306a36Sopenharmony_ci		pins = "gpio0", "gpio1";
43862306a36Sopenharmony_ci		function = "gpio";
43962306a36Sopenharmony_ci
44062306a36Sopenharmony_ci		drive-strength = <2>;
44162306a36Sopenharmony_ci		bias-disable;
44262306a36Sopenharmony_ci	};
44362306a36Sopenharmony_ci
44462306a36Sopenharmony_ci	pmic_int_default: pmic-int-default-state {
44562306a36Sopenharmony_ci		pins = "gpio62";
44662306a36Sopenharmony_ci		function = "gpio";
44762306a36Sopenharmony_ci
44862306a36Sopenharmony_ci		drive-strength = <2>;
44962306a36Sopenharmony_ci		bias-disable;
45062306a36Sopenharmony_ci	};
45162306a36Sopenharmony_ci
45262306a36Sopenharmony_ci	tkey_default: tkey-default-state {
45362306a36Sopenharmony_ci		pins = "gpio98";
45462306a36Sopenharmony_ci		function = "gpio";
45562306a36Sopenharmony_ci
45662306a36Sopenharmony_ci		drive-strength = <2>;
45762306a36Sopenharmony_ci		bias-disable;
45862306a36Sopenharmony_ci	};
45962306a36Sopenharmony_ci
46062306a36Sopenharmony_ci	tkey_en_default: tkey-en-default-state {
46162306a36Sopenharmony_ci		pins = "gpio86";
46262306a36Sopenharmony_ci		function = "gpio";
46362306a36Sopenharmony_ci
46462306a36Sopenharmony_ci		drive-strength = <2>;
46562306a36Sopenharmony_ci		bias-disable;
46662306a36Sopenharmony_ci	};
46762306a36Sopenharmony_ci
46862306a36Sopenharmony_ci	tkey_i2c_default: tkey-i2c-default-state {
46962306a36Sopenharmony_ci		pins = "gpio16", "gpio17";
47062306a36Sopenharmony_ci		function = "gpio";
47162306a36Sopenharmony_ci
47262306a36Sopenharmony_ci		drive-strength = <2>;
47362306a36Sopenharmony_ci		bias-disable;
47462306a36Sopenharmony_ci	};
47562306a36Sopenharmony_ci
47662306a36Sopenharmony_ci	tkey_led_en_default: tkey-led-en-default-state {
47762306a36Sopenharmony_ci		pins = "gpio60";
47862306a36Sopenharmony_ci		function = "gpio";
47962306a36Sopenharmony_ci
48062306a36Sopenharmony_ci		drive-strength = <2>;
48162306a36Sopenharmony_ci		bias-disable;
48262306a36Sopenharmony_ci	};
48362306a36Sopenharmony_ci
48462306a36Sopenharmony_ci	tsp_en_default: tsp-en-default-state {
48562306a36Sopenharmony_ci		pins = "gpio73";
48662306a36Sopenharmony_ci		function = "gpio";
48762306a36Sopenharmony_ci
48862306a36Sopenharmony_ci		drive-strength = <2>;
48962306a36Sopenharmony_ci		bias-disable;
49062306a36Sopenharmony_ci	};
49162306a36Sopenharmony_ci
49262306a36Sopenharmony_ci	tsp_irq_default: tsp-irq-default-state {
49362306a36Sopenharmony_ci		pins = "gpio13";
49462306a36Sopenharmony_ci		function = "gpio";
49562306a36Sopenharmony_ci
49662306a36Sopenharmony_ci		drive-strength = <2>;
49762306a36Sopenharmony_ci		bias-disable;
49862306a36Sopenharmony_ci	};
49962306a36Sopenharmony_ci};
500