diff options
19 files changed, 288 insertions, 127 deletions
diff --git a/overlays/Makefile b/overlays/Makefile index 0c16417..7386810 100644 --- a/overlays/Makefile +++ b/overlays/Makefile @@ -30,15 +30,14 @@ dtb-y += apalis-imx8_panel-lvds-dual-channel-1080p_overlay.dtbo dtb-y += apalis-imx8_resistive-touch_overlay.dtbo dtb-y += apalis-imx8_spi1_spidev_overlay.dtbo dtb-y += apalis-imx8_spi2_spidev_overlay.dtbo -dtb-y += colibri-imx8x_ad7879_overlay.dtbo -dtb-y += colibri-imx8x_atmel-mxt-adapter_overlay.dtbo -dtb-y += colibri-imx8x_atmel-mxt-connector_overlay.dtbo dtb-y += colibri-imx8x_disable-cm40-uart_overlay.dtbo -dtb-y += colibri-imx8x_display-lcdif_overlay.dtbo dtb-y += colibri-imx8x_dsihdmi_overlay.dtbo dtb-y += colibri-imx8x_ov5640_overlay.dtbo -dtb-y += colibri-imx8x_parallel-rgb-lvds_overlay.dtbo -dtb-y += colibri-imx8x_parallel-rgb_overlay.dtbo +dtb-y += colibri-imx8x_panel-cap-touch-7inch_overlay.dtbo +dtb-y += colibri-imx8x_panel-cap-touch-7inch_adapter_overlay.dtbo +dtb-y += colibri-imx8x_panel-res-touch-7inch_overlay.dtbo +dtb-y += colibri-imx8x_panel-cap-touch-10inch-lvds_overlay.dtbo +dtb-y += colibri-imx8x_vga-640x480_overlay.dtbo dtb-y += colibri-imx8x_spidev_overlay.dtbo dtb-y += display-dpi-lt170410_overlay.dtbo dtb-y += display-edt5.7_overlay.dtbo diff --git a/overlays/colibri-imx8x_ad7879_overlay.dts b/overlays/colibri-imx8x_ad7879_overlay.dtsi index 0f6bad8..582f1df 100644 --- a/overlays/colibri-imx8x_ad7879_overlay.dts +++ b/overlays/colibri-imx8x_ad7879_overlay.dtsi @@ -5,13 +5,10 @@ // Enable the resistive touch controller (AD7879) on the module -/dts-v1/; -/plugin/; - -/ { - compatible = "toradex,colibri-imx8x"; +&ad7879_ts { + status = "okay"; }; -&ad7879_ts { +&i2c1 { status = "okay"; }; diff --git a/overlays/colibri-imx8x_atmel-mxt-adapter_overlay.dts b/overlays/colibri-imx8x_atmel-mxt-adapter_overlay.dtsi index 4b21c6a..3733961 100644 --- a/overlays/colibri-imx8x_atmel-mxt-adapter_overlay.dts +++ b/overlays/colibri-imx8x_atmel-mxt-adapter_overlay.dtsi @@ -3,18 +3,8 @@ * Copyright 2020-2021 Toradex */ -// Atmel MXT touchscreen for Capacitive Touch Adapter. -// Supports the 7 inch and 10 inch capacitive touch displays orderable at Toradex. - -/dts-v1/; -/plugin/; - -#include "dt-bindings/interrupt-controller/irq.h" -#include "dt-bindings/gpio/gpio.h" - -/ { - compatible = "toradex,colibri-imx8x"; -}; +// Atmel MXT capacitive touch controller for 7" and 10.1" displays +// orderable at Toradex. Compatible with a Capacitive Touch Adapter. &atmel_mxt_ts { pinctrl-0 = <&pinctrl_atmel_adap>; @@ -28,10 +18,10 @@ status = "okay"; }; -&pwm0 { +&lsio_pwm0 { status = "disabled"; }; -&pwm1 { +&lsio_pwm1 { status = "disabled"; -}; +};
\ No newline at end of file diff --git a/overlays/colibri-imx8x_atmel-mxt-connector_overlay.dts b/overlays/colibri-imx8x_atmel-mxt-connector_overlay.dts deleted file mode 100644 index 1dfa586..0000000 --- a/overlays/colibri-imx8x_atmel-mxt-connector_overlay.dts +++ /dev/null @@ -1,21 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/* - * Copyright 2020-2021 Toradex - */ - -// Atmel MXT touchscreen for boards with TS connector. Supports the 7 inch and 10 inch display orderable at Toradex. - -/dts-v1/; -/plugin/; - -/ { - compatible = "toradex,colibri-imx8x"; -}; - -&atmel_mxt_ts { - status = "okay"; -}; - -&i2c1 { - status = "okay"; -}; diff --git a/overlays/colibri-imx8x_atmel-mxt-connector_overlay.dtsi b/overlays/colibri-imx8x_atmel-mxt-connector_overlay.dtsi new file mode 100644 index 0000000..ba54d36 --- /dev/null +++ b/overlays/colibri-imx8x_atmel-mxt-connector_overlay.dtsi @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2020-2021 Toradex + */ + +// Atmel MXT capacitive touch controller for the 7" and 10.1" displays +// orderable at Toradex. Compatible with a Capacitive Touch Connector. + +&atmel_mxt_ts { + status = "okay"; +}; + +&i2c1 { + status = "okay"; +}; diff --git a/overlays/colibri-imx8x_display-lcdif_overlay.dts b/overlays/colibri-imx8x_display-lcdif_overlay.dts deleted file mode 100644 index 0976a22..0000000 --- a/overlays/colibri-imx8x_display-lcdif_overlay.dts +++ /dev/null @@ -1,49 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/* - * Copyright 2020-2021 Toradex - */ - -// Enable the parallel RGB interface on Colibri iMX8X using DPU-enabled driver - -/dts-v1/; -/plugin/; - -/ { - compatible = "toradex,colibri-imx8x"; -}; - -&adma_pwm { - status = "okay"; -}; - -&adma_pwm_lpcg { - status = "okay"; -}; - -&backlight { - status = "okay"; -}; - -&display_lcdif { - status = "okay"; - #address-cells = <1>; - #size-cells = <0>; - - port@1 { - reg = <1>; - - display_lcdif_out: endpoint { - remote-endpoint = <&lcd_panel_in>; - }; - }; -}; - -&panel_dpi { - status = "okay"; - - port { - lcd_panel_in: endpoint { - remote-endpoint = <&display_lcdif_out>; - }; - }; -}; diff --git a/overlays/colibri-imx8x_dsihdmi_overlay.dts b/overlays/colibri-imx8x_dsihdmi_overlay.dts index 2b7335c..afc9079 100644 --- a/overlays/colibri-imx8x_dsihdmi_overlay.dts +++ b/overlays/colibri-imx8x_dsihdmi_overlay.dts @@ -11,6 +11,10 @@ compatible = "toradex,colibri-imx8x"; }; +&hdmi_connector { + status = "okay"; +}; + &i2c0_mipi_lvds0 { status = "okay"; }; @@ -29,4 +33,4 @@ &pca9540_switch { status = "okay"; -}; +};
\ No newline at end of file diff --git a/overlays/colibri-imx8x_panel-cap-touch-10inch-lvds_overlay.dts b/overlays/colibri-imx8x_panel-cap-touch-10inch-lvds_overlay.dts new file mode 100644 index 0000000..7d84d2a --- /dev/null +++ b/overlays/colibri-imx8x_panel-cap-touch-10inch-lvds_overlay.dts @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2023 Toradex + */ + +// Enable the parallel RGB interface on the Colibri iMX8X which communicate, +// through X1 SODIMM connector, with the LVDS transceiver on the Iris v2.0A +// connected with a capacitive touch 10.1" LVDS display. + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/interrupt-controller/irq.h> + +/dts-v1/; +/plugin/; + +/ { + compatible = "toradex,colibri-imx8x"; +}; + +#include "colibri-imx8x_atmel-mxt-connector_overlay.dtsi" +#include "colibri-imx8x_parallel-rgb-lvds_overlay.dtsi" +#include "display-dpi-lt170410_overlay.dtsi" diff --git a/overlays/colibri-imx8x_panel-cap-touch-7inch_adapter_overlay.dts b/overlays/colibri-imx8x_panel-cap-touch-7inch_adapter_overlay.dts new file mode 100644 index 0000000..17daeda --- /dev/null +++ b/overlays/colibri-imx8x_panel-cap-touch-7inch_adapter_overlay.dts @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2023 Toradex + */ + +// Enable the parallel RGB interface on the Colibri iMX8X with a +// connected capacitive touch 7" display, touch connected with +// a separate adapter pcb. + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/interrupt-controller/irq.h> + +/dts-v1/; +/plugin/; + +/ { + compatible = "toradex,colibri-imx8x"; +}; + +#include "colibri-imx8x_atmel-mxt-adapter_overlay.dtsi" +#include "colibri-imx8x_parallel-rgb_overlay.dtsi" +#include "display-lt161010_overlay.dtsi" diff --git a/overlays/colibri-imx8x_panel-cap-touch-7inch_overlay.dts b/overlays/colibri-imx8x_panel-cap-touch-7inch_overlay.dts new file mode 100644 index 0000000..8154996 --- /dev/null +++ b/overlays/colibri-imx8x_panel-cap-touch-7inch_overlay.dts @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2023 Toradex + */ + +// Enable the parallel RGB interface on the Colibri iMX8X with a +// connected capacitive touch 7" display, touch connected to a +// dedicated connector e.g. as present on Iris v2.0A. + +/dts-v1/; +/plugin/; + +/ { + compatible = "toradex,colibri-imx8x"; +}; + +#include "colibri-imx8x_atmel-mxt-connector_overlay.dtsi" +#include "colibri-imx8x_parallel-rgb_overlay.dtsi" +#include "display-lt161010_overlay.dtsi" diff --git a/overlays/colibri-imx8x_panel-res-touch-7inch_overlay.dts b/overlays/colibri-imx8x_panel-res-touch-7inch_overlay.dts new file mode 100644 index 0000000..4f7a377 --- /dev/null +++ b/overlays/colibri-imx8x_panel-res-touch-7inch_overlay.dts @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2023 Toradex + */ + +// Enable the parallel RGB interface on the Colibri iMX8X with a +// connected resistive touch 7" display. + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/interrupt-controller/irq.h> + +/dts-v1/; +/plugin/; + +/ { + compatible = "toradex,colibri-imx8x"; +}; + +#include "colibri-imx8x_ad7879_overlay.dtsi" +#include "colibri-imx8x_parallel-rgb_overlay.dtsi" +#include "display-lt161010_overlay.dtsi" diff --git a/overlays/colibri-imx8x_parallel-rgb-lvds_overlay.dts b/overlays/colibri-imx8x_parallel-rgb-lvds_overlay.dtsi index 40a20c2..f7fc663 100644 --- a/overlays/colibri-imx8x_parallel-rgb-lvds_overlay.dts +++ b/overlays/colibri-imx8x_parallel-rgb-lvds_overlay.dtsi @@ -5,14 +5,6 @@ // Enable the parallel RGB interface on Colibri iMX8X and the LVDS tranceiver on Iris v2.0 -#include <dt-bindings/gpio/gpio.h> - -/dts-v1/; -/plugin/; -/ { - compatible = "toradex,colibri-imx8x"; -}; - &adma_pwm { status = "okay"; }; @@ -58,21 +50,11 @@ }; }; -&lsio_gpio3 { - /* This turns the LVDS transceiver on */ - LVDS_PWRDWN { - gpio-hog; - gpios = <18 GPIO_ACTIVE_HIGH>; - output-high; - line-name = "LVDS_PWRDWN"; - }; -}; - &panel_dpi { pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_lvds_converter>; status = "okay"; + data-mapping = "bgr666"; port { lcd_panel_in: endpoint { remote-endpoint = <&display_lcdfif_out>; diff --git a/overlays/colibri-imx8x_parallel-rgb_overlay.dts b/overlays/colibri-imx8x_parallel-rgb_overlay.dtsi index 3c5a938..00f8668 100644 --- a/overlays/colibri-imx8x_parallel-rgb_overlay.dts +++ b/overlays/colibri-imx8x_parallel-rgb_overlay.dtsi @@ -1,17 +1,9 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT /* - * Copyright 2020-2021 Toradex + * Copyright 2021-2022 Toradex */ -// Enable the parallel RGB interface on Colibri iMX8X - -/dts-v1/; -/plugin/; - -/ { - compatible = "toradex,colibri-imx8x"; -}; - +// Enable the parallel RGB interface on the Colibri iMX8X. &adma_lcdif { status = "okay"; #address-cells = <1>; @@ -41,6 +33,7 @@ &panel_dpi { status = "okay"; + data-mapping = "bgr666"; port { lcd_panel_in: endpoint { remote-endpoint = <&adma_lcdif_out>; diff --git a/overlays/colibri-imx8x_vga-640x480_overlay.dts b/overlays/colibri-imx8x_vga-640x480_overlay.dts new file mode 100644 index 0000000..2f9db17 --- /dev/null +++ b/overlays/colibri-imx8x_vga-640x480_overlay.dts @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2022 Toradex + */ + +// Enable the parallel RGB interface on the Colibri iMX8X and the +// video DAC providing analog RGB on the VGA connector. + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/interrupt-controller/irq.h> + +/dts-v1/; +/plugin/; + +/ { + compatible = "toradex,colibri-imx8x"; +}; + +#include "colibri-imx8x_parallel-rgb_overlay.dtsi" +#include "display-vga-640x480_overlay.dtsi" diff --git a/overlays/display-dpi-lt170410_overlay.dtsi b/overlays/display-dpi-lt170410_overlay.dtsi new file mode 100644 index 0000000..62680bf --- /dev/null +++ b/overlays/display-dpi-lt170410_overlay.dtsi @@ -0,0 +1,32 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2020-2022 Toradex + */ + +// LT170410 panel with a resolution of 1280x800 pixel. + +&panel_dpi { + compatible = "panel-dpi"; + status = "okay"; + + width-mm = <217>; + height-mm = <136>; + + panel-timing { + clock-frequency = <68930000>; + + hactive = <1280>; + hback-porch = <64>; + hfront-porch = <64>; + hsync-len = <40>; + vactive = <800>; + vback-porch = <5>; + vfront-porch = <5>; + vsync-len = <6>; + + de-active = <1>; + hsync-active = <0>; + vsync-active = <0>; + pixelclk-active = <0>; + }; +}; diff --git a/overlays/display-fullhd_overlay.dtsi b/overlays/display-fullhd_overlay.dtsi new file mode 100644 index 0000000..3519f16 --- /dev/null +++ b/overlays/display-fullhd_overlay.dtsi @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2020-2022 Toradex + */ + +// FullHD VGA monitor in mode 1920x1080p60. Standard: SMPTE 274M + +&panel_dpi { + compatible = "panel-dpi"; + status = "okay"; + + /* for 0.15mm pixels */ + width-mm = <288>; + height-mm = <162>; + + panel-timing { + clock-frequency = <148500000>; + hactive = <1920>; + hback-porch = <148>; + hfront-porch = <88>; + hsync-len = <44>; + vactive = <1080>; + vback-porch = <36>; + vfront-porch = <4>; + vsync-len = <5>; + pixelclk-active = <0>; + }; +}; diff --git a/overlays/display-lt161010_overlay.dtsi b/overlays/display-lt161010_overlay.dtsi new file mode 100644 index 0000000..63fb1b2 --- /dev/null +++ b/overlays/display-lt161010_overlay.dtsi @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2020-2022 Toradex + */ + +// LT161010 panel with a resolution of 800x480 pixel. + +&panel_dpi { + compatible = "panel-dpi"; + status = "okay"; + + width-mm = <154>; + height-mm = <86>; + + panel-timing { + clock-frequency = <33230769>; + hactive = <800>; + vactive = <480>; + hsync-len = <128>; + hfront-porch = <40>; + hback-porch = <88>; + vsync-len = <1>; + vfront-porch = <10>; + vback-porch = <33>; + pixelclk-active = <1>; + }; +}; diff --git a/overlays/display-lt170410_overlay.dtsi b/overlays/display-lt170410_overlay.dtsi new file mode 100644 index 0000000..b505109 --- /dev/null +++ b/overlays/display-lt170410_overlay.dtsi @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2022 Toradex + */ + +// LT170410 panel with a resolution of 1280x800 pixel. + +&panel_lvds { + status = "okay"; + + data-mapping = "vesa-24"; + width-mm = <217>; + height-mm = <136>; + + panel-timing { + clock-frequency = <68930000>; + hactive = <1280>; + vactive = <800>; + hback-porch = <64>; + hfront-porch = <64>; + vback-porch = <5>; + vfront-porch = <5>; + hsync-len = <40>; + vsync-len = <6>; + + hsync-active = <0>; + vsync-active = <0>; + pixelclk-active = <0>; + }; +}; diff --git a/overlays/display-vga-640x480_overlay.dtsi b/overlays/display-vga-640x480_overlay.dtsi new file mode 100644 index 0000000..ab533cb --- /dev/null +++ b/overlays/display-vga-640x480_overlay.dtsi @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2022 Toradex + */ + +// VGA Signal 640x480@60Hz Industry standard timing + +&panel_dpi { + compatible = "panel-dpi"; + status = "okay"; + + /* for 0.3mm pixels */ + width-mm = <192>; + height-mm = <144>; + + panel-timing { + clock-frequency = <25175000>; + hactive = <640>; + vactive = <480>; + hsync-len = <96>; + hfront-porch = <16>; + hback-porch = <48>; + vsync-len = <2>; + vfront-porch = <10>; + vback-porch = <33>; + hsync-active = <0>; + vsync-active = <0>; + pixelclk-active = <0>; + }; +}; |