From: Miotsuki Mizuno <founder@crepuse.com>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Icenowy Zheng <icenowy@aosc.io>,
"linux-input@vger.kernel.org" <linux-input@vger.kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: [PATCH 2/3] dt-bindings: input: touchscreen: add Nsiway NS2009
Date: Fri, 9 Oct 2026 14:47:43 +0000 [thread overview]
Message-ID: <20261009144729.85832-3-founder@crepuse.com> (raw)
In-Reply-To: <20261009144729.85832-1-founder@crepuse.com>
Describe the Nsiway NS2009 four-wire resistive touchscreen controller
and the properties used by its polling driver.
The controller returns 12-bit ADC coordinates. Use the common touchscreen
properties for coordinate ranges and orientation, and allow boards to set
the raw Z1 contact threshold through touchscreen-min-pressure. Limit that
threshold to 1..4095 because zero cannot distinguish a released contact.
Document the historical default of 80 and a board override of 150 in the
example. The Z1 threshold is for contact detection, not calibrated
pressure.
Signed-off-by: Mizuno Miotsuki <founder@crepuse.com>
---
.../input/touchscreen/nsiway,ns2009.yaml | 64 +++++++++++++++++++
MAINTAINERS | 6 ++
2 files changed, 70 insertions(+)
create mode 100644 Documentation/devicetree/bindings/input/touchscreen/nsiway,ns2009.yaml
diff --git a/Documentation/devicetree/bindings/input/touchscreen/nsiway,ns2009.yaml b/Documentation/devicetree/bindings/input/touchscreen/nsiway,ns2009.yaml
new file mode 100644
index 000000000000..04df7ba66a4a
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/touchscreen/nsiway,ns2009.yaml
@@ -0,0 +1,64 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/touchscreen/nsiway,ns2009.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Nsiway NS2009 resistive touchscreen controller
+
+maintainers:
+ - Mizuno Miotsuki <founder@crepuse.com>
+
+description: |
+ The NS2009 is a four-wire resistive touchscreen controller connected over
+ I2C. This binding describes polling operation without a pen interrupt.
+ Coordinates are 12-bit ADC readings, not display pixel coordinates.
+
+allOf:
+ - $ref: touchscreen.yaml#
+
+properties:
+ compatible:
+ const: nsiway,ns2009
+
+ reg:
+ maxItems: 1
+
+ touchscreen-min-pressure:
+ minimum: 1
+ maximum: 4095
+ default: 80
+ description:
+ Minimum raw Z1 reading considered a touch. This is a contact detection
+ threshold, not a calibrated pressure value. Boards may require a higher
+ empirically determined threshold than the historical driver default.
+
+ touchscreen-min-x: true
+ touchscreen-min-y: true
+ touchscreen-size-x: true
+ touchscreen-size-y: true
+ touchscreen-fuzz-x: true
+ touchscreen-fuzz-y: true
+ touchscreen-inverted-x: true
+ touchscreen-inverted-y: true
+ touchscreen-swapped-x-y: true
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ touchscreen@48 {
+ compatible = "nsiway,ns2009";
+ reg = <0x48>;
+ touchscreen-min-pressure = <150>;
+ touchscreen-inverted-y;
+ };
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index f53047aa8d3c..696f2badc49c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -19467,6 +19467,12 @@ S: Maintained
F: Documentation/core-api/symbol-namespaces.rst
F: scripts/nsdeps
+NSIWAY NS2009 TOUCHSCREEN CONTROLLER
+M: Mizuno Miotsuki <founder@crepuse.com>
+L: linux-input@vger.kernel.org
+S: Maintained
+F: Documentation/devicetree/bindings/input/touchscreen/nsiway,ns2009.yaml
+
NTB AMD DRIVER
M: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
M: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
next prev parent reply other threads:[~2026-10-09 14:47 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-09 14:47 [PATCH 0/3] Add Nsiway NS2009 touchscreen support Miotsuki Mizuno
2026-10-09 14:47 ` [PATCH 1/3] dt-bindings: vendor-prefixes: add Nsiway Miotsuki Mizuno
2026-10-09 14:47 ` Miotsuki Mizuno [this message]
2026-10-09 14:47 ` [PATCH 3/3] Input: add Nsiway NS2009 resistive touchscreen driver Miotsuki Mizuno
2026-10-09 14:53 ` 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=20261009144729.85832-3-founder@crepuse.com \
--to=founder@crepuse.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=icenowy@aosc.io \
--cc=krzk+dt@kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh@kernel.org \
/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