arm64: dts: qcom: sm6125-xiaomi-laurel-sprout: Add Focaltech FT3518 touchscreen

Add device tree node for the Focaltech FT3518 touchscreen on
Xiaomi Mi A3 (laurel-sprout).

Enable qupv3_id_0 and i2c2 bus that the touchscreen is on.

Downstream references:
Link: https://github.com/MiCode/Xiaomi_Kernel_OpenSource/blob/laurel-r-oss/arch/arm64/boot/dts/qcom/trinket-pinctrl.dtsi
Link: https://github.com/MiCode/Xiaomi_Kernel_OpenSource/blob/laurel-r-oss/arch/arm64/boot/dts/qcom/laurel_sprout-qrd.dtsi

Co-developed-by: Kamil Gołda <kamil.golda@protonmail.com>
Signed-off-by: Kamil Gołda <kamil.golda@protonmail.com>
Signed-off-by: Yedaya Katsman <yedaya.ka@gmail.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260208-touchscreen-patches-v5-1-5821dff9c9a2@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
Yedaya Katsman
2026-02-08 23:24:23 +02:00
committed by Bjorn Andersson
parent 09d72b0ef8
commit 8cbbb33904

View File

@@ -82,6 +82,19 @@ key-volume-up {
};
};
ts_vdd_supply: regulator-ts-vdd {
compatible = "regulator-fixed";
regulator-name = "ts_vdd_supply";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
startup-delay-us = <70000>;
enable-active-high;
gpio = <&tlmm 83 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&ts_vdd_en>;
pinctrl-names = "default";
};
thermal-zones {
rf-pa0-thermal {
thermal-sensors = <&pm6125_adc_tm 0>;
@@ -128,6 +141,27 @@ &hsusb_phy1 {
status = "okay";
};
&i2c2 {
status = "okay";
touchscreen@38 {
compatible = "focaltech,ft3518";
reg = <0x38>;
interrupts-extended = <&tlmm 88 IRQ_TYPE_EDGE_FALLING>;
vcc-supply = <&ts_vdd_supply>;
pinctrl-0 = <&ts_int_active &ts_reset_active>;
pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
pinctrl-names = "default","sleep";
reset-gpios = <&tlmm 87 GPIO_ACTIVE_LOW>;
touchscreen-size-x = <720>;
touchscreen-size-y = <1560>;
};
};
&pm6125_adc {
pinctrl-names = "default";
pinctrl-0 = <&camera_flash_therm &emmc_ufs_therm>;
@@ -220,6 +254,10 @@ &pon_resin {
status = "okay";
};
&qupv3_id_0 {
status = "okay";
};
&rpm_requests {
regulators-0 {
compatible = "qcom,rpm-pm6125-regulators";
@@ -387,6 +425,41 @@ &sdhc_2 {
&tlmm {
gpio-reserved-ranges = <22 2>, <28 6>;
ts_vdd_en: ts-vdd-default-state {
pins = "gpio83";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
ts_reset_active: pmx-ts-reset-active-state {
pins = "gpio87";
function = "gpio";
drive-strength = <8>;
bias-pull-up;
};
ts_reset_suspend: pmx-ts-reset-suspend-state {
pins = "gpio87";
function = "gpio";
drive-strength = <2>;
bias-pull-down;
};
ts_int_active: pmx-ts-int-active-state {
pins = "gpio88";
function = "gpio";
drive-strength = <8>;
bias-pull-up;
};
ts_int_suspend: pmx-ts-int-suspend-state {
pins = "gpio88";
function = "gpio";
drive-strength = <2>;
bias-pull-down;
};
};
&ufs_mem_hc {