summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilippe Schenker <philippe.schenker@toradex.com>2019-07-23 12:17:57 +0200
committerPhilippe Schenker <philippe.schenker@toradex.com>2019-08-06 12:17:43 +0200
commit6489fc70e2ced2ff83e968de0909c4ce69641a80 (patch)
treece49f3b17827c0c42ee3b7bbea903a7af751ff5f
parent7076d25dacb28da724f40494a6a97f0e5e56d280 (diff)
ARM64: dts: colibri-imx8x: Separate eval devicetrees
This commit only creates fsl-imx8qxp-colibri-eval-v3.dtsi and moves code. It does not change code. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-imx8qxp-colibri-eval-v3.dts366
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-imx8qxp-colibri-eval-v3.dtsi369
2 files changed, 370 insertions, 365 deletions
diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8qxp-colibri-eval-v3.dts b/arch/arm64/boot/dts/freescale/fsl-imx8qxp-colibri-eval-v3.dts
index da7e37f17e29..bb565ab6ea76 100644
--- a/arch/arm64/boot/dts/freescale/fsl-imx8qxp-colibri-eval-v3.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-imx8qxp-colibri-eval-v3.dts
@@ -5,374 +5,10 @@
/dts-v1/;
-/*
- * Choose output point for LCDIF block:
- * By default use LCD Panel driver:
- * - Panel connected to
- * - Generic Display Connector X20;
- * - Unified Interface Display Connector X34;
- * OR
- * - VGA monitor connected to X24.
- *
- * Define LCDIF_OUT_ADV7125 to use ONLY (!) VGA monitor connected to X24
- * with our without DDC channel to use higher resolutions.
- *
- * NOTE: LCDIF output to LVDS transmitter is not supported for now.
- */
-//#define LCDIF_OUT_ADV7125
-
-#include "dt-bindings/pwm/pwm.h"
#include "fsl-imx8qxp-colibri.dtsi"
+#include "fsl-imx8qxp-colibri-eval-v3.dtsi"
/ {
model = "Toradex Colibri iMX8QXP/DX on Colibri Evaluation Board V3";
compatible = "toradex,colibri-imx8qxp-eval-v3", "toradex,colibri-imx8qxp", "fsl,imx8qxp";
-
- aliases {
- rtc0 = &rtc_i2c;
- rtc1 = &rtc;
- };
-
- display-subsystem {
- status = "disabled";
- };
-
- extcon_usbc_det: usbc_det {
- compatible = "linux,extcon-usb-gpio";
- debounce = <25>;
- id-gpio = <&gpio5 9 GPIO_ACTIVE_HIGH>;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_usbc_det>;
- };
-
- panel {
- compatible = "edt,et070080dh6";
- backlight = <&backlight>;
- enable-gpios = <&gpio4 19 GPIO_ACTIVE_HIGH>;
-
- port {
- lcd_panel_in: endpoint {
- remote-endpoint = <&lcd_display_out>;
- };
- };
- };
-#else
- vga {
- compatible = "vga-connector";
- label = "vga";
- status = "okay";
-
- port {
- vga_in: endpoint {
- remote-endpoint = <&adv7125_out>;
- };
- };
- };
-
- vga-encoder {
- compatible = "adi,adv7125", "adi,adv7123";
- status = "okay";
- vdd-supply = <&vdd_3v3_vga>;
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@0 {
- reg = <0>;
- lcd_display_in: endpoint {
- remote-endpoint = <&lcdif_out>;
- };
- };
- port@1 {
- reg = <1>;
- adv7125_out: endpoint {
- remote-endpoint = <&vga_in>;
- };
- };
- };
- };
-#endif
-
- regulators {
- reg_usbh_vbus: regulator-usbh-vbus {
- compatible = "regulator-fixed";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_usbh1_reg>;
- regulator-name = "usbh_vbus";
- regulator-min-microvolt = <5000000>;
- regulator-max-microvolt = <5000000>;
- gpio = <&gpio4 3 GPIO_ACTIVE_LOW>;
- regulator-always-on;
- };
- };
-};
-
-&adma_lcdif {
- pinctrl-names = "default";
- /* Dumb DAC to VGA converter doesn't support backlight, so
- * instead use enable-gpios for LCDIF driver for this configuration
- */
-#ifndef LCDIF_OUT_ADV7125
- pinctrl-0 = <&pinctrl_lcdif>;
-#else
- pinctrl-0 = <&pinctrl_lcdif &pinctrl_gpio_bl_on>;
- enable-gpios = <&gpio3 12 GPIO_ACTIVE_HIGH>; /* BKL1_ON */
- pinctrl-assert-gpios = <&gpio4 19 GPIO_ACTIVE_HIGH>;
-#endif
- /* By default, Colibri iMX8QXP uses 18-bits output bus for eLCDIF.
- * However, you can configure it to support 24-bits output.
- * "X20 Generic Display Connector" of Colibri Evaluation Board v3.2
- * supports 24-bits mode.
- */
- bus-width = <18>;
- status = "okay";
-
-#ifdef LCDIF_OUT_ADV7125
- port@0 {
- lcdif_out: lcdif-endpoint {
- remote-endpoint = <&lcd_display_in>;
- };
- };
-#endif
-
-#ifdef LCDIF_OUT_DISPLAY
- port@0 {
- lcd_display_out: lcdif-endpoint {
- remote-endpoint = <&lcd_panel_in>;
- };
- };
-#endif
-};
-
-/* Display Prefetch Resolve, (Tiling) */
-&dpr1_channel1 {
- status = "okay";
-};
-
-&dpr1_channel2 {
- status = "okay";
-};
-
-&dpr1_channel3 {
- status = "okay";
-};
-
-&dpr2_channel1 {
- status = "okay";
-};
-
-&dpr2_channel2 {
- status = "okay";
-};
-
-&dpr2_channel3 {
- status = "okay";
-};
-
-&dpu1 {
- status = "okay";
-};
-
-&gpu_3d0 {
- status = "okay";
-};
-
-/* On-module MIPI CSI I2C accessible on FFC (X3) */
-&i2c0_mipi_lvds1 {
- status = "okay";
-
- ov5640_mipi: ov5640_mipi@3c {
- compatible = "ovti,ov5640_mipi_v3";
- clocks = <&clk IMX8QXP_24MHZ>;
- clock-names = "csi_mclk";
- csi_id = <0>;
- mclk = <24000000>;
- mclk_source = <0>;
- mipi_csi;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_csi_ctl>;
- pwn-gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
- reg = <0x3c>;
- rst-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
- status = "okay";
-
- port {
- ov5640_ep: endpoint {
- remote-endpoint = <&mipi_csi0_ep>;
- };
- };
- };
-};
-
-&isi_0 {
- status = "okay";
-};
-
-&isi_1 {
- status = "okay";
-};
-
-&isi_2 {
- status = "okay";
-};
-
-&isi_3 {
- status = "okay";
-};
-
-&ldb1 {
- status = "disabled";
-};
-
-&ldb1_phy {
- status = "disabled";
-};
-
-/* Colibri SPI */
-&lpspi2 {
- status = "okay";
-
- spidev0: spidev@0 {
- compatible = "toradex,evalspi";
- reg = <0>;
- spi-max-frequency = <10000000>;
- };
-};
-
-/* On-module MIPI CSI accessible via FFC (X3) */
-&mipi_csi_0 {
- status = "okay";
-
- /* Camera 0 MIPI CSI-2 (CSIS0) */
- port@0 {
- reg = <0>;
-
- mipi_csi0_ep: endpoint {
- data-lanes = <1 2>;
- remote-endpoint = <&ov5640_ep>;
- };
- };
-};
-
-&i2c1 {
- status = "okay";
-
- /* M41T0M6 real time clock on carrier board */
- rtc_i2c: rtc@68 {
- compatible = "st,m41t0";
- reg = <0x68>;
- };
-};
-
-&mipi_dsi1 {
- status = "okay";
-};
-
-&mipi_dsi_bridge1 {
- status = "okay";
-};
-
-&mipi_dsi_phy1 {
- status = "okay";
-};
-
-&mipi_dsi2 {
- status = "okay";
-};
-
-&mipi_dsi_bridge2 {
- status = "okay";
-};
-
-&mipi_dsi_phy2 {
- status = "okay";
-};
-
-&ldb2_phy {
- status = "disabled";
-};
-
-&ldb2 {
- status = "disabled";
-
- lvds-channel@0 {
- fsl,data-mapping = "jeida";
- fsl,data-width = <24>;
- status = "okay";
- };
-};
-
-&pixel_combiner {
- status = "okay";
-};
-
-&pwm_adma_lcdif {
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_pwm_a>;
- status = "okay";
-};
-
-&prg1 {
- status = "okay";
-};
-
-&prg2 {
- status = "okay";
-};
-
-&prg3 {
- status = "okay";
-};
-
-&prg4 {
- status = "okay";
-};
-
-&prg5 {
- status = "okay";
-};
-
-&prg6 {
- status = "okay";
-};
-
-&prg7 {
- status = "okay";
-};
-
-&prg8 {
- status = "okay";
-};
-
-&prg9 {
- status = "okay";
-};
-
-&usbotg1 {
- extcon = <&extcon_usbc_det &extcon_usbc_det>;
- vbus-supply = <&reg_usbh_vbus>;
- srp-disable;
- hnp-disable;
- adp-disable;
- power-polarity-active-high;
- disable-over-current;
- status = "okay";
-};
-
-&usbotg3 {
- dr_mode = "host";
- status = "okay";
-};
-
-&vpu {
- status = "disabled";
-};
-
-&vpu_decoder {
- status = "okay";
-};
-
-&vpu_encoder {
- status = "okay";
};
diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8qxp-colibri-eval-v3.dtsi b/arch/arm64/boot/dts/freescale/fsl-imx8qxp-colibri-eval-v3.dtsi
new file mode 100644
index 000000000000..8409a70a4e80
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/fsl-imx8qxp-colibri-eval-v3.dtsi
@@ -0,0 +1,369 @@
+// SPDX-License-Identifier: GPL-2.0+ OR X11
+/*
+ * Copyright 2018-2019 Toradex
+ */
+
+/*
+ * Choose output point for LCDIF block:
+ * LCDIF_OUT_ADV7125: VGA converter + VGA connector X24
+ * LCDIF_OUT_DISPLAY: Panel connected to
+ * - Generic Display Connector X20,
+ * - Unified Interface Display Connector X34
+ *
+ * NOTE: LCDIF output to LVDS transmitter is not supported for now.
+ */
+#define LCDIF_OUT_ADV7125
+//#define LCDIF_OUT_DISPLAY
+
+/ {
+ aliases {
+ rtc0 = &rtc_i2c;
+ rtc1 = &rtc;
+ };
+
+ display-subsystem {
+ status = "disabled";
+ };
+
+ extcon_usbc_det: usbc_det {
+ compatible = "linux,extcon-usb-gpio";
+ debounce = <25>;
+ id-gpio = <&gpio5 9 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usbc_det>;
+ };
+
+#ifdef LCDIF_OUT_DISPLAY
+ panel {
+ compatible = "edt,et070080dh6";
+ backlight = <&backlight>;
+ enable-gpios = <&gpio4 19 GPIO_ACTIVE_HIGH>;
+
+ port {
+ lcd_panel_in: endpoint {
+ remote-endpoint = <&lcd_display_out>;
+ };
+ };
+ };
+#endif
+
+#if defined(LCDIF_OUT_ADV7125)
+ vga {
+ compatible = "vga-connector";
+ label = "vga";
+ status = "okay";
+
+ port {
+ vga_in: endpoint {
+ remote-endpoint = <&adv7125_out>;
+ };
+ };
+ };
+
+ vga-encoder {
+ compatible = "adi,adv7125", "adi,adv7123";
+ status = "okay";
+ vdd-supply = <&vdd_3v3_vga>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ lcd_display_in: endpoint {
+ remote-endpoint = <&lcdif_out>;
+ };
+ };
+ port@1 {
+ reg = <1>;
+ adv7125_out: endpoint {
+ remote-endpoint = <&vga_in>;
+ };
+ };
+ };
+ };
+#endif
+
+ regulators {
+ reg_usbh_vbus: regulator-usbh-vbus {
+ compatible = "regulator-fixed";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usbh1_reg>;
+ regulator-name = "usbh_vbus";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ gpio = <&gpio4 3 GPIO_ACTIVE_LOW>;
+ regulator-always-on;
+ };
+ };
+};
+
+&adma_lcdif {
+ pinctrl-names = "default";
+ /* Dumb DAC to VGA converter doesn't support backlight, so
+ * instead use enable-gpios for LCDIF driver for this configuration
+ */
+#ifdef LCDIF_OUT_ADV7125
+ pinctrl-0 = <&pinctrl_lcdif &pinctrl_gpio_bl_on>;
+ enable-gpios = <&gpio3 12 GPIO_ACTIVE_HIGH>; /* BKL1_ON */
+ pinctrl-assert-gpios = <&gpio4 19 GPIO_ACTIVE_HIGH>;
+#else
+ pinctrl-0 = <&pinctrl_lcdif>;
+#endif
+ /* By default, Colibri iMX8QXP uses 18-bits output bus for eLCDIF.
+ * However, you can configure it to support 24-bits output.
+ * "X20 Generic Display Connector" of Colibri Evaluation Board v3.2
+ * supports 24-bits mode.
+ */
+ bus-width = <18>;
+ status = "okay";
+
+#ifdef LCDIF_OUT_ADV7125
+ port@0 {
+ lcdif_out: lcdif-endpoint {
+ remote-endpoint = <&lcd_display_in>;
+ };
+ };
+#endif
+
+#ifdef LCDIF_OUT_DISPLAY
+ port@0 {
+ lcd_display_out: lcdif-endpoint {
+ remote-endpoint = <&lcd_panel_in>;
+ };
+ };
+#endif
+};
+
+/* Display Prefetch Resolve, (Tiling) */
+&dpr1_channel1 {
+ status = "okay";
+};
+
+&dpr1_channel2 {
+ status = "okay";
+};
+
+&dpr1_channel3 {
+ status = "okay";
+};
+
+&dpr2_channel1 {
+ status = "okay";
+};
+
+&dpr2_channel2 {
+ status = "okay";
+};
+
+&dpr2_channel3 {
+ status = "okay";
+};
+
+&dpu1 {
+ status = "okay";
+};
+
+&gpu_3d0 {
+ status = "okay";
+};
+
+/* On-module MIPI CSI I2C accessible on FFC (X3) */
+&i2c0_mipi_lvds1 {
+ status = "okay";
+
+ ov5640_mipi: ov5640_mipi@3c {
+ compatible = "ovti,ov5640_mipi_v3";
+ clocks = <&clk IMX8QXP_24MHZ>;
+ clock-names = "csi_mclk";
+ csi_id = <0>;
+ mclk = <24000000>;
+ mclk_source = <0>;
+ mipi_csi;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_csi_ctl>;
+ pwn-gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
+ reg = <0x3c>;
+ rst-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
+ status = "okay";
+
+ port {
+ ov5640_ep: endpoint {
+ remote-endpoint = <&mipi_csi0_ep>;
+ };
+ };
+ };
+};
+
+&i2c1 {
+ status = "okay";
+
+ /* M41T0M6 real time clock on carrier board */
+ rtc_i2c: rtc@68 {
+ compatible = "st,m41t0";
+ reg = <0x68>;
+ };
+};
+
+&isi_0 {
+ status = "okay";
+};
+
+&isi_1 {
+ status = "okay";
+};
+
+&isi_2 {
+ status = "okay";
+};
+
+&isi_3 {
+ status = "okay";
+};
+
+&ldb1 {
+ status = "disabled";
+};
+
+&ldb1_phy {
+ status = "disabled";
+};
+
+&ldb2 {
+ status = "disabled";
+
+ lvds-channel@0 {
+ fsl,data-mapping = "jeida";
+ fsl,data-width = <24>;
+ status = "okay";
+ };
+};
+
+&ldb2_phy {
+ status = "disabled";
+};
+
+/* Colibri SPI */
+&lpspi2 {
+ status = "okay";
+
+ spidev0: spidev@0 {
+ compatible = "toradex,evalspi";
+ reg = <0>;
+ spi-max-frequency = <10000000>;
+ };
+};
+
+/* On-module MIPI CSI accessible via FFC (X3) */
+&mipi_csi_0 {
+ status = "okay";
+
+ /* Camera 0 MIPI CSI-2 (CSIS0) */
+ port@0 {
+ reg = <0>;
+
+ mipi_csi0_ep: endpoint {
+ data-lanes = <1 2>;
+ remote-endpoint = <&ov5640_ep>;
+ };
+ };
+};
+
+&mipi_dsi1 {
+ status = "okay";
+};
+
+&mipi_dsi_bridge1 {
+ status = "okay";
+};
+
+&mipi_dsi_phy1 {
+ status = "okay";
+};
+
+&mipi_dsi2 {
+ status = "okay";
+};
+
+&mipi_dsi_bridge2 {
+ status = "okay";
+};
+
+&mipi_dsi_phy2 {
+ status = "okay";
+};
+
+&pixel_combiner {
+ status = "okay";
+};
+
+&prg1 {
+ status = "okay";
+};
+
+&prg2 {
+ status = "okay";
+};
+
+&prg3 {
+ status = "okay";
+};
+
+&prg4 {
+ status = "okay";
+};
+
+&prg5 {
+ status = "okay";
+};
+
+&prg6 {
+ status = "okay";
+};
+
+&prg7 {
+ status = "okay";
+};
+
+&prg8 {
+ status = "okay";
+};
+
+&prg9 {
+ status = "okay";
+};
+
+&pwm_adma_lcdif {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_pwm_a>;
+ status = "okay";
+};
+
+&usbotg1 {
+ extcon = <&extcon_usbc_det &extcon_usbc_det>;
+ vbus-supply = <&reg_usbh_vbus>;
+ srp-disable;
+ hnp-disable;
+ adp-disable;
+ power-polarity-active-high;
+ disable-over-current;
+ status = "okay";
+};
+
+&usbotg3 {
+ dr_mode = "host";
+ status = "okay";
+};
+
+&vpu {
+ status = "disabled";
+};
+
+&vpu_decoder {
+ status = "okay";
+};
+
+&vpu_encoder {
+ status = "okay";
+};