From: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
To: Neil Armstrong <neil.armstrong@linaro.org>,
Jessica Zhang <jesszhan0024@gmail.com>,
David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Thomas Zimmermann <tzimmermann@suse.de>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Cong Yang <yangcong5@huaqin.corp-partner.google.com>,
Ondrej Jirman <megi@xff.cz>,
Javier Martinez Canillas <javierm@redhat.com>,
Jagan Teki <jagan@edgeble.ai>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>,
Linus Walleij <linusw@kernel.org>,
Bartosz Golaszewski <brgl@kernel.org>
Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org
Subject: [PATCH 18/19] dt-bindings: gpio: describe Waveshare GPIO controller
Date: Wed, 01 Apr 2026 10:26:37 +0300 [thread overview]
Message-ID: <20260401-waveshare-dsi-touch-v1-18-5e9119b5a014@oss.qualcomm.com> (raw)
In-Reply-To: <20260401-waveshare-dsi-touch-v1-0-5e9119b5a014@oss.qualcomm.com>
The Waveshare DSI TOUCH family of panels has separate on-board GPIO
controller, which controls power supplies to the panel and the touch
screen and provides reset pins for both the panel and the touchscreen.
Also it provides a simple PWM controller for panel backlight.
Add bindings for these GPIO controllers. As overall integration might be
not very obvious (and it differs significantly from the bindings used by
the original drivers), provide complete example with the on-board
regulators and the DSI panel.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
.../bindings/gpio/waveshare,dsi-touch-gpio.yaml | 100 +++++++++++++++++++++
1 file changed, 100 insertions(+)
diff --git a/Documentation/devicetree/bindings/gpio/waveshare,dsi-touch-gpio.yaml b/Documentation/devicetree/bindings/gpio/waveshare,dsi-touch-gpio.yaml
new file mode 100644
index 000000000000..2e622b668f2f
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/waveshare,dsi-touch-gpio.yaml
@@ -0,0 +1,100 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/gpio/waveshare,dsi-touch-gpio.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Waveshare GPIO controller on DSI TOUCH panels
+
+maintainers:
+ - Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
+
+description:
+ Waveshare DSI TOUCH panel kits contain separate GPIO controller for toggling
+ power supplies and panel / touchscreen resets.
+
+properties:
+ compatible:
+ const: waveshare,dsi-touch-gpio
+
+ reg:
+ maxItems: 1
+
+ gpio-controller: true
+
+ '#gpio-cells':
+ const: 2
+
+required:
+ - compatible
+ - reg
+ - gpio-controller
+ - "#gpio-cells"
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ wsgpio: gpio@45 {
+ compatible = "waveshare,dsi-touch-gpio";
+ reg = <0x45>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+ };
+
+ panel_avdd: regulator-panel-avdd {
+ compatible = "regulator-fixed";
+ regulator-name = "panel-avdd";
+ gpios = <&wsgpio 0 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ panel_iovcc: regulator-panel-iovcc {
+ compatible = "regulator-fixed";
+ regulator-name = "panel-iovcc";
+ gpios = <&wsgpio 4 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ panel_vcc: regulator-panel-vcc {
+ compatible = "regulator-fixed";
+ regulator-name = "panel-vcc";
+ gpios = <&wsgpio 8 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ regulator-always-on;
+ };
+
+ dsi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ dsi_panel: dsi_panel@0 {
+ reg = <0>;
+ compatible = "waveshare,8.0-dsi-touch-a", "jadard,jd9365da-h3";
+ reset-gpio = <&wsgpio 1 GPIO_ACTIVE_LOW>;
+ vdd-supply = <&panel_avdd>;
+ iovcc-supply = <&panel_iovcc>;
+ backlight = <&wsgpio>;
+
+ port {
+ panel_in: endpoint {
+ remote-endpoint = <&dsi_out>;
+ };
+ };
+ };
+
+ port {
+ dsi_out: endpoint {
+ data-lanes = <0 1 2 3>;
+ remote-endpoint = <&panel_in>;
+ };
+ };
+ };
+...
--
2.47.3
next prev parent reply other threads:[~2026-04-01 7:27 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-01 7:26 [PATCH 00/19] drm/panel: support Waveshare DSI TOUCH kits Dmitry Baryshkov
2026-04-01 7:26 ` [PATCH 01/19] dt-bindings: display/panel: himax,hx83102: describe Waveshare panel Dmitry Baryshkov
2026-04-02 8:30 ` Krzysztof Kozlowski
2026-04-07 9:38 ` Linus Walleij
2026-04-07 9:49 ` Krzysztof Kozlowski
2026-04-07 9:50 ` Krzysztof Kozlowski
2026-04-01 7:26 ` [PATCH 02/19] dt-bindings: display/panel: himax,hx8394: " Dmitry Baryshkov
2026-04-02 8:30 ` Krzysztof Kozlowski
2026-04-07 9:50 ` Krzysztof Kozlowski
2026-04-01 7:26 ` [PATCH 03/19] dt-bindings: display/panel: jadard,jd9365da-h3: " Dmitry Baryshkov
2026-04-07 10:46 ` Krzysztof Kozlowski
2026-04-01 7:26 ` [PATCH 04/19] dt-bindings: display/panel: ilitek,ili9881c: " Dmitry Baryshkov
2026-04-02 8:33 ` Krzysztof Kozlowski
2026-04-07 10:46 ` Krzysztof Kozlowski
2026-04-01 7:26 ` [PATCH 05/19] dt-bindings: dipslay/panel: describe panels using Focaltech OTA7290B Dmitry Baryshkov
2026-04-01 8:52 ` Rob Herring (Arm)
2026-04-01 7:26 ` [PATCH 06/19] drm/of: add helper to count data-lanes on a remote endpoint Dmitry Baryshkov
2026-04-09 9:15 ` Javier Martinez Canillas
2026-04-01 7:26 ` [PATCH 07/19] drm/panel: himax-hx83102: support Waveshare 12.3" DSI panel Dmitry Baryshkov
2026-04-07 20:12 ` Linus Walleij
2026-04-01 7:26 ` [PATCH 08/19] drm/panel: himax-hx8394: set prepare_prev_first Dmitry Baryshkov
2026-04-08 8:08 ` Linus Walleij
2026-04-09 9:16 ` Javier Martinez Canillas
2026-04-01 7:26 ` [PATCH 09/19] drm/panel: himax-hx8394: simplify hx8394_enable() Dmitry Baryshkov
2026-04-08 8:08 ` Linus Walleij
2026-04-09 9:20 ` Javier Martinez Canillas
2026-04-01 7:26 ` [PATCH 10/19] drm/panel: himax-hx8394: support Waveshare DSI panels Dmitry Baryshkov
2026-04-08 8:10 ` Linus Walleij
2026-04-09 0:33 ` Dmitry Baryshkov
2026-04-09 9:27 ` Javier Martinez Canillas
2026-04-01 7:26 ` [PATCH 11/19] drm/panel: jadard-jd9365da-h3: use drm_connector_helper_get_modes_fixed Dmitry Baryshkov
2026-04-08 8:10 ` Linus Walleij
2026-04-01 7:26 ` [PATCH 12/19] drm/panel: jadard-jd9365da-h3: support variable DSI configuration Dmitry Baryshkov
2026-04-07 12:51 ` Riccardo Mereu
2026-04-08 8:15 ` Linus Walleij
2026-04-09 0:35 ` Dmitry Baryshkov
2026-04-01 7:26 ` [PATCH 13/19] drm/panel: jadard-jd9365da-h3: set prepare_prev_first Dmitry Baryshkov
2026-04-07 12:51 ` Riccardo Mereu
2026-04-08 8:15 ` Linus Walleij
2026-04-01 7:26 ` [PATCH 14/19] drm/panel: jadard-jd9365da-h3: support Waveshare DSI panels Dmitry Baryshkov
2026-04-07 12:53 ` Riccardo Mereu
2026-04-08 8:24 ` Linus Walleij
2026-04-09 0:49 ` Dmitry Baryshkov
2026-04-09 8:50 ` Linus Walleij
2026-04-12 17:56 ` Dmitry Baryshkov
2026-04-01 7:26 ` [PATCH 15/19] drm/panel: ilitek-ili9881c: support Waveshare 7.0" DSI panel Dmitry Baryshkov
2026-04-08 8:26 ` Linus Walleij
2026-04-01 7:26 ` [PATCH 16/19] drm/panel: add devm_drm_panel_add() helper Dmitry Baryshkov
2026-04-08 8:25 ` Linus Walleij
2026-04-01 7:26 ` [PATCH 17/19] drm/panel: add driver for Waveshare 8.8" DSI TOUCH-A panel Dmitry Baryshkov
2026-04-08 8:27 ` Linus Walleij
2026-04-01 7:26 ` Dmitry Baryshkov [this message]
2026-04-01 8:52 ` [PATCH 18/19] dt-bindings: gpio: describe Waveshare GPIO controller Rob Herring (Arm)
2026-04-07 12:53 ` Riccardo Mereu
2026-04-01 7:26 ` [PATCH 19/19] gpio: add GPIO controller found on Waveshare DSI TOUCH panels Dmitry Baryshkov
2026-04-03 12:30 ` Bartosz Golaszewski
2026-04-09 1:26 ` Dmitry Baryshkov
2026-04-09 7:41 ` Bartosz Golaszewski
2026-04-07 12:53 ` Riccardo Mereu
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=20260401-waveshare-dsi-touch-v1-18-5e9119b5a014@oss.qualcomm.com \
--to=dmitry.baryshkov@oss.qualcomm.com \
--cc=airlied@gmail.com \
--cc=brgl@kernel.org \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=jagan@edgeble.ai \
--cc=javierm@redhat.com \
--cc=jesszhan0024@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linusw@kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=megi@xff.cz \
--cc=mripard@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=robh@kernel.org \
--cc=simona@ffwll.ch \
--cc=tzimmermann@suse.de \
--cc=yangcong5@huaqin.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).