2023-07-19 16:00:30

by Tim Harvey

[permalink] [raw]
Subject: [PATCH v2] arm64: dts: imx8mp: add imx8mp-venice-gw74xx-rpidsi overlay for display

Add support for the following Raspberry Pi displays:
- DFROBOT DRF0678 7in 800x480 TFT DSI capacitive touch
- DFROBOT DRF0550 5in 800x480 TFT DSI capacitive touch

Both have the following hardware:
- FocalTech FT5406 10pt touch controller (with no interrupt)
- Powertip PH800480T013-IDF02 compatible panel
- Toshiba TC358762 compatible DSI to DBI bridge
- ATTINY based regulator used for backlight controller and panel enable

Support is added via a device-tree overlay. The touch controller is not
yet supported as polling mode is needed.

Signed-off-by: Tim Harvey <[email protected]>
---
v2:
- add newline between properties and child nodes
---
arch/arm64/boot/dts/freescale/Makefile | 2 +
.../imx8mp-venice-gw74xx-rpidsi.dtso | 87 +++++++++++++++++++
2 files changed, 89 insertions(+)
create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx-rpidsi.dtso

diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index 454b07ed09fc..60a69e114442 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -156,6 +156,7 @@ imx8mm-venice-gw73xx-0x-rpidsi-dtbs := imx8mm-venice-gw73xx-0x.dtb imx8mm-venice
imx8mm-venice-gw73xx-0x-rs232-rts-dtbs := imx8mm-venice-gw73xx-0x.dtb imx8mm-venice-gw73xx-0x-rs232-rts.dtbo
imx8mm-venice-gw73xx-0x-rs422-dtbs := imx8mm-venice-gw73xx-0x.dtb imx8mm-venice-gw73xx-0x-rs422.dtbo
imx8mm-venice-gw73xx-0x-rs485-dtbs := imx8mm-venice-gw73xx-0x.dtb imx8mm-venice-gw73xx-0x-rs485.dtbo
+imx8mp-venice-gw74xx-rpidsi-dtbs := imx8mp-venice-gw74xx.dtb imx8mp-venice-gw74xx-rpidsi.dtbo

dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw72xx-0x-imx219.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw72xx-0x-rpidsi.dtb
@@ -167,6 +168,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rpidsi.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs232-rts.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs422.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs485.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx8mp-venice-gw74xx-rpidsi.dtb

dtb-$(CONFIG_ARCH_S32) += s32g274a-evb.dtb
dtb-$(CONFIG_ARCH_S32) += s32g274a-rdb2.dtb
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx-rpidsi.dtso b/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx-rpidsi.dtso
new file mode 100644
index 000000000000..6a39f43435c2
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx-rpidsi.dtso
@@ -0,0 +1,87 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2023 Gateworks Corporation
+ */
+
+/dts-v1/;
+/plugin/;
+
+&{/} {
+ compatible = "gateworks,imx8mp-gw74xx", "fsl,imx8mp";
+
+ panel {
+ compatible = "powertip,ph800480t013-idf02";
+ power-supply = <&attiny>;
+ backlight = <&attiny>;
+
+ port {
+ panel_in: endpoint {
+ remote-endpoint = <&bridge_out>;
+ };
+ };
+ };
+};
+
+&i2c4 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ attiny: regulator@45 {
+ compatible = "raspberrypi,7inch-touchscreen-panel-regulator";
+ reg = <0x45>;
+ };
+};
+
+&lcdif1 {
+ status = "okay";
+};
+
+&mipi_dsi {
+ samsung,burst-clock-frequency = <891000000>;
+ samsung,esc-clock-frequency = <54000000>;
+ samsung,pll-clock-frequency = <27000000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ bridge@0 {
+ compatible = "toshiba,tc358762";
+ reg = <0>;
+ vddc-supply = <&attiny>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ bridge_in: endpoint {
+ remote-endpoint = <&dsi_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ bridge_out: endpoint {
+ remote-endpoint = <&panel_in>;
+ };
+ };
+ };
+ };
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+
+ dsi_out: endpoint {
+ data-lanes = <1 2>;
+ remote-endpoint = <&bridge_in>;
+ };
+ };
+ };
+};
--
2.25.1



2023-07-30 13:45:28

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH v2] arm64: dts: imx8mp: add imx8mp-venice-gw74xx-rpidsi overlay for display

