mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2 0/4] Add Xiaomi Poco F1 touchscreen support
@ 2024-12-08 15:23 Joel Selvaraj
  2024-12-08 15:23 ` [PATCH v2 1/4] dt-bindings: input: touchscreen: edt-ft5x06: add panel property Joel Selvaraj
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Joel Selvaraj @ 2024-12-08 15:23 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Dmitry Torokhov
  Cc: linux-arm-msm, devicetree, linux-kernel, linux-input,
	Joel Selvaraj, Joel Selvaraj, Joel Selvaraj, Konrad Dybcio

In the first patch, I have added the "panel" property to edt-ft5x06 touchscreen
binding documentation. In Xiaomi Poco F1 (qcom/sdm845-xiaomi-beryllium-ebbg.dts),
the FocalTech FT8719 touchscreen is integrally connected to the display panel
(EBBG FT8719) and thus should be power sequenced together with display panel for
proper functioning. Add the panel property which optionally allows to link panel
to the touchscreen.

In the second patch, I have enabled the  qupv3_id_1 and gpi_dma1 as they
are required for configuring touchscreen. Also added the pinctrl configurations.
These are common for both the Poco F1 Tianma and EBBG panel variant.

In the subsequent patches, I have enabled support for the Novatek NT36672a
touchscreen and FocalTech FT8719 touchscreen that are used in the Poco F1
Tianma and EBBG panel variant respectively.

Signed-off-by: Joel Selvaraj <foss@joelselvaraj.com>
---
Changes in v2:
- Fixed the missing "panel" property dt-binding error reported by Rob Herring's bot.
- Change the "input-enable" property to "output-disable" in qcom/sdm845-xiaomi-beryllium-common.dtsi
  (Based on a patch suggested by Konrad Dybcio).
- Link to v1: https://lore.kernel.org/r/20241007-pocof1-touchscreen-support-v1-0-db31b21818c5@joelselvaraj.com

---
Joel Selvaraj (4):
      dt-bindings: input: touchscreen: edt-ft5x06: add panel property
      arm64: dts: qcom: sdm845-xiaomi-beryllium-common: add touchscreen related nodes
      arm64: dts: qcom: sdm845-xiaomi-beryllium-tianma: introduce touchscreen support
      arm64: dts: qcom: sdm845-xiaomi-beryllium-ebbg: introduce touchscreen support

 .../bindings/input/touchscreen/edt-ft5x06.yaml     |  1 +
 .../dts/qcom/sdm845-xiaomi-beryllium-common.dtsi   | 39 ++++++++++++++++++++++
 .../boot/dts/qcom/sdm845-xiaomi-beryllium-ebbg.dts | 23 +++++++++++++
 .../dts/qcom/sdm845-xiaomi-beryllium-tianma.dts    | 23 +++++++++++++
 4 files changed, 86 insertions(+)
---
base-commit: f7d003800fcaa3f3619468992bd39963861ea793
change-id: 20241007-pocof1-touchscreen-support-c752a162cdc2

Best regards,
-- 
Joel Selvaraj <foss@joelselvaraj.com>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v2 1/4] dt-bindings: input: touchscreen: edt-ft5x06: add panel property
  2024-12-08 15:23 [PATCH v2 0/4] Add Xiaomi Poco F1 touchscreen support Joel Selvaraj
@ 2024-12-08 15:23 ` Joel Selvaraj
  2024-12-09  9:23   ` Krzysztof Kozlowski
  2024-12-08 15:23 ` [PATCH v2 2/4] arm64: dts: qcom: sdm845-xiaomi-beryllium-common: add touchscreen related nodes Joel Selvaraj
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Joel Selvaraj @ 2024-12-08 15:23 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Dmitry Torokhov
  Cc: linux-arm-msm, devicetree, linux-kernel, linux-input, Joel Selvaraj

In Xiaomi Poco F1 (qcom/sdm845-xiaomi-beryllium-ebbg.dts), the FocalTech
FT8719 touchscreen is integrally connected to the display panel
(EBBG FT8719) and thus should be power sequenced together with display
panel for proper functioning. Add the panel property which optionally
allows to link panel to the touchscreen.

Signed-off-by: Joel Selvaraj <foss@joelselvaraj.com>
---
 Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml b/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml
