summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorParth Pancholi <parth.pancholi@toradex.com>2024-11-20 10:40:16 +0100
committerParth Pancholi <parth.pancholi@toradex.com>2024-11-20 15:19:34 +0100
commit4df500f723bd64900a21a4516c0ca6a0977e76f3 (patch)
treeff891f2d4eacdb3ec92c2ff86b3f17a18c97fa0f
parent76b7c98535458d12897f172dffc1cbc3364f95c8 (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/Makefile1
-rw-r--r--overlays/display-rvt70hslnwca0_overlay.dtsi44
-rw-r--r--overlays/verdin-imx8mp_panel-cap-touch-7inch-dsi_overlay.dts103
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"