diff options
author | Philippe Schenker <philippe.schenker@toradex.com> | 2019-07-23 12:17:57 +0200 |
---|---|---|
committer | Philippe Schenker <philippe.schenker@toradex.com> | 2019-08-06 12:17:43 +0200 |
commit | 6489fc70e2ced2ff83e968de0909c4ce69641a80 (patch) | |
tree | ce49f3b17827c0c42ee3b7bbea903a7af751ff5f | |
parent | 7076d25dacb28da724f40494a6a97f0e5e56d280 (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.dts | 366 | ||||
-rw-r--r-- | arch/arm64/boot/dts/freescale/fsl-imx8qxp-colibri-eval-v3.dtsi | 369 |
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 = <®_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 = <®_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"; +}; |