From: Fancy Fang Date: Fri, 15 May 2020 11:58:49 +0000 (+0800) Subject: MLK-23694-12 arm64: dts: imx8mp-evk: integrate LVDS bridge display in X-Git-Tag: rel_imx_5.10.35_2.0.0-somdevices.0~577^2~2^2~408 X-Git-Url: https://git.somdevices.com/?a=commitdiff_plain;h=68830fa39d9ee97e2c2974335aab3a39871715b5;p=linux.git 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 Reviewed-by: Liu Ying --- diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index 40788592c113..1c75f8ebabac 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -37,7 +37,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mn-ddr4-evk.dtb imx8mn-ddr4-evk-ak5558.dtb imx8mn- imx8mn-ddr4-evk-rpmsg.dtb imx8mn-ddr4-evk-root.dtb imx8mn-ddr4-evk-inmate.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mn-var-som-symphony.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mp-evk.dtb imx8mp-evk-rm67191.dtb imx8mp-evk-it6263-lvds-dual-channel.dtb \ - imx8mp-evk-it6263-lvds-channel0.dtb imx8mp-evk-jdi-wuxga-lvds-panel.dtb imx8mp-evk-hdmi.dtb + imx8mp-evk-jdi-wuxga-lvds-panel.dtb imx8mp-evk-hdmi.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mq-evk.dtb imx8mq-evk-rpmsg.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mq-evk.dtb imx8mq-evk-rpmsg.dtb imx8mq-evk-pcie1-m2.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mq-evk-ak4497.dtb imx8mq-evk-audio-tdm.dtb imx8mq-evk-pdm.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..3ea60784ba1b 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,16 +16,9 @@ }; }; }; - - display-subsystem { - compatible = "fsl,imx-display-subsystem"; - ports = <&lcdif2_disp>; - }; }; -&lcdif2 { - status = "okay"; -}; +/delete-node/ &lvds_bridge; &ldb { status = "okay"; @@ -33,8 +26,7 @@ lvds-channel@0 { fsl,data-mapping = "spwg"; - fsl,data-width = <24>; - status = "okay"; + /delete-node/ port@1; port@1 { reg = <1>; @@ -45,7 +37,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 9a75a6b08973..e6c7d20a721b 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts +++ b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts @@ -321,6 +321,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>; + }; + }; + }; }; &i2c3 { @@ -352,6 +364,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 cd60e916dd3f..60a19149dfb9 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi @@ -119,7 +119,8 @@ display-subsystem { compatible = "fsl,imx-display-subsystem"; - ports = <&lcdif1_disp>; + ports = <&lcdif1_disp>, + <&lcdif2_disp>; }; a53_opp_table: opp-table {