index 70a922e213f2a..35a6ac4ded7c7 100644
--- a/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml
+++ b/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml
@@ -103,6 +103,7 @@ properties:
     minimum: 0
     maximum: 255
 
+  panel: true
   touchscreen-size-x: true
   touchscreen-size-y: true
   touchscreen-fuzz-x: true

-- 
2.47.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v2 2/4] arm64: dts: qcom: sdm845-xiaomi-beryllium-common: add touchscreen related nodes
  2024-12-08 15:23 [PATCH v2 0/4] Add Xiaomi Poco F1 touchscreen support Joel Selvaraj
  2024-12-08 15:23 ` [PATCH v2 1/4] dt-bindings: input: touchscreen: edt-ft5x06: add panel property Joel Selvaraj
@ 2024-12-08 15:23 ` Joel Selvaraj
  2024-12-13 12:45   ` Konrad Dybcio
  2024-12-08 15:23 ` [PATCH v2 3/4] arm64: dts: qcom: sdm845-xiaomi-beryllium-tianma: introduce touchscreen support Joel Selvaraj
  2024-12-08 15:23 ` [PATCH v2 4/4] arm64: dts: qcom: sdm845-xiaomi-beryllium-ebbg: " Joel Selvaraj
  3 siblings, 1 reply; 7+ messages in thread
From: Joel Selvaraj @ 2024-12-08 15:23 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Dmitry Torokhov
  Cc: linux-arm-msm, devicetree, linux-kernel, linux-input,
	Joel Selvaraj, Joel Selvaraj

From: Joel Selvaraj <joelselvaraj.oss@gmail.com>

Enable qupv3_id_1 and gpi_dma1 as they are required for configuring
touchscreen. Also add pinctrl configurations needed for touchscreen.
These are common for both the tianma and ebbg touchscreen variant.
In the subsequent patches, we will enable support for the Novatek NT36672a
touchscreen and FocalTech FT8719 touchscreen that are used in the Poco F1
Tianma and EBBG panel variant respectively. This is done in preparation
for that.

Signed-off-by: Joel Selvaraj <foss@joelselvaraj.com>
---
 .../dts/qcom/sdm845-xiaomi-beryllium-common.dtsi   | 39 ++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi
index 617b17b2d7d9d..e93ed6effdd73 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi
@@ -243,6 +243,10 @@ &gmu {
 	status = "okay";
 };
 
+&gpi_dma1 {
+	status = "okay";
+};
+
 &gpu {
 	status = "okay";
 
@@ -408,6 +412,10 @@ &qupv3_id_0 {
 	status = "okay";
 };
 
+&qupv3_id_1 {
+	status = "okay";
+};
+
 &sdhc_2 {
 	status = "okay";
 
@@ -513,6 +521,37 @@ sdc2_card_det_n: sd-card-det-n-state {
 		function = "gpio";
 		bias-pull-up;
 	};
+
+	ts_int_default: ts-int-default-state {
+		pins = "gpio31";
+		function = "gpio";
+		drive-strength = <16>;
+		bias-pull-down;
+		output-disable;
+	};
+
+	ts_reset_default: ts-reset-default-state {
+		pins = "gpio32";
+		function = "gpio";
+		drive-strength = <16>;
+		output-high;
+	};
+
+	ts_int_sleep: ts-int-sleep-state {
+		pins = "gpio31";
+		function = "gpio";
+		drive-strength = <2>;
+		bias-pull-down;
+		output-disable;
+	};
+
+	ts_reset_sleep: ts-reset-sleep-state {
+		pins = "gpio32";
+		function = "gpio";
+		drive-strength = <2>;
+		bias-disable;
+		output-low;
+	};
 };
 
 &uart6 {

-- 
2.47.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v2 3/4] arm64: dts: qcom: sdm845-xiaomi-beryllium-tianma: introduce touchscreen support
  2024-12-08 15:23 [PATCH v2 0/4] Add Xiaomi Poco F1 touchscreen support Joel Selvaraj
  2024-12-08 15:23 ` [PATCH v2 1/4] dt-bindings: input: touchscreen: edt-ft5x06: add panel property Joel Selvaraj
  2024-12-08 15:23 ` [PATCH v2 2/4] arm64: dts: qcom: sdm845-xiaomi-beryllium-common: add touchscreen related nodes Joel Selvaraj
@ 2024-12-08 15:23 ` Joel Selvaraj
  2024-12-08 15:23 ` [PATCH v2 4/4] arm64: dts: qcom: sdm845-xiaomi-beryllium-ebbg: " Joel Selvaraj
  3 siblings, 0 replies; 7+ messages in thread
From: Joel Selvaraj @ 2024-12-08 15:23 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Dmitry Torokhov
  Cc: linux-arm-msm, devicetree, linux-kernel, linux-input,
	Joel Selvaraj, Joel Selvaraj, Konrad Dybcio

From: Joel Selvaraj <jo@jsfamily.in>

Enable the Novatek NT36672A touchscreen controller used in the Poco F1
(Tianma) panel variant.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Joel Selvaraj <foss@joelselvaraj.com>
---
 .../dts/qcom/sdm845-xiaomi-beryllium-tianma.dts    | 23 ++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-tianma.dts b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-tianma.dts
index e9427851ebaae..b58964cde8342 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-tianma.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-tianma.dts
@@ -13,3 +13,26 @@ &display_panel {
 	compatible = "tianma,fhd-video", "novatek,nt36672a";
 	status = "okay";
 };
+
+&i2c14 {
+	status = "okay";
+
+	touchscreen@1 {
+		compatible = "novatek,nt36672a-ts";
+		reg = <0x01>;
+
+		interrupts-extended = <&tlmm 31 IRQ_TYPE_EDGE_RISING>;
+		reset-gpios = <&tlmm 32 GPIO_ACTIVE_LOW>;
+		panel = <&display_panel>;
+
+		iovcc-supply = <&vreg_l14a_1p8>;
+		vcc-supply = <&lab>;
+
+		pinctrl-0 = <&ts_int_default &ts_reset_default>;
+		pinctrl-1 = <&ts_int_sleep &ts_reset_sleep>;
+		pinctrl-names = "default", "sleep";
+
+		touchscreen-size-x = <1080>;
+		touchscreen-size-y = <2246>;
+	};
+};

-- 
2.47.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v2 4/4] arm64: dts: qcom: sdm845-xiaomi-beryllium-ebbg: introduce touchscreen support
  2024-12-08 15:23 [PATCH v2 0/4] Add Xiaomi Poco F1 touchscreen support Joel Selvaraj
                   ` (2 preceding siblings ...)
  2024-12-08 15:23 ` [PATCH v2 3/4] arm64: dts: qcom: sdm845-xiaomi-beryllium-tianma: introduce touchscreen support Joel Selvaraj
@ 2024-12-08 15:23 ` Joel Selvaraj
  3 siblings, 0 replies; 7+ messages in thread
