xref: /linux/arch/arm/boot/dts/qcom/qcom-msm8926-htc-memul.dts (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
197817a82SLuca Weiss// SPDX-License-Identifier: BSD-3-Clause
297817a82SLuca Weiss/*
397817a82SLuca Weiss * Copyright (c) 2023, Luca Weiss <luca@z3ntu.xyz>
497817a82SLuca Weiss */
597817a82SLuca Weiss
697817a82SLuca Weiss/dts-v1/;
797817a82SLuca Weiss
897817a82SLuca Weiss#include "qcom-msm8226.dtsi"
997817a82SLuca Weiss#include "pm8226.dtsi"
1097817a82SLuca Weiss
1197817a82SLuca Weiss/delete-node/ &adsp_region;
1297817a82SLuca Weiss/delete-node/ &smem_region;
1397817a82SLuca Weiss
1497817a82SLuca Weiss/ {
1597817a82SLuca Weiss	model = "HTC One Mini 2";
1697817a82SLuca Weiss	compatible = "htc,memul", "qcom,msm8926", "qcom,msm8226";
1797817a82SLuca Weiss	chassis-type = "handset";
1897817a82SLuca Weiss
1997817a82SLuca Weiss	aliases {
2097817a82SLuca Weiss		mmc1 = &sdhc_2; /* SDC2 SD card slot */
2197817a82SLuca Weiss	};
2297817a82SLuca Weiss
2397817a82SLuca Weiss	gpio-keys {
2497817a82SLuca Weiss		compatible = "gpio-keys";
2597817a82SLuca Weiss
2697817a82SLuca Weiss		key-power {
2797817a82SLuca Weiss			label = "Power";
2897817a82SLuca Weiss			gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
2997817a82SLuca Weiss			linux,code = <KEY_POWER>;
3097817a82SLuca Weiss			debounce-interval = <15>;
3197817a82SLuca Weiss		};
3297817a82SLuca Weiss
3397817a82SLuca Weiss		key-volume-down {
3497817a82SLuca Weiss			label = "Volume Down";
3597817a82SLuca Weiss			gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
3697817a82SLuca Weiss			linux,code = <KEY_VOLUMEDOWN>;
3797817a82SLuca Weiss			debounce-interval = <15>;
3897817a82SLuca Weiss		};
3997817a82SLuca Weiss
4097817a82SLuca Weiss		key-volume-up {
4197817a82SLuca Weiss			label = "Volume Up";
4297817a82SLuca Weiss			gpios = <&tlmm 108 GPIO_ACTIVE_LOW>;
4397817a82SLuca Weiss			linux,code = <KEY_VOLUMEUP>;
4497817a82SLuca Weiss			debounce-interval = <15>;
4597817a82SLuca Weiss		};
4697817a82SLuca Weiss	};
4797817a82SLuca Weiss
4897817a82SLuca Weiss	reserved-memory {
4997817a82SLuca Weiss		unknown@5b00000 {
5097817a82SLuca Weiss			reg = <0x05b00000 0x200000>;
5197817a82SLuca Weiss			no-map;
5297817a82SLuca Weiss		};
5397817a82SLuca Weiss
5497817a82SLuca Weiss		unknown@7500000 {
5597817a82SLuca Weiss			reg = <0x07500000 0xb00000>;
5697817a82SLuca Weiss			no-map;
5797817a82SLuca Weiss		};
5897817a82SLuca Weiss
5997817a82SLuca Weiss		mpss_region: mpss@8000000 {
6097817a82SLuca Weiss			reg = <0x08000000 0x4f00000>;
6197817a82SLuca Weiss			no-map;
6297817a82SLuca Weiss		};
6397817a82SLuca Weiss
6497817a82SLuca Weiss		unknown@cf00000 {
6597817a82SLuca Weiss			reg = <0x0cf00000 0x200000>;
6697817a82SLuca Weiss			no-map;
6797817a82SLuca Weiss		};
6897817a82SLuca Weiss
6997817a82SLuca Weiss		mba_region: mba@d100000 {
7097817a82SLuca Weiss			reg = <0x0d100000 0x3a000>;
7197817a82SLuca Weiss			no-map;
7297817a82SLuca Weiss		};
7397817a82SLuca Weiss
7497817a82SLuca Weiss		unknown@d13a000 {
7597817a82SLuca Weiss			reg = <0x0d13a000 0xc6000>;
7697817a82SLuca Weiss			no-map;
7797817a82SLuca Weiss		};
7897817a82SLuca Weiss
7997817a82SLuca Weiss		wcnss_region: wcnss@d200000 {
8097817a82SLuca Weiss			reg = <0x0d200000 0x650000>;
8197817a82SLuca Weiss			no-map;
8297817a82SLuca Weiss		};
8397817a82SLuca Weiss
8497817a82SLuca Weiss		unknown@d850000 {
8597817a82SLuca Weiss			reg = <0x0d850000 0x3b0000>;
8697817a82SLuca Weiss			no-map;
8797817a82SLuca Weiss		};
8897817a82SLuca Weiss
8997817a82SLuca Weiss		adsp_region: adsp@dc00000 {
9097817a82SLuca Weiss			reg = <0x0dc00000 0x1400000>;
9197817a82SLuca Weiss			no-map;
9297817a82SLuca Weiss		};
9397817a82SLuca Weiss
9497817a82SLuca Weiss		unknown@f000000 {
9597817a82SLuca Weiss			reg = <0x0f000000 0x500000>;
9697817a82SLuca Weiss			no-map;
9797817a82SLuca Weiss		};
9897817a82SLuca Weiss
9997817a82SLuca Weiss		venus_region: venus@f500000 {
10097817a82SLuca Weiss			reg = <0x0f500000 0x500000>;
10197817a82SLuca Weiss			no-map;
10297817a82SLuca Weiss		};
10397817a82SLuca Weiss
10497817a82SLuca Weiss		smem_region: smem@fa00000 {
10597817a82SLuca Weiss			reg = <0x0fa00000 0x100000>;
10697817a82SLuca Weiss			no-map;
10797817a82SLuca Weiss		};
10897817a82SLuca Weiss
10997817a82SLuca Weiss		unknown@fb00000 {
110*713bc594SLuca Weiss			reg = <0x0fb00000 0x280000>;
111*713bc594SLuca Weiss			no-map;
112*713bc594SLuca Weiss		};
113*713bc594SLuca Weiss
114*713bc594SLuca Weiss		rmtfs@fd80000 {
115*713bc594SLuca Weiss			compatible = "qcom,rmtfs-mem";
116*713bc594SLuca Weiss			reg = <0x0fd80000 0x180000>;
117*713bc594SLuca Weiss			no-map;
118*713bc594SLuca Weiss
119*713bc594SLuca Weiss			qcom,client-id = <1>;
120*713bc594SLuca Weiss		};
121*713bc594SLuca Weiss
122*713bc594SLuca Weiss		unknown@ff00000 {
123*713bc594SLuca Weiss			reg = <0x0ff00000 0x1700000>;
12497817a82SLuca Weiss			no-map;
12597817a82SLuca Weiss		};
12697817a82SLuca Weiss	};
12797817a82SLuca Weiss};
12897817a82SLuca Weiss
12997817a82SLuca Weiss&adsp {
13097817a82SLuca Weiss	firmware-name = "qcom/msm8926/memul/adsp.mbn";
13197817a82SLuca Weiss	status = "okay";
13297817a82SLuca Weiss};
13397817a82SLuca Weiss
13497817a82SLuca Weiss&blsp1_i2c2 {
13597817a82SLuca Weiss	status = "okay";
13697817a82SLuca Weiss
13797817a82SLuca Weiss	magnetometer@d {
13897817a82SLuca Weiss		compatible = "asahi-kasei,ak8963";
13997817a82SLuca Weiss		reg = <0x0d>;
14097817a82SLuca Weiss		interrupts-extended = <&tlmm 66 IRQ_TYPE_EDGE_RISING>;
14197817a82SLuca Weiss		vdd-supply = <&pm8226_l19>;
14297817a82SLuca Weiss		vid-supply = <&pm8226_l28>;
14397817a82SLuca Weiss	};
14497817a82SLuca Weiss
14597817a82SLuca Weiss	accelerometer@18 {
14697817a82SLuca Weiss		compatible = "bosch,bma250e";
14797817a82SLuca Weiss		reg = <0x18>;
14897817a82SLuca Weiss		interrupts-extended = <&tlmm 63 IRQ_TYPE_EDGE_RISING>;
14997817a82SLuca Weiss		vdd-supply = <&pm8226_l19>;
15097817a82SLuca Weiss		vddio-supply = <&pm8226_l28>;
15197817a82SLuca Weiss	};
15297817a82SLuca Weiss};
15397817a82SLuca Weiss
15497817a82SLuca Weiss&blsp1_i2c4 {
15597817a82SLuca Weiss	status = "okay";
15697817a82SLuca Weiss
15797817a82SLuca Weiss	/* TFA9887 @ 34 */
15897817a82SLuca Weiss	/* TFA9887 @ 35 */
15997817a82SLuca Weiss};
16097817a82SLuca Weiss
16197817a82SLuca Weiss&blsp1_i2c5 {
16297817a82SLuca Weiss	status = "okay";
16397817a82SLuca Weiss
16497817a82SLuca Weiss	touchscreen@20 {
16597817a82SLuca Weiss		compatible = "syna,rmi4-i2c";
16697817a82SLuca Weiss		reg = <0x20>;
16797817a82SLuca Weiss
16897817a82SLuca Weiss		interrupts-extended = <&tlmm 17 IRQ_TYPE_EDGE_FALLING>;
16997817a82SLuca Weiss		vdd-supply = <&pm8226_l19>;
17097817a82SLuca Weiss
17197817a82SLuca Weiss		syna,startup-delay-ms = <160>;
17297817a82SLuca Weiss
17397817a82SLuca Weiss		#address-cells = <1>;
17497817a82SLuca Weiss		#size-cells = <0>;
17597817a82SLuca Weiss
17697817a82SLuca Weiss		rmi4-f01@1 {
17797817a82SLuca Weiss			reg = <0x1>;
17897817a82SLuca Weiss			syna,nosleep-mode = <1>;
17997817a82SLuca Weiss		};
18097817a82SLuca Weiss
18197817a82SLuca Weiss		rmi4-f12@12 {
18297817a82SLuca Weiss			reg = <0x12>;
18397817a82SLuca Weiss			syna,sensor-type = <1>;
18497817a82SLuca Weiss		};
18597817a82SLuca Weiss	};
18697817a82SLuca Weiss};
18797817a82SLuca Weiss
18897817a82SLuca Weiss&blsp1_i2c6 {
18997817a82SLuca Weiss	status = "okay";
19097817a82SLuca Weiss
19197817a82SLuca Weiss	/* NCP6924 Camera Regulators @ 10 */
19297817a82SLuca Weiss	/* PN544 NFC @ 28 */
19397817a82SLuca Weiss	/* TPS61310 Flash/Torch @ 33 */
19497817a82SLuca Weiss};
19597817a82SLuca Weiss
19697817a82SLuca Weiss&pm8226_vib {
19797817a82SLuca Weiss	status = "okay";
19897817a82SLuca Weiss};
19997817a82SLuca Weiss
20097817a82SLuca Weiss&rpm_requests {
20197817a82SLuca Weiss	regulators {
20297817a82SLuca Weiss		compatible = "qcom,rpm-pm8226-regulators";
20397817a82SLuca Weiss
20497817a82SLuca Weiss		pm8226_s3: s3 {
20597817a82SLuca Weiss			regulator-min-microvolt = <1200000>;
20697817a82SLuca Weiss			regulator-max-microvolt = <1350000>;
20797817a82SLuca Weiss		};
20897817a82SLuca Weiss
20997817a82SLuca Weiss		pm8226_s4: s4 {
21097817a82SLuca Weiss			regulator-min-microvolt = <1800000>;
21197817a82SLuca Weiss			regulator-max-microvolt = <2200000>;
21297817a82SLuca Weiss		};
21397817a82SLuca Weiss
21497817a82SLuca Weiss		pm8226_s5: s5 {
21597817a82SLuca Weiss			regulator-min-microvolt = <1150000>;
21697817a82SLuca Weiss			regulator-max-microvolt = <1150000>;
21797817a82SLuca Weiss		};
21897817a82SLuca Weiss
21997817a82SLuca Weiss		pm8226_l1: l1 {
22097817a82SLuca Weiss			regulator-min-microvolt = <1225000>;
22197817a82SLuca Weiss			regulator-max-microvolt = <1225000>;
22297817a82SLuca Weiss		};
22397817a82SLuca Weiss
22497817a82SLuca Weiss		pm8226_l2: l2 {
22597817a82SLuca Weiss			regulator-min-microvolt = <1200000>;
22697817a82SLuca Weiss			regulator-max-microvolt = <1200000>;
22797817a82SLuca Weiss		};
22897817a82SLuca Weiss
22997817a82SLuca Weiss		pm8226_l3: l3 {
23097817a82SLuca Weiss			regulator-min-microvolt = <750000>;
23197817a82SLuca Weiss			regulator-max-microvolt = <1337500>;
23297817a82SLuca Weiss		};
23397817a82SLuca Weiss
23497817a82SLuca Weiss		pm8226_l4: l4 {
23597817a82SLuca Weiss			regulator-min-microvolt = <1200000>;
23697817a82SLuca Weiss			regulator-max-microvolt = <1200000>;
23797817a82SLuca Weiss		};
23897817a82SLuca Weiss
23997817a82SLuca Weiss		pm8226_l5: l5 {
24097817a82SLuca Weiss			regulator-min-microvolt = <1200000>;
24197817a82SLuca Weiss			regulator-max-microvolt = <1200000>;
24297817a82SLuca Weiss		};
24397817a82SLuca Weiss
24497817a82SLuca Weiss		pm8226_l6: l6 {
24597817a82SLuca Weiss			regulator-min-microvolt = <1800000>;
24697817a82SLuca Weiss			regulator-max-microvolt = <1800000>;
24797817a82SLuca Weiss		};
24897817a82SLuca Weiss
24997817a82SLuca Weiss		pm8226_l7: l7 {
25097817a82SLuca Weiss			regulator-min-microvolt = <1850000>;
25197817a82SLuca Weiss			regulator-max-microvolt = <1850000>;
25297817a82SLuca Weiss		};
25397817a82SLuca Weiss
25497817a82SLuca Weiss		pm8226_l8: l8 {
25597817a82SLuca Weiss			regulator-min-microvolt = <1800000>;
25697817a82SLuca Weiss			regulator-max-microvolt = <1800000>;
25797817a82SLuca Weiss		};
25897817a82SLuca Weiss
25997817a82SLuca Weiss		pm8226_l9: l9 {
26097817a82SLuca Weiss			regulator-min-microvolt = <2050000>;
26197817a82SLuca Weiss			regulator-max-microvolt = <2050000>;
26297817a82SLuca Weiss		};
26397817a82SLuca Weiss
26497817a82SLuca Weiss		pm8226_l10: l10 {
26597817a82SLuca Weiss			regulator-min-microvolt = <1800000>;
26697817a82SLuca Weiss			regulator-max-microvolt = <1800000>;
26797817a82SLuca Weiss		};
26897817a82SLuca Weiss
26997817a82SLuca Weiss		pm8226_l12: l12 {
27097817a82SLuca Weiss			regulator-min-microvolt = <1800000>;
27197817a82SLuca Weiss			regulator-max-microvolt = <1800000>;
27297817a82SLuca Weiss		};
27397817a82SLuca Weiss
27497817a82SLuca Weiss		pm8226_l14: l14 {
27597817a82SLuca Weiss			regulator-min-microvolt = <2750000>;
27697817a82SLuca Weiss			regulator-max-microvolt = <2750000>;
27797817a82SLuca Weiss		};
27897817a82SLuca Weiss
27997817a82SLuca Weiss		pm8226_l15: l15 {
28097817a82SLuca Weiss			regulator-min-microvolt = <3000000>;
28197817a82SLuca Weiss			regulator-max-microvolt = <3000000>;
28297817a82SLuca Weiss		};
28397817a82SLuca Weiss
28497817a82SLuca Weiss		pm8226_l16: l16 {
28597817a82SLuca Weiss			regulator-min-microvolt = <3000000>;
28697817a82SLuca Weiss			regulator-max-microvolt = <3350000>;
28797817a82SLuca Weiss		};
28897817a82SLuca Weiss
28997817a82SLuca Weiss		pm8226_l17: l17 {
29097817a82SLuca Weiss			regulator-min-microvolt = <2950000>;
29197817a82SLuca Weiss			regulator-max-microvolt = <2950000>;
29297817a82SLuca Weiss		};
29397817a82SLuca Weiss
29497817a82SLuca Weiss		pm8226_l18: l18 {
29597817a82SLuca Weiss			regulator-min-microvolt = <2950000>;
29697817a82SLuca Weiss			regulator-max-microvolt = <2950000>;
29797817a82SLuca Weiss		};
29897817a82SLuca Weiss
29997817a82SLuca Weiss		pm8226_l19: l19 {
30097817a82SLuca Weiss			regulator-min-microvolt = <2850000>;
30197817a82SLuca Weiss			regulator-max-microvolt = <2850000>;
30297817a82SLuca Weiss		};
30397817a82SLuca Weiss
30497817a82SLuca Weiss		pm8226_l20: l20 {
30597817a82SLuca Weiss			regulator-min-microvolt = <3075000>;
30697817a82SLuca Weiss			regulator-max-microvolt = <3075000>;
30797817a82SLuca Weiss		};
30897817a82SLuca Weiss
30997817a82SLuca Weiss		pm8226_l21: l21 {
31097817a82SLuca Weiss			regulator-min-microvolt = <1800000>;
31197817a82SLuca Weiss			regulator-max-microvolt = <2950000>;
31297817a82SLuca Weiss			regulator-allow-set-load;
31397817a82SLuca Weiss		};
31497817a82SLuca Weiss
31597817a82SLuca Weiss		pm8226_l22: l22 {
31697817a82SLuca Weiss			regulator-min-microvolt = <1800000>;
31797817a82SLuca Weiss			regulator-max-microvolt = <2950000>;
31897817a82SLuca Weiss		};
31997817a82SLuca Weiss
32097817a82SLuca Weiss		pm8226_l23: l23 {
32197817a82SLuca Weiss			regulator-min-microvolt = <1800000>;
32297817a82SLuca Weiss			regulator-max-microvolt = <3000000>;
32397817a82SLuca Weiss		};
32497817a82SLuca Weiss
32597817a82SLuca Weiss		pm8226_l24: l24 {
32697817a82SLuca Weiss			regulator-min-microvolt = <1300000>;
32797817a82SLuca Weiss			regulator-max-microvolt = <1350000>;
32897817a82SLuca Weiss		};
32997817a82SLuca Weiss
33097817a82SLuca Weiss		pm8226_l25: l25 {
33197817a82SLuca Weiss			regulator-min-microvolt = <1775000>;
33297817a82SLuca Weiss			regulator-max-microvolt = <2125000>;
33397817a82SLuca Weiss		};
33497817a82SLuca Weiss
33597817a82SLuca Weiss		pm8226_l26: l26 {
33697817a82SLuca Weiss			regulator-min-microvolt = <1225000>;
33797817a82SLuca Weiss			regulator-max-microvolt = <1225000>;
33897817a82SLuca Weiss		};
33997817a82SLuca Weiss
34097817a82SLuca Weiss		pm8226_l27: l27 {
34197817a82SLuca Weiss			regulator-min-microvolt = <2050000>;
34297817a82SLuca Weiss			regulator-max-microvolt = <2050000>;
34397817a82SLuca Weiss		};
34497817a82SLuca Weiss
34597817a82SLuca Weiss		pm8226_l28: l28 {
34697817a82SLuca Weiss			regulator-min-microvolt = <1800000>;
34797817a82SLuca Weiss			regulator-max-microvolt = <1800000>;
34897817a82SLuca Weiss		};
34997817a82SLuca Weiss
35097817a82SLuca Weiss		pm8226_lvs1: lvs1 {};
35197817a82SLuca Weiss	};
35297817a82SLuca Weiss};
35397817a82SLuca Weiss
35497817a82SLuca Weiss&sdhc_2 {
35597817a82SLuca Weiss	vmmc-supply = <&pm8226_l18>;
35697817a82SLuca Weiss	vqmmc-supply = <&pm8226_l21>;
35797817a82SLuca Weiss
35897817a82SLuca Weiss	bus-width = <4>;
35997817a82SLuca Weiss	cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
36097817a82SLuca Weiss
36197817a82SLuca Weiss	status = "okay";
36297817a82SLuca Weiss};
36397817a82SLuca Weiss
36497817a82SLuca Weiss&smbb {
36597817a82SLuca Weiss	qcom,fast-charge-safe-current = <1750000>;
36697817a82SLuca Weiss	qcom,fast-charge-current-limit = <1750000>;
36797817a82SLuca Weiss	qcom,fast-charge-safe-voltage = <4360000>;
36897817a82SLuca Weiss	qcom,fast-charge-high-threshold-voltage = <4350000>;
36997817a82SLuca Weiss	qcom,auto-recharge-threshold-voltage = <4300000>;
37097817a82SLuca Weiss	qcom,minimum-input-voltage = <4300000>;
371c9c8179dSBryant Mairs
372c9c8179dSBryant Mairs	status = "okay";
37397817a82SLuca Weiss};
37497817a82SLuca Weiss
37597817a82SLuca Weiss&usb {
37697817a82SLuca Weiss	extcon = <&smbb>;
37797817a82SLuca Weiss	dr_mode = "peripheral";
37897817a82SLuca Weiss	status = "okay";
37997817a82SLuca Weiss};
38097817a82SLuca Weiss
38197817a82SLuca Weiss&usb_hs_phy {
38297817a82SLuca Weiss	extcon = <&smbb>;
38397817a82SLuca Weiss	v1p8-supply = <&pm8226_l10>;
38497817a82SLuca Weiss	v3p3-supply = <&pm8226_l20>;
38597817a82SLuca Weiss};
386