summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilippe Schenker <philippe.schenker@toradex.com>2021-08-10 13:55:11 +0200
committerPhilippe Schenker <philippe.schenker@toradex.com>2021-08-11 13:58:56 +0200
commitcca85a46277da7834ea3522bb5a3e9ba7922d68b (patch)
tree114bb3bb93cfb1f07850e85922b389d6a0ee5305
parent39bd8243e9073dfb7e961fee119d3c0287011c21 (diff)
ARM64: dts: colibri-imx8qxp: add lvds example device trees
This commit adds two example device trees for how to enable LVDS on a Colibri-iMX8X. It only enables also UART and Ethernet otherwise. Related-to: SSP-6 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
-rw-r--r--arch/arm64/boot/dts/freescale/Makefile2
-rw-r--r--arch/arm64/boot/dts/freescale/imx8qxp-colibri-lvds-dual-channel.dts102
-rw-r--r--arch/arm64/boot/dts/freescale/imx8qxp-colibri-lvds-single-channel.dts101
3 files changed, 205 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index 51a1301f3254..9e8d7381fa9b 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -171,6 +171,8 @@ dtb-$(CONFIG_ARCH_MXC) += imx8qxp-mek.dtb imx8qxp-mek-dsp.dtb imx8qxp-mek-ov5640
imx8qxp-colibri-aster.dtb \
imx8qxp-colibri-dsihdmi-eval-v3.dtb \
imx8qxp-colibri-eval-v3.dtb \
+ imx8qxp-colibri-lvds-single-channel.dtb \
+ imx8qxp-colibri-lvds-dual-channel.dtb \
imx8qxp-apalis-eval.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8qxp-mek-dom0.dtb imx8qxp-mek-root.dtb \
imx8qxp-mek-inmate.dtb
diff --git a/arch/arm64/boot/dts/freescale/imx8qxp-colibri-lvds-dual-channel.dts b/arch/arm64/boot/dts/freescale/imx8qxp-colibri-lvds-dual-channel.dts
new file mode 100644
index 000000000000..1cd7e3038ba9
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8qxp-colibri-lvds-dual-channel.dts
@@ -0,0 +1,102 @@
+// SPDX-License-Identifier: GPL-2.0+ OR X11
+/*
+ * Copyright 2018-2020 Toradex
+ */
+
+/dts-v1/;
+
+#include "imx8qxp-colibri.dtsi"
+
+/ {
+ model = "Toradex Colibri iMX8QXP/DX on LVDS Embedded World Demo";
+ compatible = "toradex,colibri-imx8x-lvds-demo",
+ "toradex,colibri-imx8x",
+ "fsl,imx8qxp";
+
+ panel_lvds: panel-lvds {
+ compatible = "panel-lvds";
+ backlight = <&backlight>;
+ status = "okay";
+
+ panel-timing {
+ clock-frequency = <138500000>;
+ hactive = <1920>;
+ vactive = <1080>;
+ hback-porch = <80>;
+ hfront-porch = <48>;
+ vback-porch = <23>;
+ vfront-porch = <3>;
+ hsync-len = <32>;
+ vsync-len = <5>;
+ hsync-active = <0>;
+ vsync-active = <0>;
+ pixelclk-active = <0>;
+ };
+
+ port {
+ panel_lvds_in: endpoint {
+ remote-endpoint = <&lvds0_out>;
+ };
+ };
+ };
+};
+
+&adma_pwm {
+ status = "okay";
+};
+
+&adma_pwm_lpcg {
+ status = "okay";
+};
+
+&backlight {
+ pinctrl-0 = <&pinctrl_gpio_hpd>;
+ enable-gpios = <&lsio_gpio1 31 GPIO_ACTIVE_HIGH>; /* Colibri BL_ON */
+ status = "okay";
+};
+
+/* Colibri FastEthernet */
+&fec1 {
+ status = "okay";
+};
+
+&ldb1 {
+ fsl,dual-channel;
+ status = "okay";
+
+ lvds-channel@0 {
+ fsl,data-mapping = "jeida";
+ fsl,data-width = <24>;
+ status = "okay";
+
+ port@1 {
+ reg = <1>;
+
+ lvds0_out: endpoint {
+ remote-endpoint = <&panel_lvds_in>;
+ };
+ };
+ };
+};
+
+&ldb1_phy {
+ status = "okay";
+};
+
+&ldb2 {
+ status = "disabled";
+};
+
+&ldb2_phy {
+ status = "okay";
+};
+
+/* Colibri UART_A */
+&lpuart3 {
+ status= "okay";
+};
+
+&mipi0_dphy {
+ status = "okay";
+};
+
diff --git a/arch/arm64/boot/dts/freescale/imx8qxp-colibri-lvds-single-channel.dts b/arch/arm64/boot/dts/freescale/imx8qxp-colibri-lvds-single-channel.dts
new file mode 100644
index 000000000000..ebe216349171
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8qxp-colibri-lvds-single-channel.dts
@@ -0,0 +1,101 @@
+// SPDX-License-Identifier: GPL-2.0+ OR X11
+/*
+ * Copyright 2018-2020 Toradex
+ */
+
+/dts-v1/;
+
+#include "imx8qxp-colibri.dtsi"
+
+/ {
+ model = "Toradex Colibri iMX8QXP/DX on LVDS Embedded World Demo";
+ compatible = "toradex,colibri-imx8x-lvds-demo",
+ "toradex,colibri-imx8x",
+ "fsl,imx8qxp";
+
+ panel_lvds: panel-lvds {
+ compatible = "panel-lvds";
+ backlight = <&backlight>;
+ data-mapping = "vesa-24";
+ width-mm = <217>;
+ height-mm = <136>;
+
+ status = "okay";
+
+ panel-timing {
+ clock-frequency = <68930000>;
+ hactive = <1280>;
+ vactive = <800>;
+ hback-porch = <64>;
+ hfront-porch = <64>;
+ vback-porch = <5>;
+ vfront-porch = <5>;
+ hsync-len = <40>;
+ vsync-len = <6>;
+ hsync-active = <0>;
+ vsync-active = <0>;
+ pixelclk-active = <0>;
+ };
+
+ port {
+ panel_lvds_in: endpoint {
+ remote-endpoint = <&lvds0_out>;
+ };
+ };
+ };
+};
+
+&adma_pwm {
+ status = "okay";
+};
+
+&adma_pwm_lpcg {
+ status = "okay";
+};
+
+&backlight {
+ pinctrl-0 = <&pinctrl_gpio_hpd>;
+ enable-gpios = <&lsio_gpio1 31 GPIO_ACTIVE_HIGH>; /* Colibri BL_ON */
+ status = "okay";
+};
+
+/* Colibri FastEthernet */
+&fec1 {
+ status = "okay";
+};
+
+&ldb1 {
+ status = "okay";
+
+ lvds-channel@0 {
+ fsl,data-mapping = "spwg";
+ fsl,data-width = <24>;
+ status = "okay";
+
+ port@1 {
+ reg = <1>;
+
+ lvds0_out: endpoint {
+ remote-endpoint = <&panel_lvds_in>;
+ };
+ };
+ };
+};
+
+&ldb1_phy {
+ status = "okay";
+};
+
+&ldb2 {
+ status = "disabled";
+};
+
+/* Colibri UART_A */
+&lpuart3 {
+ status= "okay";
+};
+
+&mipi0_dphy {
+ status = "okay";
+};
+