On Wed, Jul 19, 2023 at 08:29:20AM -0700, Tim Harvey wrote:
> Add support for the following Raspberry Pi displays:
> - DFROBOT DRF0678 7in 800x480 TFT DSI capacitive touch
> - DFROBOT DRF0550 5in 800x480 TFT DSI capacitive touch
>
> Both have the following hardware:
> - FocalTech FT5406 10pt touch controller (with no interrupt)
> - Powertip PH800480T013-IDF02 compatible panel
> - Toshiba TC358762 compatible DSI to DBI bridge
> - ATTINY based regulator used for backlight controller and panel enable
>
> Support is added via a device-tree overlay. The touch controller is not
> yet supported as polling mode is needed.
>
> Signed-off-by: Tim Harvey <[email protected]>

Applied, thanks!

2023-10-25 14:33:30

by Marc Kleine-Budde

[permalink] [raw]
Subject: Re: [PATCH v2] arm64: dts: imx8mp: add imx8mp-venice-gw74xx-rpidsi overlay for display

Hey Tim,

On 19.07.2023 08:29:20, Tim Harvey wrote:
> Add support for the following Raspberry Pi displays:
> - DFROBOT DRF0678 7in 800x480 TFT DSI capacitive touch
> - DFROBOT DRF0550 5in 800x480 TFT DSI capacitive touch
>
> Both have the following hardware:
> - FocalTech FT5406 10pt touch controller (with no interrupt)
> - Powertip PH800480T013-IDF02 compatible panel
> - Toshiba TC358762 compatible DSI to DBI bridge
> - ATTINY based regulator used for backlight controller and panel enable
>
> Support is added via a device-tree overlay. The touch controller is not
> yet supported as polling mode is needed.

I'm just integrating the 7in Raspberry Pi display for a customer on an
imx8mp. Do you have a (non-mainline) touch driver that works for the
Raspberry Pi display? I might fight some time in this project to work on
it.

regards,
Marc

--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung Nürnberg | Phone: +49-5121-206917-129 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |


Attachments:
(No filename) (1.12 kB)
signature.asc (499.00 B)
Download all attachments

2023-10-25 15:27:10

by Marc Kleine-Budde

[permalink] [raw]
Subject: Re: [PATCH v2] arm64: dts: imx8mp: add imx8mp-venice-gw74xx-rpidsi overlay for display

On 25.10.2023 16:33:07, Marc Kleine-Budde wrote:
> Hey Tim,
>
> On 19.07.2023 08:29:20, Tim Harvey wrote:
> > Add support for the following Raspberry Pi displays:
> > - DFROBOT DRF0678 7in 800x480 TFT DSI capacitive touch
> > - DFROBOT DRF0550 5in 800x480 TFT DSI capacitive touch
> >
> > Both have the following hardware:
> > - FocalTech FT5406 10pt touch controller (with no interrupt)
> > - Powertip PH800480T013-IDF02 compatible panel
> > - Toshiba TC358762 compatible DSI to DBI bridge
> > - ATTINY based regulator used for backlight controller and panel enable
> >
> > Support is added via a device-tree overlay. The touch controller is not
> > yet supported as polling mode is needed.
>
> I'm just integrating the 7in Raspberry Pi display for a customer on an
> imx8mp. Do you have a (non-mainline) touch driver that works for the
> Raspberry Pi display? I might fight some time in this project to work on
> it.

Replying to myself:

Have a look at drivers/input/touchscreen/edt-ft5x06.c

regards,
Marc

--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung Nürnberg | Phone: +49-5121-206917-129 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |


Attachments:
(No filename) (1.29 kB)
signature.asc (499.00 B)
Download all attachments

2023-10-25 16:07:19

by Tim Harvey

[permalink] [raw]
Subject: Re: [PATCH v2] arm64: dts: imx8mp: add imx8mp-venice-gw74xx-rpidsi overlay for display

