summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/freescale/fsl-imx8qxp-colibri-eval-v3.dtsi
diff options
context:
space:
mode:
authorPhilippe Schenker <philippe.schenker@toradex.com>2019-07-23 12:17:57 +0200
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2020-02-12 11:06:01 +0100
commit7c2bdb8053bb2cd2933224d3bbe86b66a18429c5 (patch)
tree44f6622b94f8d01d45b0eb49b2b567a4189d162b /arch/arm64/boot/dts/freescale/fsl-imx8qxp-colibri-eval-v3.dtsi
parentb63ab58115a5caa7c6bed4687d13b76be0b9362b (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>
Diffstat (limited to 'arch/arm64/boot/dts/freescale/fsl-imx8qxp-colibri-eval-v3.dtsi')
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-imx8qxp-colibri-eval-v3.dtsi369
1 files changed, 369 insertions, 0 deletions
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";
+};