summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts
diff options
context:
space:
mode:
authorRobert Chiras <robert.chiras@nxp.com>2018-07-13 10:53:50 +0300
committerJason Liu <jason.hui.liu@nxp.com>2019-02-12 10:32:39 +0800
commit93d97709b2aec52d45a7e864f58e54883a5d24b6 (patch)
tree896f239d6569b11f7d6519a84e32b60f136f12c6 /arch/arm64/boot/dts
parent68ed3871806b9f5b10eff41b1992e06f1d1fd2de (diff)
MLK-18877-3: arm64: dts: imx8mq: Refactor dts files
Currently, there are a lot of dts bindings duplicated into many files because of the multiple possible use-cases. Still, some bindings can be defined in a single file, then re-used in each specific dts file, with the required specific scenario changes. Therefore: 1. Move the adv7535 (DSI-HDMI converter) and synaptics_dsx_ts (DSI touch) definitions to fsl-imx8mq-evk.dts file. 2. Removed the max-res binding from the main dtsi file. This is a limitation and should NOT be present in the main definition of lcdif. Use this limitation only in specific dts files which requires such limitations. For example in the dual-display.dts file, where the lcdif is used along with the dcss; lcdif has to be limited because of the low bandwidth when used in the same time with dcss. Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
Diffstat (limited to 'arch/arm64/boot/dts')
-rw-r--r--arch/arm64/boot/dts/freescale/Makefile1
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-dcss-adv7535.dts37
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-dcss-rm67191.dts21
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-dual-display.dts63
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-lcdif-adv7535.dts36
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-lcdif-rm67191.dts7
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-imx8mq-evk.dts43
-rwxr-xr-xarch/arm64/boot/dts/freescale/fsl-imx8mq.dtsi1
8 files changed, 60 insertions, 149 deletions
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index 3223cb0fa642..4b78121beeea 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -77,6 +77,7 @@ dtb-$(CONFIG_ARCH_FSL_IMX8MQ) += fsl-imx8mq-ddr3l-arm2.dtb \
fsl-imx8mq-evk-m4.dtb \
fsl-imx8mq-evk-pcie1-m2.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-dcss-adv7535.dtb \
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
index d8f25759e781..dfe23318a35d 100644
--- a/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-dcss-adv7535.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-dcss-adv7535.dts
@@ -50,26 +50,6 @@
};
};
-&i2c1 {
- adv_bridge: adv7535@3d {
- compatible = "adi,adv7533";
- reg = <0x3d>;
- adi,addr-cec = <0x3b>;
- adi,dsi-lanes = <4>;
- pinctrl-0 = <&pinctrl_i2c1_dsi_ts_int>;
- interrupt-parent = <&gpio5>;
- interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
-
- status = "okay";
-
- port {
- adv7535_in: endpoint {
- remote-endpoint = <&mipi_dsi_bridge_adv>;
- };
- };
- };
-};
-
&mipi_dsi_phy {
status = "okay";
};
@@ -87,21 +67,8 @@
&mipi_dsi_bridge {
status = "okay";
-
- port@1 {
- mipi_dsi_bridge_adv: endpoint {
- remote-endpoint = <&adv7535_in>;
- };
- };
};
-&iomuxc {
- imx8mq-evk {
- pinctrl_i2c1_dsi_ts_int: dsi_ts_int {
- fsl,pins = <
- MX8MQ_IOMUXC_ECSPI1_MOSI_GPIO5_IO7 0x19
- >;
- };
-
- };
+&adv_bridge {
+ status = "okay";
};
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
index 3609d7f57ac3..91a7d389aec3 100644
--- a/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-dcss-rm67191.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-dcss-rm67191.dts
@@ -100,7 +100,7 @@
};
};
- port@1 {
+ port@2 {
mipi_dsi_bridge_out: endpoint {
remote-endpoint = <&panel1_in>;
};
@@ -114,24 +114,5 @@
MX8MQ_IOMUXC_ECSPI1_SCLK_GPIO5_IO6 0x16
>;
};
-
- pinctrl_i2c1_synaptics_dsx_io: synaptics_dsx_iogrp {
- fsl,pins = <
- MX8MQ_IOMUXC_ECSPI1_MOSI_GPIO5_IO7 0x19
- >;
- };
-
- };
-};
-
-&i2c1 {
- synaptics_dsx_ts@20 {
- compatible = "synaptics_dsx";
- reg = <0x20>;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_i2c1_synaptics_dsx_io>;
- interrupt-parent = <&gpio5>;
- interrupts = <7 8>;
- status = "okay";
};
};
diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-dual-display.dts b/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-dual-display.dts
index c62dba2b6af9..e1d60f65580c 100644
--- a/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-dual-display.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-dual-display.dts
@@ -12,72 +12,27 @@
* GNU General Public License for more details.
*/
-#include "fsl-imx8mq-evk.dts"
-
-&lcdif {
- status = "okay";
-
- port@0 {
- lcdif_mipi_dsi: mipi-dsi-endpoint {
- remote-endpoint = <&mipi_dsi_in>;
- };
- };
-};
-
-&i2c1 {
- adv_bridge: adv7535@3d {
- compatible = "adi,adv7533";
- reg = <0x3d>;
- adi,addr-cec = <0x3b>;
- adi,dsi-lanes = <4>;
- pinctrl-0 = <&pinctrl_i2c1_dsi_ts_int>;
- interrupt-parent = <&gpio5>;
- interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
+#include "fsl-imx8mq-evk-lcdif-adv7535.dts"
+/ {
+ display-subsystem {
status = "okay";
-
- port {
- adv7535_in: endpoint {
- remote-endpoint = <&mipi_dsi_bridge_adv>;
- };
- };
};
};
-&mipi_dsi_phy {
+&irqsteer_dcss {
status = "okay";
};
-&mipi_dsi {
+&dcss {
status = "okay";
- as_bridge;
- sync-pol = <1>;
- pwr-delay = <10>;
-
- port@1 {
- mipi_dsi_in: endpoint {
- remote-endpoint = <&lcdif_mipi_dsi>;
- };
- };
};
-&mipi_dsi_bridge {
+&hdmi {
status = "okay";
-
- port@1 {
- mipi_dsi_bridge_adv: endpoint {
- remote-endpoint = <&adv7535_in>;
- };
- };
};
-&iomuxc {
- imx8mq-evk {
- pinctrl_i2c1_dsi_ts_int: dsi_ts_int {
- fsl,pins = <
- MX8MQ_IOMUXC_ECSPI1_MOSI_GPIO5_IO7 0x19
- >;
- };
-
- };
+&lcdif {
+ status = "okay";
+ max-res = <1280>, <720>;
};
diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-lcdif-adv7535.dts b/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-lcdif-adv7535.dts
index 54ff0f65d6f4..4478a324fb31 100644
--- a/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-lcdif-adv7535.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-lcdif-adv7535.dts
@@ -43,26 +43,6 @@
};
};
-&i2c1 {
- adv_bridge: adv7535@3d {
- compatible = "adi,adv7533";
- reg = <0x3d>;
- adi,addr-cec = <0x3b>;
- adi,dsi-lanes = <4>;
- pinctrl-0 = <&pinctrl_i2c1_dsi_ts_int>;
- interrupt-parent = <&gpio5>;
- interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
-
- status = "okay";
-
- port {
- adv7535_in: endpoint {
- remote-endpoint = <&mipi_dsi_bridge_adv>;
- };
- };
- };
-};
-
&mipi_dsi_phy {
status = "okay";
};
@@ -82,20 +62,8 @@
&mipi_dsi_bridge {
status = "okay";
-
- port@1 {
- mipi_dsi_bridge_adv: endpoint {
- remote-endpoint = <&adv7535_in>;
- };
- };
};
-&iomuxc {
- imx8mq-evk {
- pinctrl_i2c1_dsi_ts_int: dsi_ts_int {
- fsl,pins = <
- MX8MQ_IOMUXC_ECSPI1_MOSI_GPIO5_IO7 0x19
- >;
- };
- };
+&adv_bridge {
+ status = "okay";
};
diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-lcdif-rm67191.dts b/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-lcdif-rm67191.dts
index 884cdadff792..f02e58ad4a98 100644
--- a/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-lcdif-rm67191.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-lcdif-rm67191.dts
@@ -32,12 +32,9 @@
status = "disabled";
};
-&hdmi_cec {
- status = "disabled";
-};
-
&lcdif {
status = "okay";
+ max-res = <1080>, <1920>;
assigned-clocks = <&clk IMX8MQ_CLK_LCDIF_PIXEL_SRC>,
<&clk IMX8MQ_VIDEO_PLL1_REF_SEL>,
@@ -100,7 +97,7 @@
};
};
- port@1 {
+ port@2 {
mipi_dsi_bridge_out: endpoint {
remote-endpoint = <&panel1_in>;
};
diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk.dts b/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk.dts
index a0c9da2bc4af..e96c480d82bc 100644
--- a/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk.dts
@@ -393,6 +393,12 @@
MX8MQ_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0xc6
>;
};
+
+ pinctrl_i2c1_dsi_ts_int: dsi_ts_int {
+ fsl,pins = <
+ MX8MQ_IOMUXC_ECSPI1_MOSI_GPIO5_IO7 0x19
+ >;
+ };
};
};
@@ -547,6 +553,35 @@
};
};
};
+
+ adv_bridge: adv7535@3d {
+ compatible = "adi,adv7533";
+ reg = <0x3d>;
+ adi,addr-cec = <0x3b>;
+ adi,dsi-lanes = <4>;
+ pinctrl-0 = <&pinctrl_i2c1_dsi_ts_int>;
+ interrupt-parent = <&gpio5>;
+ interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
+
+ status = "disabled";
+
+ port {
+ adv7535_in: endpoint {
+ remote-endpoint = <&mipi_dsi_bridge_adv>;
+ };
+ };
+ };
+
+ dsi_touch: synaptics_dsx_ts@20 {
+ compatible = "synaptics_dsx";
+ reg = <0x20>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c1_dsi_ts_int>;
+ interrupt-parent = <&gpio5>;
+ interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
+ /* rest-gpios = <&gpio5 6 GPIO_ACTIVE_HIGH>; */
+ status = "disabled";
+ };
};
&i2c2 {
@@ -875,3 +910,11 @@
};
};
};
+
+&mipi_dsi_bridge {
+ port@1 {
+ mipi_dsi_bridge_adv: endpoint {
+ remote-endpoint = <&adv7535_in>;
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8mq.dtsi b/arch/arm64/boot/dts/freescale/fsl-imx8mq.dtsi
index ce9880f82f2f..74e137619aec 100755
--- a/arch/arm64/boot/dts/freescale/fsl-imx8mq.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-imx8mq.dtsi
@@ -614,7 +614,6 @@
assigned-clock-parents = <&clk IMX8MQ_VIDEO_PLL1_OUT>;
assigned-clock-rate = <594000000>;
interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
- max-res = <1280>, <720>;
status = "disabled";
};