On Wed, Oct 25, 2023 at 8:25 AM Marc Kleine-Budde <[email protected]> wrote:
>
> On 25.10.2023 16:33:07, Marc Kleine-Budde wrote:
> > Hey Tim,
> >
> > On 19.07.2023 08:29:20, Tim Harvey wrote:
> > > Add support for the following Raspberry Pi displays:
> > > - DFROBOT DRF0678 7in 800x480 TFT DSI capacitive touch
> > > - DFROBOT DRF0550 5in 800x480 TFT DSI capacitive touch
> > >
> > > Both have the following hardware:
> > > - FocalTech FT5406 10pt touch controller (with no interrupt)
> > > - Powertip PH800480T013-IDF02 compatible panel
> > > - Toshiba TC358762 compatible DSI to DBI bridge
> > > - ATTINY based regulator used for backlight controller and panel enable
> > >
> > > Support is added via a device-tree overlay. The touch controller is not
> > > yet supported as polling mode is needed.
> >
> > I'm just integrating the 7in Raspberry Pi display for a customer on an
> > imx8mp. Do you have a (non-mainline) touch driver that works for the
> > Raspberry Pi display? I might fight some time in this project to work on
> > it.
>
> Replying to myself:
>
> Have a look at drivers/input/touchscreen/edt-ft5x06.c
>

Hi Marc,

The specific display I have is the one from DFROBOT which emulates the
original Rpi display as far as I know.

I came up with two different approaches, neither of which I got any
comments from. I haven't spent any additional time on it and have just
been carrying around a custom patch to support it.

You can find my patches here:
https://patchwork.kernel.org/project/linux-input/list/?series=596977&state=%2A&archive=both
- add support for DFROBOT touch controller
https://www.spinics.net/lists/linux-input/msg76457.html - proposal of
adding a new driver

There's possibly a newer version of the patch that adds a new driver
on a 6.1 kernel here:
https://github.com/Gateworks/linux-venice/commit/5bf0ffcf0352b45c29d33184e933a35dd53f27bb

Is this the same touch controller you are working with?

Best Regards,

Tim

2023-10-25 18:04:04

by Marc Kleine-Budde

[permalink] [raw]
Subject: Re: [PATCH v2] arm64: dts: imx8mp: add imx8mp-venice-gw74xx-rpidsi overlay for display

On 25.10.2023 09:06:21, Tim Harvey wrote:
> On Wed, Oct 25, 2023 at 8:25 AM Marc Kleine-Budde <[email protected]> wrote:
> >
> > On 25.10.2023 16:33:07, Marc Kleine-Budde wrote:
> > > Hey Tim,
> > >
> > > On 19.07.2023 08:29:20, Tim Harvey wrote:
> > > > Add support for the following Raspberry Pi displays:
> > > > - DFROBOT DRF0678 7in 800x480 TFT DSI capacitive touch
> > > > - DFROBOT DRF0550 5in 800x480 TFT DSI capacitive touch
> > > >
> > > > Both have the following hardware:
> > > > - FocalTech FT5406 10pt touch controller (with no interrupt)
> > > > - Powertip PH800480T013-IDF02 compatible panel
> > > > - Toshiba TC358762 compatible DSI to DBI bridge
> > > > - ATTINY based regulator used for backlight controller and panel enable
> > > >
> > > > Support is added via a device-tree overlay. The touch controller is not
> > > > yet supported as polling mode is needed.
> > >
> > > I'm just integrating the 7in Raspberry Pi display for a customer on an
> > > imx8mp. Do you have a (non-mainline) touch driver that works for the
> > > Raspberry Pi display? I might fight some time in this project to work on
> > > it.
> >
> > Replying to myself:
> >
> > Have a look at drivers/input/touchscreen/edt-ft5x06.c
>
> The specific display I have is the one from DFROBOT which emulates the
> original Rpi display as far as I know.
>
> I came up with two different approaches, neither of which I got any
> comments from. I haven't spent any additional time on it and have just
> been carrying around a custom patch to support it.
>
> You can find my patches here:
> https://patchwork.kernel.org/project/linux-input/list/?series=596977&state=%2A&archive=both
> - add support for DFROBOT touch controller
> https://www.spinics.net/lists/linux-input/msg76457.html - proposal of
> adding a new driver

Thanks for the links to the patches.

> There's possibly a newer version of the patch that adds a new driver
> on a 6.1 kernel here:
> https://github.com/Gateworks/linux-venice/commit/5bf0ffcf0352b45c29d33184e933a35dd53f27bb
>
> Is this the same touch controller you are working with?

I'm working with the original 7" RPi display. Currently it's for
development use for the customer. Not sure which display they will use
in the final product.

regards,
Marc

--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung Nürnberg | Phone: +49-5121-206917-129 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |


Attachments:
(No filename) (2.54 kB)
signature.asc (499.00 B)
Download all attachments