diff options
author | Parth Pancholi <parth.pancholi@toradex.com> | 2024-11-20 10:40:16 +0100 |
---|---|---|
committer | Parth Pancholi <parth.pancholi@toradex.com> | 2024-11-20 15:19:34 +0100 |
commit | 4df500f723bd64900a21a4516c0ca6a0977e76f3 (patch) | |
tree | ff891f2d4eacdb3ec92c2ff86b3f17a18c97fa0f | |
parent | 76b7c98535458d12897f172dffc1cbc3364f95c8 (diff) |
verdin-imx8mp: add Riverdi 7 inch dsi panel overlay
Add overlay for Riverdi 7 inch capacitive touch panel connected via DSI.
It can be directly connected to Mallow carrier board and, using Verdin
DSI display adapter, it can be connected to Dev and Dahlia carrier boards.
Related-to: ELB-5844
Signed-off-by: Parth Pancholi <parth.pancholi@toradex.com>
-rw-r--r-- | overlays/Makefile | 1 | ||||
-rw-r--r-- | overlays/display-rvt70hslnwca0_overlay.dtsi | 44 | ||||
-rw-r--r-- | overlays/verdin-imx8mp_panel-cap-touch-7inch-dsi_overlay.dts | 103 |
3 files changed, 148 insertions, 0 deletions
diff --git a/overlays/Makefile b/overlays/Makefile index 394a3d1..067f771 100644 --- a/overlays/Makefile +++ b/overlays/Makefile @@ -67,6 +67,7 @@ dtb-y += verdin-imx8mm_spidev_overlay.dtbo dtb-y += verdin-imx8mp_dsi-to-hdmi_overlay.dtbo dtb-y += verdin-imx8mp_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dtbo dtb-y += verdin-imx8mp_nau8822-btl_overlay.dtbo +dtb-y += verdin-imx8mp_panel-cap-touch-7inch-dsi_overlay.dtbo dtb-y += verdin-imx8mp_panel-cap-touch-10inch-dsi_overlay.dtbo dtb-y += verdin-imx8mp_spidev_overlay.dtbo diff --git a/overlays/display-rvt70hslnwca0_overlay.dtsi b/overlays/display-rvt70hslnwca0_overlay.dtsi new file mode 100644 index 0000000..702b858 --- /dev/null +++ b/overlays/display-rvt70hslnwca0_overlay.dtsi @@ -0,0 +1,44 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2024 Toradex + */ + +// RVT70HSLNWCA0 DSI display (7 inch) with a resolution of 1024x600 pixel. + +&panel_lvds { + compatible = "panel-lvds"; + backlight = <&backlight>; + data-mapping = "vesa-24"; + height-mm = <86>; + width-mm = <154>; + status = "okay"; + + /* + * These timings are hand-optimized for improved stability compared to + * theoretical values. Specifically, HBP is set to 100 and combined with + * HS to total 160, matching the original HBP value in the datasheet. The + * original horizontal timings caused issues with proper display functionality + * on iMX8* platforms. + */ + panel-timing { + clock-frequency = <40800000 51200000 67200000>; + de-active = <1>; + hactive = <1024>; + hback-porch = <100 100 100>; + hfront-porch = <16 160 216>; + hsync-active = <0>; + hsync-len = <50 60 140>; + pixelclk-active = <1>; + vactive = <600>; + vback-porch = <23 23 23>; + vfront-porch = <1 12 126>; + vsync-active = <0>; + vsync-len = <1 10 20>; + }; + + port { + panel_in_lvds_riv: endpoint { + remote-endpoint = <&lvds_out_panel_riv>; + }; + }; +}; diff --git a/overlays/verdin-imx8mp_panel-cap-touch-7inch-dsi_overlay.dts b/overlays/verdin-imx8mp_panel-cap-touch-7inch-dsi_overlay.dts new file mode 100644 index 0000000..4fd4969 --- /dev/null +++ b/overlays/verdin-imx8mp_panel-cap-touch-7inch-dsi_overlay.dts @@ -0,0 +1,103 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2024 Toradex + */ + +// Verdin with connected Capacitive Touch Display 7" DSI. + +/dts-v1/; +/plugin/; + +/ { + compatible = "toradex,verdin-imx8mp"; +}; + +#include <dt-bindings/interrupt-controller/arm-gic.h> +#include <dt-bindings/gpio/gpio.h> + +&{/} { + panel_lvds: panel-lvds { + }; +}; + +&backlight { + pwms = <&pwm3 0 6666667 0>; + status = "okay"; +}; + +/* Verdin I2C_2_DSI */ +&i2c2 { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + bridge@2c { + compatible = "ti,sn65dsi83"; + reg = <0x2c>; + /* IRQ not connected */ + /* Verdin GPIO_10_DSI (SODIMM 21) */ + enable-gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_gpio_10_dsi>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + dsi_riv_in: endpoint { + data-lanes = <1 2 3 4>; + remote-endpoint = <&mipi_dsi_bridge1_out>; + }; + }; + + port@2 { + reg = <2>; + + lvds_out_panel_riv: endpoint { + remote-endpoint = <&panel_in_lvds_riv>; + }; + }; + }; + }; + + touch@41 { + compatible = "ilitek,ili2132"; + reg = <0x41>; + /* Verdin DSI_1_INT# (TOUCH_INT#, SODIMM 17) */ + interrupt-parent = <&gpio4>; + interrupts = <25 IRQ_TYPE_EDGE_RISING>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_gpio_9_dsi>, <&pinctrl_i2s_2_bclk_touch_reset>; + /* Verdin I2S_2_BCLK (TOUCH_RESET#, SODIMM 42) */ + reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; + }; +}; + +/* LCDIF to MIPI-DSI */ +&lcdif1 { + status = "okay"; +}; + +&mipi_dsi { + samsung,esc-clock-frequency = <16000000>; + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@1 { + reg = <1>; + + mipi_dsi_bridge1_out: endpoint { + attach-bridge; + remote-endpoint = <&dsi_riv_in>; + }; + }; + }; +}; + +#include "display-rvt70hslnwca0_overlay.dtsi" |