MLK-16926-1: arm64: dts: fsl-imx8mq-evk: Enable mipi-dsi with dcss
authorRobert Chiras <robert.chiras@nxp.com>
Thu, 16 Nov 2017 11:48:56 +0000 (13:48 +0200)
committerNitin Garg <nitin.garg@nxp.com>
Tue, 20 Mar 2018 19:50:10 +0000 (14:50 -0500)
Enabled DCSS-DSI-ADV7535 and DCSS-DSI-RM67191 paths on MX8MQ EVK
development board.

Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
Reviewed-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
arch/arm64/boot/dts/freescale/Makefile
arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-dcss-adv7535.dts [new file with mode: 0644]
arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-dcss-rm67191.dts [new file with mode: 0644]

index 69ae948..ed3e465 100644 (file)
@@ -48,7 +48,9 @@ dtb-$(CONFIG_ARCH_FSL_IMX8MQ) += fsl-imx8mq-evk.dtb \
                                 fsl-imx8mq-evk-lcdif-adv7535.dtb \
                                 fsl-imx8mq-evk-lcdif-rm67191.dtb \
                                 fsl-imx8mq-evk-mipi-csi2.dtb \
-                                fsl-imx8mq-evk-pdm.dtb
+                                fsl-imx8mq-evk-pdm.dtb \
+                                fsl-imx8mq-evk-dcss-adv7535.dtb \
+                                fsl-imx8mq-evk-dcss-rm67191.dtb
 
 always         := $(dtb-y)
 subdir-y       := $(dts-dirs)
diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-dcss-adv7535.dts b/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-dcss-adv7535.dts
new file mode 100644 (file)
index 0000000..0bc23ea
--- /dev/null
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2017 NXP
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include "fsl-imx8mq-evk.dts"
+
+&ov5640_mipi {
+       status = "disabled";
+};
+
+&hdmi {
+       status = "disabled";
+};
+
+&hdmi_cec {
+       status = "disabled";
+};
+
+&dcss {
+       status = "okay";
+       disp-dev = "mipi_disp";
+
+       dcss_disp0: port@0 {
+               reg = <0>;
+
+               dcss_disp0_mipi_dsi: mipi_dsi {
+                       remote-endpoint = <&mipi_dsi_in>;
+               };
+       };
+};
+
+&i2c1 {
+       adv_bridge: adv7535@3d {
+               compatible = "adi,adv7533";
+               reg = <0x3d>;
+               adi,dsi-lanes = <4>;
+               status = "okay";
+
+               port {
+                       adv7535_in: endpoint {
+                               remote-endpoint = <&mipi_dsi_bridge_adv>;
+                       };
+               };
+       };
+};
+
+&mipi_dsi_phy {
+       status = "okay";
+};
+
+&mipi_dsi {
+       status = "okay";
+
+       port@1 {
+               mipi_dsi_in: endpoint {
+                       remote-endpoint = <&dcss_disp0_mipi_dsi>;
+               };
+       };
+
+};
+
+&mipi_dsi_bridge {
+       status = "okay";
+
+       port@1 {
+               mipi_dsi_bridge_adv: endpoint {
+                       remote-endpoint = <&adv7535_in>;
+               };
+       };
+};
diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-dcss-rm67191.dts b/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-dcss-rm67191.dts
new file mode 100644 (file)
index 0000000..f4490d8
--- /dev/null
@@ -0,0 +1,118 @@
+/*
+ * Copyright 2017 NXP
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include "fsl-imx8mq-evk.dts"
+
+&hdmi {
+       status = "disabled";
+};
+
+&hdmi_cec {
+       status = "disabled";
+};
+
+&dcss {
+       status = "okay";
+       disp-dev = "mipi_disp";
+
+       assigned-clocks = <&clk IMX8MQ_CLK_DISP_AXI_SRC>,
+                         <&clk IMX8MQ_CLK_DISP_APB_SRC>,
+                         <&clk IMX8MQ_CLK_DISP_RTRM_SRC>,
+                         <&clk IMX8MQ_CLK_DISP_RTRM_PRE_DIV>,
+                         <&clk IMX8MQ_CLK_DC_PIXEL_SRC>,
+                         <&clk IMX8MQ_VIDEO_PLL1_REF_SEL>,
+                         <&clk IMX8MQ_VIDEO_PLL1>;
+       assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_800M>,
+                                <&clk IMX8MQ_SYS2_PLL_125M>,
+                                <&clk IMX8MQ_SYS1_PLL_800M>,
+                                <&clk IMX8MQ_CLK_DISP_RTRM_CG>,
+                                <&clk IMX8MQ_VIDEO_PLL1_OUT>,
+                                <&clk IMX8MQ_CLK_25M>;
+       assigned-clock-rates = <800000000>,
+                              <125000000>,
+                              <400000000>,
+                              <400000000>,
+                              <120000000>,
+                              <0>,
+                              <599999999>;
+
+       dcss_disp0: port@0 {
+               reg = <0>;
+
+               dcss_disp0_mipi_dsi: mipi_dsi {
+                       remote-endpoint = <&mipi_dsi_in>;
+               };
+       };
+};
+
+&mipi_dsi_phy {
+       status = "okay";
+};
+
+&mipi_dsi {
+       status = "okay";
+       assigned-clocks = <&clk IMX8MQ_CLK_DSI_PHY_REF_SRC>,
+                         <&clk IMX8MQ_CLK_DSI_CORE_SRC>,
+                         <&clk IMX8MQ_VIDEO_PLL1_REF_SEL>,
+                         <&clk IMX8MQ_VIDEO_PLL1>;
+       assigned-clock-parents = <&clk IMX8MQ_VIDEO_PLL1_OUT>,
+                                <&clk IMX8MQ_SYS1_PLL_266M>,
+                                <&clk IMX8MQ_CLK_25M>;
+       assigned-clock-rates = <24000000>,
+                              <266000000>,
+                              <0>,
+                              <599999999>;
+
+       port@1 {
+               mipi_dsi_in: endpoint {
+                       remote-endpoint = <&dcss_disp0_mipi_dsi>;
+               };
+       };
+
+};
+
+&mipi_dsi_bridge {
+       status = "okay";
+
+       panel@0 {
+               compatible = "raydium,rm67191";
+               reg = <0>;
+               pinctrl-0 = <&pinctrl_mipi_dsi_en>;
+               reset-gpio = <&gpio5 6 GPIO_ACTIVE_HIGH>;
+               dsi-lanes = <4>;
+               panel-width-mm = <68>;
+               panel-height-mm = <121>;
+               port {
+                       panel1_in: endpoint {
+                               remote-endpoint = <&mipi_dsi_bridge_out>;
+                       };
+               };
+       };
+
+       port@1 {
+               mipi_dsi_bridge_out: endpoint {
+                       remote-endpoint = <&panel1_in>;
+               };
+       };
+};
+
+&iomuxc {
+       imx8mq-evk {
+               pinctrl_mipi_dsi_en: mipi_dsi_en {
+                       fsl,pins = <
+                               MX8MQ_IOMUXC_ECSPI1_SCLK_GPIO5_IO6      0x16
+                       >;
+               };
+       };
+};