[v2] arm64: dts: imx8mp: add imx8mp-venice-gw74xx-rpidsi overlay for display
Commit Message
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 <tharvey@gateworks.com>
---
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
Comments
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 <tharvey@gateworks.com>
Applied, thanks!
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
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
On Wed, Oct 25, 2023 at 8:25 AM Marc Kleine-Budde <mkl@pengutronix.de> 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
On 25.10.2023 09:06:21, Tim Harvey wrote:
> On Wed, Oct 25, 2023 at 8:25 AM Marc Kleine-Budde <mkl@pengutronix.de> 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
@@ -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
new file mode 100644
@@ -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>;
+ };
+ };
+ };
+};