Message ID | 20230719152920.2173-1-tharvey@gateworks.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | [v2] arm64: dts: imx8mp: add imx8mp-venice-gw74xx-rpidsi overlay for display | expand |
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
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>; + }; + }; + }; +};
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