From: "Michał Kopeć" <michal@nozomi.space>
To: linux-input@vger.kernel.org
Cc: devicetree@vger.kernel.org, linux-mediatek@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, "Jiri Kosina" <jikos@kernel.org>,
"Benjamin Tissoires" <bentiss@kernel.org>,
"Dmitry Torokhov" <dmitry.torokhov@gmail.com>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Matthias Brugger" <matthias.bgg@gmail.com>,
"AngeloGioacchino Del Regno"
<angelogioacchino.delregno@collabora.com>,
"Allen Lin" <allencl_lin@hotmail.com>,
"Tylor Yang" <tylor_yang@himax.corp-partner.google.com>,
"Felix Kaechele" <felix@kaechele.ca>,
"Douglas Anderson" <dianders@chromium.org>,
"Michał Kopeć" <michal@nozomi.space>
Subject: [PATCH v5 6/6] arm64: dts: mediatek: mt8188-geralt-ciri: Add the touchscreen
Date: Sat, 3 Oct 2026 16:27:41 +0200 [thread overview]
Message-ID: <20261003142741.48634-7-michal@nozomi.space> (raw)
In-Reply-To: <20261003142741.48634-1-michal@nozomi.space>
Ciri uses the touch function of its Himax HX83102J TDDI controller,
connected over SPI1. It shares the analog supplies and the reset with
the panel, so describe those and follow the panel for power sequencing.
The controller has no flash; the firmware is loaded from a file that
depends on the panel: himax_i2chid_1002.bin for the BOE panel and
himax_i2chid_1003.bin for the IVO panel, as on ChromeOS.
Signed-off-by: Michał Kopeć <michal@nozomi.space>
---
.../dts/mediatek/mt8188-geralt-ciri-sku1.dts | 4 +++
.../dts/mediatek/mt8188-geralt-ciri-sku3.dts | 4 +++
.../dts/mediatek/mt8188-geralt-ciri-sku5.dts | 4 +++
.../dts/mediatek/mt8188-geralt-ciri-sku7.dts | 4 +++
.../boot/dts/mediatek/mt8188-geralt-ciri.dtsi | 33 +++++++++++++++++++
5 files changed, 49 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri-sku1.dts b/arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri-sku1.dts
index ef5ea9d12b1de..6377354440d68 100644
--- a/arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri-sku1.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri-sku1.dts
@@ -57,3 +57,7 @@ codec {
};
};
};
+
+&touchscreen {
+ firmware-name = "himax_i2chid_1003.bin";
+};
diff --git a/arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri-sku3.dts b/arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri-sku3.dts
index 524f7f0064c1a..2a51c610758f7 100644
--- a/arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri-sku3.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri-sku3.dts
@@ -30,3 +30,7 @@ &sound {
"Left Spk", "Front Left BE_OUT",
"Right Spk", "Front Right BE_OUT";
};
+
+&touchscreen {
+ firmware-name = "himax_i2chid_1003.bin";
+};
diff --git a/arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri-sku5.dts b/arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri-sku5.dts
index bf87201ccf273..8fb0036aa14d0 100644
--- a/arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri-sku5.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri-sku5.dts
@@ -70,3 +70,7 @@ codec {
};
};
};
+
+&touchscreen {
+ firmware-name = "himax_i2chid_1003.bin";
+};
diff --git a/arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri-sku7.dts b/arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri-sku7.dts
index 825015b452d59..2bd178116423b 100644
--- a/arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri-sku7.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri-sku7.dts
@@ -46,3 +46,7 @@ codec {
};
};
};
+
+&touchscreen {
+ firmware-name = "himax_i2chid_1003.bin";
+};
diff --git a/arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri.dtsi b/arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri.dtsi
index 6815c435a57e1..e611fb73ddb01 100644
--- a/arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri.dtsi
@@ -121,6 +121,27 @@ codec {
};
};
+&spi1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ touchscreen: touchscreen@0 {
+ compatible = "himax,hx83102j";
+ reg = <0>;
+ spi-max-frequency = <12500000>;
+ interrupts-extended = <&pio 143 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&touchscreen_pins>;
+ reset-gpios = <&pio 5 GPIO_ACTIVE_LOW>;
+ display-reset-gpios = <&pio 25 GPIO_ACTIVE_LOW>;
+ vccd-supply = <&mt6359_vm18_ldo_reg>;
+ vsp-supply = <&ppvar_mipi_disp_avdd>;
+ vsn-supply = <&ppvar_mipi_disp_avee>;
+ panel = <&dsi_panel>;
+ firmware-name = "himax_i2chid_1002.bin";
+ };
+};
+
&pio {
gpio-line-names =
"GSC_AP_INT_ODL",
@@ -313,4 +334,16 @@ pins-en-spkr {
pinmux = <PINMUX_GPIO111__FUNC_B_GPIO111>;
};
};
+
+ touchscreen_pins: touchscreen-pins {
+ pins-int-odl {
+ pinmux = <PINMUX_GPIO143__FUNC_B_GPIO143>;
+ input-enable;
+ };
+
+ pins-rst-l {
+ pinmux = <PINMUX_GPIO5__FUNC_B_GPIO5>;
+ output-high;
+ };
+ };
};
--
2.55.0
prev parent reply other threads:[~2026-10-03 14:27 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-03 14:27 [PATCH v5 0/6] HID: Add support for the Himax HX83102J touchscreen Michał Kopeć
2026-10-03 14:27 ` [PATCH v5 1/6] dt-bindings: input: Add " Michał Kopeć
2026-10-03 17:56 ` sashiko-bot
2026-10-04 7:45 ` Krzysztof Kozlowski
2026-10-03 14:27 ` [PATCH v5 2/6] HID: Add Himax HX83102J touchscreen driver Michał Kopeć
2026-10-03 17:56 ` sashiko-bot
2026-10-04 7:50 ` Krzysztof Kozlowski
2026-10-03 14:27 ` [PATCH v5 3/6] HID: himax: Add DRM panel follower support Michał Kopeć
2026-10-03 17:56 ` sashiko-bot
2026-10-04 7:52 ` Krzysztof Kozlowski
2026-10-03 14:27 ` [PATCH v5 4/6] HID: himax: Load the firmware from a file Michał Kopeć
2026-10-03 17:56 ` sashiko-bot
2026-10-03 14:27 ` [PATCH v5 5/6] HID: himax: Report the touch and heatmap data Michał Kopeć
2026-10-03 17:56 ` sashiko-bot
2026-10-03 14:27 ` Michał Kopeć [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261003142741.48634-7-michal@nozomi.space \
--to=michal@nozomi.space \
--cc=allencl_lin@hotmail.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=bentiss@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dianders@chromium.org \
--cc=dmitry.torokhov@gmail.com \
--cc=felix@kaechele.ca \
--cc=jikos@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=robh@kernel.org \
--cc=tylor_yang@himax.corp-partner.google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox