summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFancy Fang <chen.fang@nxp.com>2020-04-01 19:47:19 +0800
committerFancy Fang <chen.fang@nxp.com>2020-04-27 16:29:35 +0800
commit46552dfa171c3ecd08503afbdd749155f080b865 (patch)
treef0b9f68d627461f13edb4f181bbd4bb6e7c8b077
parentfcc1582b087fd969ddfa980ba3fec554e7fd406e (diff)
MLK-23694-12 arm64: dts: imx8mp-evk: integrate LVDS bridge display in
Integrate LVDS bridge with single channel display into EVK DTB to support DSI + LVDS dual display, and the previous single display support for DSI or LVDS is also remained. Put LCDIF1 and LCDIF2 ports into one display-subystem node to implement this kind of dual display. Signed-off-by: Fancy Fang <chen.fang@nxp.com> Reviewed-by: Liu Ying <victor.liu@nxp.com>
-rw-r--r--arch/arm64/boot/dts/freescale/Makefile6
-rw-r--r--arch/arm64/boot/dts/freescale/imx8mp-evk-it6263-lvds-channel0.dts53
-rw-r--r--arch/arm64/boot/dts/freescale/imx8mp-evk-it6263-lvds-dual-channel.dts45
-rw-r--r--arch/arm64/boot/dts/freescale/imx8mp-evk-jdi-wuxga-lvds-panel.dts19
-rw-r--r--arch/arm64/boot/dts/freescale/imx8mp-evk.dts38
-rw-r--r--arch/arm64/boot/dts/freescale/imx8mp.dtsi3
6 files changed, 48 insertions, 116 deletions
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index 227a96543e40..970b426f02fe 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -59,9 +59,9 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mn-evk.dtb imx8mn-evk-rm67191.dtb imx8mn-ddr4-evk.
dtb-$(CONFIG_ARCH_MXC) += imx8mn-ddr4-evk-root.dtb imx8mn-ddr4-evk-inmate.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-evk.dtb imx8mp-evk-root.dtb imx8mp-evk-inmate.dtb imx8mp-evk-rpmsg.dtb \
imx8mp-evk-rm67191.dtb imx8mp-evk-hdmi.dtb imx8mp-evk-flexcan2.dtb \
- imx8mp-evk-it6263-lvds-dual-channel.dtb imx8mp-evk-it6263-lvds-channel0.dtb \
- imx8mp-evk-jdi-wuxga-lvds-panel.dtb imx8mp-ab2.dtb imx8mp-evk-sof-wm8960.dtb \
- imx8mp-evk-dsp.dtb imx8mp-evk-ov2775.dtb imx8mp-evk-basler.dtb
+ imx8mp-evk-it6263-lvds-dual-channel.dtb imx8mp-evk-jdi-wuxga-lvds-panel.dtb \
+ imx8mp-ab2.dtb imx8mp-evk-sof-wm8960.dtb imx8mp-evk-dsp.dtb imx8mp-evk-ov2775.dtb \
+ imx8mp-evk-basler.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mq-evk.dtb imx8mq-evk-rpmsg.dtb imx8mq-evk-pcie1-m2.dtb imx8mq-evk-usd-wifi.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mq-evk-ak4497.dtb imx8mq-evk-audio-tdm.dtb imx8mq-evk-pdm.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mq-evk-root.dtb imx8mq-evk-inmate.dtb
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk-it6263-lvds-channel0.dts b/arch/arm64/boot/dts/freescale/imx8mp-evk-it6263-lvds-channel0.dts
deleted file mode 100644
index 49362ebe2521..000000000000
--- a/arch/arm64/boot/dts/freescale/imx8mp-evk-it6263-lvds-channel0.dts
+++ /dev/null
@@ -1,53 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * Copyright 2020 NXP
- */
-
-#include "imx8mp-evk.dts"
-
-/ {
- display-subsystem {
- compatible = "fsl,imx-display-subsystem";
- ports = <&lcdif2_disp>;
- };
-};
-
-&i2c2 {
- lvds_bridge: lvds-to-hdmi-bridge@4c {
- compatible = "ite,it6263";
- reg = <0x4c>;
- reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
-
- port {
- it6263_in: endpoint {
- remote-endpoint = <&lvds_out>;
- };
- };
- };
-};
-
-&lcdif2 {
- status = "okay";
-};
-
-&ldb {
- status = "okay";
-
- lvds-channel@0 {
- fsl,data-mapping = "jeida";
- fsl,data-width = <24>;
- status = "okay";
-
- port@1 {
- reg = <1>;
-
- lvds_out: endpoint {
- remote-endpoint = <&it6263_in>;
- };
- };
- };
-};
-
-&ldb_phy {
- status = "okay";
-};
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk-it6263-lvds-dual-channel.dts b/arch/arm64/boot/dts/freescale/imx8mp-evk-it6263-lvds-dual-channel.dts
index 4e922be91c48..69fe4aefd953 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-evk-it6263-lvds-dual-channel.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-evk-it6263-lvds-dual-channel.dts
@@ -5,51 +5,10 @@
#include "imx8mp-evk.dts"
-/ {
- display-subsystem {
- compatible = "fsl,imx-display-subsystem";
- ports = <&lcdif2_disp>;
- };
-};
-
-&i2c2 {
- lvds_bridge: lvds-to-hdmi-bridge@4c {
- compatible = "ite,it6263";
- reg = <0x4c>;
- reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
- split-mode;
-
- port {
- it6263_in: endpoint {
- remote-endpoint = <&lvds_out>;
- };
- };
- };
-};
-
-&lcdif2 {
- status = "okay";
+&lvds_bridge {
+ split-mode;
};
&ldb {
- status = "okay";
fsl,dual-channel;
-
- lvds-channel@0 {
- fsl,data-mapping = "jeida";
- fsl,data-width = <24>;
- status = "okay";
-
- port@1 {
- reg = <1>;
-
- lvds_out: endpoint {
- remote-endpoint = <&it6263_in>;
- };
- };
- };
-};
-
-&ldb_phy {
- status = "okay";
};
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk-jdi-wuxga-lvds-panel.dts b/arch/arm64/boot/dts/freescale/imx8mp-evk-jdi-wuxga-lvds-panel.dts
index 067aa83521c5..ae8b698b6af0 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-evk-jdi-wuxga-lvds-panel.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-evk-jdi-wuxga-lvds-panel.dts
@@ -16,25 +16,16 @@
};
};
};
-
- display-subsystem {
- compatible = "fsl,imx-display-subsystem";
- ports = <&lcdif2_disp>;
- };
};
-&lcdif2 {
- status = "okay";
-};
+/delete-node/ &lvds_bridge;
&ldb {
- status = "okay";
+ fsl,data-mapping = "spwg";
fsl,dual-channel;
lvds-channel@0 {
- fsl,data-mapping = "spwg";
- fsl,data-width = <24>;
- status = "okay";
+ /delete-node/ port@1;
port@1 {
reg = <1>;
@@ -45,7 +36,3 @@
};
};
};
-
-&ldb_phy {
- status = "okay";
-};
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
index d2366b286873..a6e38b45c49a 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
@@ -413,6 +413,18 @@
};
};
+ lvds_bridge: lvds-to-hdmi-bridge@4c {
+ compatible = "ite,it6263";
+ reg = <0x4c>;
+ reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
+
+ port {
+ it6263_in: endpoint {
+ remote-endpoint = <&lvds_out>;
+ };
+ };
+ };
+
ptn5110: tcpc@50 {
compatible = "nxp,ptn5110";
pinctrl-names = "default";
@@ -550,6 +562,32 @@
status = "okay";
};
+&lcdif2 {
+ status = "okay";
+};
+
+&ldb {
+ status = "okay";
+
+ lvds-channel@0 {
+ fsl,data-mapping = "jeida";
+ fsl,data-width = <24>;
+ status = "okay";
+
+ port@1 {
+ reg = <1>;
+
+ lvds_out: endpoint {
+ remote-endpoint = <&it6263_in>;
+ };
+ };
+ };
+};
+
+&ldb_phy {
+ status = "okay";
+};
+
&mipi_dsi {
status = "okay";
diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
index e5fe9cb9a85f..c4053dfc241f 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
@@ -2128,7 +2128,8 @@
display-subsystem {
compatible = "fsl,imx-display-subsystem";
- ports = <&lcdif1_disp>;
+ ports = <&lcdif1_disp>,
+ <&lcdif2_disp>;
};
imx_ion: imx_ion {