From b0da2092864e7cab5d334e8bf379107647b84a06 Mon Sep 17 00:00:00 2001 From: David Wales Date: Wed, 22 Jul 2026 00:00:20 +1000 Subject: [PATCH 1/5] ARM: dts: qcom: msm8226-motorola-titan: Enable WiFi Enable WiFi for motorola-titan, supported by existing driver for WCN3620. regulator-always-on for l3 and l8 prevents bootloops and instability. Signed-off-by: David Wales --- .../boot/dts/qcom/msm8226-motorola-titan.dts | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/arch/arm/boot/dts/qcom/msm8226-motorola-titan.dts b/arch/arm/boot/dts/qcom/msm8226-motorola-titan.dts index 79cc5704aa095f..6b6f298f206759 100644 --- a/arch/arm/boot/dts/qcom/msm8226-motorola-titan.dts +++ b/arch/arm/boot/dts/qcom/msm8226-motorola-titan.dts @@ -180,8 +180,10 @@ }; pm8226_l3: l3 { + /* WCNSS */ regulator-min-microvolt = <750000>; regulator-max-microvolt = <1337500>; + regulator-always-on; }; pm8226_l4: l4 { @@ -207,8 +209,10 @@ }; pm8226_l8: l8 { + /* WCNSS */ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; + regulator-always-on; }; pm8226_l9: l9 { @@ -354,6 +358,30 @@ v3p3-supply = <&pm8226_l20>; }; +&pronto { + status = "okay"; + + vddmx-supply = <&pm8226_l3>; + vddpx-supply = <&pm8226_l6>; + + pinctrl-names = "default"; + pinctrl-0 = <&wcnss_pin_a>; + + iris { + compatible = "qcom,wcn3620"; + vddxo-supply = <&pm8226_l10>; + vddrfa-supply = <&pm8226_l24>; + vddpa-supply = <&pm8226_l16>; + vdddig-supply = <&pm8226_l24>; + }; + + smd-edge { + wcnss { + status = "okay"; + }; + }; +}; + &tlmm { reg_lcd_default: reg-lcd-default-state { pins = "gpio12", "gpio13"; @@ -369,4 +397,11 @@ drive-strength = <2>; bias-pull-up; }; + + wcnss_pin_a: wcnss-pin-active-state { + pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44"; + function = "wlan"; + drive-strength = <2>; + bias-pull-up; + }; }; From 02447ee33742de48b3004357a71b147d4ac3b2ba Mon Sep 17 00:00:00 2001 From: David Wales Date: Sun, 2 Aug 2026 23:05:50 +1000 Subject: [PATCH 2/5] ARM: dts: qcom: msm8226-motorola-titan: Enable touchscreen Enable the Synaptics RMI4 I2C touchscreen for motorola-titan. Signed-off-by: David Wales --- .../boot/dts/qcom/msm8226-motorola-titan.dts | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) diff --git a/arch/arm/boot/dts/qcom/msm8226-motorola-titan.dts b/arch/arm/boot/dts/qcom/msm8226-motorola-titan.dts index 6b6f298f206759..0b9bc879cf3c39 100644 --- a/arch/arm/boot/dts/qcom/msm8226-motorola-titan.dts +++ b/arch/arm/boot/dts/qcom/msm8226-motorola-titan.dts @@ -84,6 +84,15 @@ regulator-boot-on; }; + vdd_touch_vreg: regulator-vdd-touch { + compatible = "regulator-fixed"; + regulator-name = "vdd_touch"; + + gpio = <&tlmm 73 GPIO_ACTIVE_HIGH>; + startup-delay-us = <300>; + enable-active-high; + }; + reserved-memory { #address-cells = <1>; #size-cells = <1>; @@ -146,6 +155,40 @@ }; }; +&blsp1_i2c5 { + status = "okay"; + + touchscreen@20 { + compatible = "syna,rmi4-i2c"; + reg = <0x20>; + + interrupt-parent = <&tlmm>; + interrupts = <17 IRQ_TYPE_NONE>; + + vdd-supply = <&vdd_touch_vreg>; + vio-supply = <&pm8226_lvs1>; + + pinctrl-0 = <&touch_pin>; + pinctrl-1 = <&tp_avdd_en_default_state>, <&tp_avdd_en_suspend_state>; + pinctrl-names = "default", "sleep"; + + syna,startup-delay-ms = <100>; + + #address-cells = <1>; + #size-cells = <0>; + + rmi4-f01@1 { + reg = <0x1>; + syna,nosleep-mode = <1>; + }; + + rmi4-f11@11 { + reg = <0x11>; + syna,sensor-type = <1>; + }; + }; +}; + &pm8226_vib { status = "okay"; }; @@ -391,6 +434,26 @@ output-high; }; + touch_pin: touch-state { + reset-pins { + pins = "gpio16"; + function = "gpio"; + + drive-strength = <2>; + bias-pull-up; + output-high; + }; + + int-pins { + pins = "gpio17"; + function = "gpio"; + + drive-strength = <2>; + bias-disable; + input; + }; + }; + sdhc2_cd_default: sdhc2-cd-default-state { pins = "gpio38"; function = "gpio"; @@ -404,4 +467,20 @@ drive-strength = <2>; bias-pull-up; }; + + tp_avdd_en_default_state: touch-avdd-en-pin-default-state { + pins = "gpio73"; + function = "gpio"; + drive-strength = <2>; + bias-pull-up; + output-high; + }; + + tp_avdd_en_suspend_state: touch-avdd-en-pin-suspend-state { + pins = "gpio73"; + function = "gpio"; + drive-strength = <2>; + bias-pull-down; + input; + }; }; From 42e6e700da5174e0e75794e3858b672f1a3fe3fe Mon Sep 17 00:00:00 2001 From: David Wales Date: Sat, 15 Aug 2026 15:27:25 +1000 Subject: [PATCH 3/5] SQUASH: ARM: dts: qcom: msm8226-motorola-titan: Enable touchscreen --- .../boot/dts/qcom/msm8226-motorola-titan.dts | 38 +++++-------------- 1 file changed, 9 insertions(+), 29 deletions(-) diff --git a/arch/arm/boot/dts/qcom/msm8226-motorola-titan.dts b/arch/arm/boot/dts/qcom/msm8226-motorola-titan.dts index 0b9bc879cf3c39..451ea05e537dd3 100644 --- a/arch/arm/boot/dts/qcom/msm8226-motorola-titan.dts +++ b/arch/arm/boot/dts/qcom/msm8226-motorola-titan.dts @@ -91,6 +91,7 @@ gpio = <&tlmm 73 GPIO_ACTIVE_HIGH>; startup-delay-us = <300>; enable-active-high; + regulator-pull-down; }; reserved-memory { @@ -162,15 +163,14 @@ compatible = "syna,rmi4-i2c"; reg = <0x20>; - interrupt-parent = <&tlmm>; - interrupts = <17 IRQ_TYPE_NONE>; + interrupts-extended = <&tlmm 17 IRQ_TYPE_NONE>; + reset-gpios = <&tlmm 16 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; vdd-supply = <&vdd_touch_vreg>; vio-supply = <&pm8226_lvs1>; - pinctrl-0 = <&touch_pin>; - pinctrl-1 = <&tp_avdd_en_default_state>, <&tp_avdd_en_suspend_state>; - pinctrl-names = "default", "sleep"; + pinctrl-0 = <&touch_pin>, <&tp_avdd_en_default_state>; + pinctrl-names = "default"; syna,startup-delay-ms = <100>; @@ -435,23 +435,11 @@ }; touch_pin: touch-state { - reset-pins { - pins = "gpio16"; - function = "gpio"; - - drive-strength = <2>; - bias-pull-up; - output-high; - }; - - int-pins { - pins = "gpio17"; - function = "gpio"; + pins = "gpio17"; + function = "gpio"; - drive-strength = <2>; - bias-disable; - input; - }; + drive-strength = <2>; + bias-disable; }; sdhc2_cd_default: sdhc2-cd-default-state { @@ -475,12 +463,4 @@ bias-pull-up; output-high; }; - - tp_avdd_en_suspend_state: touch-avdd-en-pin-suspend-state { - pins = "gpio73"; - function = "gpio"; - drive-strength = <2>; - bias-pull-down; - input; - }; }; From 0c3aecc170229bd53f68ebd0d3bc8d9382e1ebc0 Mon Sep 17 00:00:00 2001 From: David Wales Date: Sun, 16 Aug 2026 17:48:38 +1000 Subject: [PATCH 4/5] SQUASH: WIP: ARM: dts: qcom: msm8226-motorola-titan: Enable WiFi --- arch/arm/boot/dts/qcom/msm8226-motorola-titan.dts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/arch/arm/boot/dts/qcom/msm8226-motorola-titan.dts b/arch/arm/boot/dts/qcom/msm8226-motorola-titan.dts index 451ea05e537dd3..53195840022f20 100644 --- a/arch/arm/boot/dts/qcom/msm8226-motorola-titan.dts +++ b/arch/arm/boot/dts/qcom/msm8226-motorola-titan.dts @@ -223,10 +223,8 @@ }; pm8226_l3: l3 { - /* WCNSS */ regulator-min-microvolt = <750000>; regulator-max-microvolt = <1337500>; - regulator-always-on; }; pm8226_l4: l4 { @@ -402,14 +400,14 @@ }; &pronto { - status = "okay"; - vddmx-supply = <&pm8226_l3>; vddpx-supply = <&pm8226_l6>; pinctrl-names = "default"; pinctrl-0 = <&wcnss_pin_a>; + status = "okay"; + iris { compatible = "qcom,wcn3620"; vddxo-supply = <&pm8226_l10>; From 6041c1f826b40a8f4edf4e21ab5809ed8d552772 Mon Sep 17 00:00:00 2001 From: David Wales Date: Mon, 17 Aug 2026 23:35:16 +1000 Subject: [PATCH 5/5] SQUASH: ARM: dts: qcom: msm8226-motorola-titan: Enable touchscreen Fix IRQ type --- arch/arm/boot/dts/qcom/msm8226-motorola-titan.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/qcom/msm8226-motorola-titan.dts b/arch/arm/boot/dts/qcom/msm8226-motorola-titan.dts index 53195840022f20..9ae29636962cf0 100644 --- a/arch/arm/boot/dts/qcom/msm8226-motorola-titan.dts +++ b/arch/arm/boot/dts/qcom/msm8226-motorola-titan.dts @@ -163,7 +163,7 @@ compatible = "syna,rmi4-i2c"; reg = <0x20>; - interrupts-extended = <&tlmm 17 IRQ_TYPE_NONE>; + interrupts-extended = <&tlmm 17 IRQ_TYPE_EDGE_FALLING>; reset-gpios = <&tlmm 16 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; vdd-supply = <&vdd_touch_vreg>;