summaryrefslogtreecommitdiff
path: root/overlays/colibri-imx7_parallel-rgb-lvds-rgb24-single_overlay.dts
diff options
context:
space:
mode:
Diffstat (limited to 'overlays/colibri-imx7_parallel-rgb-lvds-rgb24-single_overlay.dts')
-rw-r--r--overlays/colibri-imx7_parallel-rgb-lvds-rgb24-single_overlay.dts83
1 files changed, 83 insertions, 0 deletions
diff --git a/overlays/colibri-imx7_parallel-rgb-lvds-rgb24-single_overlay.dts b/overlays/colibri-imx7_parallel-rgb-lvds-rgb24-single_overlay.dts
new file mode 100644
index 0000000..e5d407e
--- /dev/null
+++ b/overlays/colibri-imx7_parallel-rgb-lvds-rgb24-single_overlay.dts
@@ -0,0 +1,83 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2020-2021 Toradex
+ */
+
+// Enable the parallel RGB interface on the Colibri iMX7
+
+#include <dt-bindings/gpio/gpio.h>
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "toradex,colibri-imx7d",
+ "toradex,colibri-imx7d-emmc",
+ "toradex,colibri-imx7s";
+};
+
+&backlight {
+ status = "okay";
+};
+
+/* Need to be disabled due to overlapped pins SODIMM_55, SODIMM_63 */
+&flexcan1 {
+ status = "disabled";
+};
+
+&gpio2 {
+ /*
+ * This switches the LVDS transceiver to VESA color mapping mode.
+ */
+ LVDS_COLOR_MAP {
+ gpio-hog;
+ gpios = <13 GPIO_ACTIVE_HIGH>; /* SODIMM 95 */
+ line-name = "LVDS_COLOR_MAP";
+ output-low;
+ };
+};
+
+&gpio7 {
+ /*
+ * This switches the LVDS transceiver to the 24-bit RGB mode.
+ */
+ LVDS_RGB_MODE {
+ gpio-hog;
+ gpios = <2 GPIO_ACTIVE_HIGH>; /* SODIMM 63 */
+ line-name = "LVDS_RGB_MODE";
+ output-low;
+ };
+
+ /*
+ * This switches the LVDS transceiver to the single-channel
+ * output mode.
+ */
+ LVDS_CH_MODE {
+ gpio-hog;
+ gpios = <3 GPIO_ACTIVE_HIGH>; /* SODIMM 55 */
+ line-name = "LVDS_CH_MODE";
+ output-high;
+ };
+
+ /* This turns on the LVDS transceiver */
+ LVDS_POWER_ON {
+ gpio-hog;
+ gpios = <11 GPIO_ACTIVE_HIGH>; /* SODIMM 99 */
+ line-name = "LVDS_POWER_ON";
+ output-high;
+ };
+};
+
+&lcdif {
+ status = "okay";
+};
+
+&panel_dpi {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_lvds_transceiver>;
+ status = "okay";
+};
+
+&pwm1 {
+ status = "okay";
+};