From: sashiko-bot@kernel.org
To: Frank.Li@oss.nxp.com
Cc: devicetree@vger.kernel.org, imx@lists.linux.dev, robh@kernel.org,
conor+dt@kernel.org, Frank.Li@kernel.org
Subject: Re: [PATCH 03/14] ARM: dts: imx6dl-b155v2: add touchscreen size properties
Date: Fri, 16 Oct 2026 20:21:16 +0000 [thread overview]
Message-ID: <sashiko-outbox-174911@kernel.org> (raw)
In-Reply-To: <20261016-arm_dts_cleanup2-v1-3-3a0cab9fd784@nxp.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] ARM: dts: imx6dl-b155v2: panel size in touchscreen-size-x/y breaks touch
--
commit a32e64e0ae8dfc5c902cc7abdcc408b2bb7583c9
Author: Frank Li <Frank.Li@nxp.com>
ARM: dts: imx6dl-b155v2: add touchscreen size properties
This commit adds touchscreen-size-x and touchscreen-size-y properties to the
eeti,exc80h84 touchscreen node in imx6dl-b155v2.dts to satisfy the
eeti,exc3000 devicetree schema requirements.
> diff --git a/arch/arm/boot/dts/nxp/imx/imx6dl-b155v2.dts b/arch/arm/boot/dts/nxp/imx/imx6dl-b155v2.dts
> index 7edc788bcb8f3..54db44613df66 100644
> --- a/arch/arm/boot/dts/nxp/imx/imx6dl-b155v2.dts
> +++ b/arch/arm/boot/dts/nxp/imx/imx6dl-b155v2.dts
> @@ -25,6 +25,8 @@ touchscreen@2a {
> pinctrl-0 = <&pinctrl_q7_gpio0>;
> interrupt-parent = <&gpio5>;
> interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
> + touchscreen-size-x = <1366>;
> + touchscreen-size-y = <768>;
> touchscreen-inverted-x;
> touchscreen-inverted-y;
> reset-gpios = <&tca6424a 21 GPIO_ACTIVE_HIGH>;
[Severity: High]
Does setting touchscreen-size-x and touchscreen-size-y to the display panel's
1366x768 pixel resolution introduce a regression in touch coordinate reporting
for this controller?
Per Documentation/devicetree/bindings/input/touchscreen/touchscreen.yaml,
touchscreen-size-x and touchscreen-size-y describe the coordinate space of the
touchscreen controller itself (maximum coordinate reported + 1), rather than
the LCD panel dimensions.
In drivers/input/touchscreen/exc3000.c, exc3000_info defines the native 14-bit
coordinate maximum for the EXC80H84 controller:
[EETI_EXC80H84] = {
.name = "EETI EXC80H84 Touch Screen",
.max_xy = SZ_16K - 1,
},
During probe, exc3000_probe() initializes the axes to [0, 16383], and then
calls touchscreen_parse_properties():
max_xy = data->info->max_xy;
input_set_abs_params(input, ABS_MT_POSITION_X, 0, max_xy, 0, 0);
input_set_abs_params(input, ABS_MT_POSITION_Y, 0, max_xy, 0, 0);
touchscreen_parse_properties(input, true, &data->prop);
With touchscreen-size-x = <1366> and touchscreen-size-y = <768>,
touchscreen_parse_properties() overwrites the axis maximums and
data->prop.max_x / max_y to 1365 and 767.
However, the exc3000 driver does not program these dimensions into the
hardware or scale the raw coordinates in software. When a touch interrupt
occurs, exc3000_interrupt() -> exc3000_handle_mt_event() ->
exc3000_report_slots() passes unscaled 14-bit coordinates (0..16383) directly
to touchscreen_report_pos():
touchscreen_report_pos(input, prop,
get_unaligned_le16(buf + 2),
get_unaligned_le16(buf + 4),
true);
Because touchscreen-inverted-x and touchscreen-inverted-y are also set on
touchscreen@2a, touchscreen_report_pos() -> touchscreen_apply_prop_to_x_y()
inverts the raw coordinates against the overridden maximums:
if (prop->invert_x)
*x = prop->max_x - *x;
if (prop->invert_y)
*y = prop->max_y - *y;
Whenever the controller reports raw X > 1365 or raw Y > 767, this unsigned
subtraction wraps around and reports negative coordinates to input_report_abs(),
while also advertising the wrong axis range to userspace.
Should touchscreen-size-x and touchscreen-size-y be set to <16384> to match
the EETI EXC80H84 controller's 16384x16384 coordinate space?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261016-arm_dts_cleanup2-v1-0-3a0cab9fd784@nxp.com?part=3
next prev parent reply other threads:[~2026-10-16 20:21 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-16 20:10 [PATCH 00/14] ARM: dts: imx: cleanup some CHECK_DTBS warnings Frank.Li
2026-10-16 20:10 ` [PATCH 01/14] ARM: dts: imx6q-dms-ba16: remove undocumented property fsl,receive-dpll-mode Frank.Li
2026-10-16 20:10 ` [PATCH 02/14] ARM: dts: imx50-amazon-yoshi: remove undocument property min-frequency Frank.Li
2026-10-16 20:10 ` [PATCH 03/14] ARM: dts: imx6dl-b155v2: add touchscreen size properties Frank.Li
2026-10-16 20:21 ` sashiko-bot [this message]
2026-10-16 20:10 ` [PATCH 04/14] ARM: dts: imx6q-gw5400-a: fix SPI NOR flash vendor prefix Frank.Li
2026-10-16 20:10 ` [PATCH 05/14] ARM: dts: imx6dl-prtmvt: remove redundant panel compatible fallback Frank.Li
2026-10-16 20:10 ` [PATCH 06/14] ARM: dts: imx53-smd: change compatible string to dlg,da9053-aa Frank.Li
2026-10-16 20:10 ` [PATCH 07/14] ARM: dts: imx6qdl-savageboard: remove undocument avic,tm097tdh02 Frank.Li
2026-10-16 20:10 ` [PATCH 08/14] ARM: dts: imx6qdl-apalis: remove disabled node "panel-lvds" Frank.Li
2026-10-16 20:10 ` [PATCH 09/14] ARM: dts: imx6ul-tx6ul: remove front compatible string karo,imx6ul-tx6ul-sgtl5000 Frank.Li
2026-10-16 20:10 ` [PATCH 10/14] ARM: dts: imx6qdl-tx6-mb7: remove redundant pixelclk-active for simple panel Frank.Li
2026-10-16 20:10 ` [PATCH 11/14] ARM: dts: imx6q-h100: rename port to port@0 for mipi_csi Frank.Li
2026-10-16 20:10 ` [PATCH 12/14] ARM: dts: imx6qdl-sabrelite: fix typo vync-active Frank.Li
2026-10-16 20:10 ` [PATCH 13/14] ARM: dts: imx6q-novena: use interrupts replace irq-gpio Frank.Li
2026-10-16 20:10 ` [PATCH 14/14] ARM: dts: imx6sx-sdb-mqs: remove empty pinctrl-0 Frank.Li
2026-10-16 20:18 ` sashiko-bot
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=sashiko-outbox-174911@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=Frank.Li@kernel.org \
--cc=Frank.Li@oss.nxp.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=imx@lists.linux.dev \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/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