From: Joel Selvaraj @ 2024-12-08 15:23 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Dmitry Torokhov
  Cc: linux-arm-msm, devicetree, linux-kernel, linux-input,
	Joel Selvaraj, Joel Selvaraj, Konrad Dybcio

From: Joel Selvaraj <joelselvaraj.oss@gmail.com>

Enable the Focaltech FT8719 touchscreen controller used in the Poco F1
(EBBG) panel variant.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Joel Selvaraj <foss@joelselvaraj.com>
---
 .../boot/dts/qcom/sdm845-xiaomi-beryllium-ebbg.dts | 23 ++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-ebbg.dts b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-ebbg.dts
index 76931ebad065e..2d6f0e382a6cb 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-ebbg.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-ebbg.dts
@@ -13,3 +13,26 @@ &display_panel {
 	compatible = "ebbg,ft8719";
 	status = "okay";
 };
+
+&i2c14 {
+	status = "okay";
+
+	touchscreen@38 {
+		compatible = "focaltech,ft8719";
+		reg = <0x38>;
+
+		interrupts-extended = <&tlmm 31 IRQ_TYPE_EDGE_RISING>;
+		reset-gpios = <&tlmm 32 GPIO_ACTIVE_LOW>;
+		panel = <&display_panel>;
+
+		iovcc-supply = <&vreg_l14a_1p8>;
+		vcc-supply = <&lab>;
+
+		pinctrl-0 = <&ts_int_default &ts_reset_default>;
+		pinctrl-1 = <&ts_int_sleep &ts_reset_sleep>;
+		pinctrl-names = "default", "sleep";
+
+		touchscreen-size-x = <1080>;
+		touchscreen-size-y = <2246>;
+	};
+};

-- 
2.47.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 1/4] dt-bindings: input: touchscreen: edt-ft5x06: add panel property
  2024-12-08 15:23 ` [PATCH v2 1/4] dt-bindings: input: touchscreen: edt-ft5x06: add panel property Joel Selvaraj
@ 2024-12-09  9:23   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 7+ messages in thread
From: Krzysztof Kozlowski @ 2024-12-09  9:23 UTC (permalink / raw)
  To: Joel Selvaraj
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Dmitry Torokhov, linux-arm-msm, devicetree,
	linux-kernel, linux-input, Joel Selvaraj

On Sun, Dec 08, 2024 at 09:23:27AM -0600, Joel Selvaraj wrote:
> In Xiaomi Poco F1 (qcom/sdm845-xiaomi-beryllium-ebbg.dts), the FocalTech
> FT8719 touchscreen is integrally connected to the display panel
> (EBBG FT8719) and thus should be power sequenced together with display
> panel for proper functioning. Add the panel property which optionally
> allows to link panel to the touchscreen.
> 
> Signed-off-by: Joel Selvaraj <foss@joelselvaraj.com>

SoB mismatch.

Please run scripts/checkpatch.pl and fix reported warnings. Then please
run 'scripts/checkpatch.pl --strict' and (probably) fix more warnings.
Some warnings can be ignored, especially from --strict run, but the code
here looks like it needs a fix. Feel free to get in touch if the warning
is not clear.

>  Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml b/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml
> index 70a922e213f2a..35a6ac4ded7c7 100644
> --- a/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml
> +++ b/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml
> @@ -103,6 +103,7 @@ properties:
>      minimum: 0
>      maximum: 255
>  
> +  panel: true

So you just list all properties from touchscreen... no, use
unevaluatedProperties instead of additionalProperties.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 2/4] arm64: dts: qcom: sdm845-xiaomi-beryllium-common: add touchscreen related nodes
  2024-12-08 15:23 ` [PATCH v2 2/4] arm64: dts: qcom: sdm845-xiaomi-beryllium-common: add touchscreen related nodes Joel Selvaraj
@ 2024-12-13 12:45   ` Konrad Dybcio
  0 siblings, 0 replies; 7+ messages in thread
From: Konrad Dybcio @ 2024-12-13 12:45 UTC (permalink / raw)
  To: Joel Selvaraj, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov
  Cc: linux-arm-msm, devicetree, linux-kernel, linux-input, Joel Selvaraj

On 8.12.2024 4:23 PM, Joel Selvaraj wrote:
> From: Joel Selvaraj <joelselvaraj.oss@gmail.com>
> 
> Enable qupv3_id_1 and gpi_dma1 as they are required for configuring
> touchscreen. Also add pinctrl configurations needed for touchscreen.
> These are common for both the tianma and ebbg touchscreen variant.
> In the subsequent patches, we will enable support for the Novatek NT36672a
> touchscreen and FocalTech FT8719 touchscreen that are used in the Poco F1
> Tianma and EBBG panel variant respectively. This is done in preparation
> for that.
> 
> Signed-off-by: Joel Selvaraj <foss@joelselvaraj.com>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-12-13 12:45 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-12-08 15:23 [PATCH v2 0/4] Add Xiaomi Poco F1 touchscreen support Joel Selvaraj
2024-12-08 15:23 ` [PATCH v2 1/4] dt-bindings: input: touchscreen: edt-ft5x06: add panel property Joel Selvaraj
2024-12-09  9:23   ` Krzysztof Kozlowski
2024-12-08 15:23 ` [PATCH v2 2/4] arm64: dts: qcom: sdm845-xiaomi-beryllium-common: add touchscreen related nodes Joel Selvaraj
2024-12-13 12:45   ` Konrad Dybcio
2024-12-08 15:23 ` [PATCH v2 3/4] arm64: dts: qcom: sdm845-xiaomi-beryllium-tianma: introduce touchscreen support Joel Selvaraj
2024-12-08 15:23 ` [PATCH v2 4/4] arm64: dts: qcom: sdm845-xiaomi-beryllium-ebbg: " Joel Selvaraj

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®