From 7fe8eedddcbce25171f5e6e5c14144123c08afa0 Mon Sep 17 00:00:00 2001 From: Oleksii Bidnichenko Date: Sun, 22 Aug 2021 13:38:22 +0300 Subject: imx6ull-emmc: add overlays Add following overlays: - Parallel RGB/VGA support - Atmel MXT TS for boards with Capacitive Touch Connector - Atmel MXT TS for Capacitive Touch Adapter - Fusion F0710A TS for boards with Capacitive Touch Connector - Fusion F0710A TS for Capacitive Touch Adapter - Toradex 7" touchscreen lt161010 - Toradex 10" touchscreen lt170410 - Toradex 7" resistive touchscreen ad7879 Related-to: ELB-4065 Related-to: ELB-4080 Signed-off-by: Oleksii Bidnichenko --- overlays/Makefile | 8 +++ overlays/colibri-imx6ull_ad7879_overlay.dts | 22 ++++++ .../colibri-imx6ull_atmel-mxt-adapter_overlay.dts | 46 +++++++++++++ ...colibri-imx6ull_atmel-mxt-connector_overlay.dts | 39 +++++++++++ ...libri-imx6ull_fusion-f0710a-adapter_overlay.dts | 25 +++++++ ...bri-imx6ull_fusion-f0710a-connector_overlay.dts | 31 +++++++++ overlays/colibri-imx6ull_lcd-lt161010_overlay.dts | 32 +++++++++ overlays/colibri-imx6ull_lcd-lt170410_overlay.dts | 78 ++++++++++++++++++++++ .../colibri-imx6ull_parallel-rgb_vga_overlay.dts | 26 ++++++++ 9 files changed, 307 insertions(+) create mode 100644 overlays/colibri-imx6ull_ad7879_overlay.dts create mode 100644 overlays/colibri-imx6ull_atmel-mxt-adapter_overlay.dts create mode 100644 overlays/colibri-imx6ull_atmel-mxt-connector_overlay.dts create mode 100644 overlays/colibri-imx6ull_fusion-f0710a-adapter_overlay.dts create mode 100644 overlays/colibri-imx6ull_fusion-f0710a-connector_overlay.dts create mode 100644 overlays/colibri-imx6ull_lcd-lt161010_overlay.dts create mode 100644 overlays/colibri-imx6ull_lcd-lt170410_overlay.dts create mode 100644 overlays/colibri-imx6ull_parallel-rgb_vga_overlay.dts diff --git a/overlays/Makefile b/overlays/Makefile index f3af6cb..0b1533f 100644 --- a/overlays/Makefile +++ b/overlays/Makefile @@ -54,6 +54,14 @@ dtb-y += colibri-imx6_lcd-lt161010_overlay.dtbo dtb-y += colibri-imx6_lcd-lt170410_overlay.dtbo dtb-y += colibri-imx6_lcd-vga_overlay.dtbo dtb-y += colibri-imx6_stmpe-ts_overlay.dtbo +dtb-y += colibri-imx6ull_ad7879_overlay.dtbo +dtb-y += colibri-imx6ull_atmel-mxt-adapter_overlay.dtbo +dtb-y += colibri-imx6ull_atmel-mxt-connector_overlay.dtbo +dtb-y += colibri-imx6ull_fusion-f0710a-adapter_overlay.dtbo +dtb-y += colibri-imx6ull_fusion-f0710a-connector_overlay.dtbo +dtb-y += colibri-imx6ull_lcd-lt161010_overlay.dtbo +dtb-y += colibri-imx6ull_lcd-lt170410_overlay.dtbo +dtb-y += colibri-imx6ull_parallel-rgb_vga_overlay.dtbo dtb-y += colibri-imx7_ad7879_overlay.dtbo dtb-y += colibri-imx7_atmel-mxt-adapter_overlay.dtbo dtb-y += colibri-imx7_atmel-mxt-connector_overlay.dtbo diff --git a/overlays/colibri-imx6ull_ad7879_overlay.dts b/overlays/colibri-imx6ull_ad7879_overlay.dts new file mode 100644 index 0000000..c109926 --- /dev/null +++ b/overlays/colibri-imx6ull_ad7879_overlay.dts @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2021 Toradex + */ + +// Enable the resistive touch controller (AD7879) on the Colibri iMX6ULL. + +/dts-v1/; +/plugin/; + +/ { + compatible = "toradex,colibri-imx6ull-emmc"; +}; + +&ad7879_ts { + status = "okay"; +}; + +&i2c2 { + /* Was disabled because ad7879 is a single I2C slave */ + status = "okay"; +}; diff --git a/overlays/colibri-imx6ull_atmel-mxt-adapter_overlay.dts b/overlays/colibri-imx6ull_atmel-mxt-adapter_overlay.dts new file mode 100644 index 0000000..ee1c0e2 --- /dev/null +++ b/overlays/colibri-imx6ull_atmel-mxt-adapter_overlay.dts @@ -0,0 +1,46 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2021 Toradex + */ + +// Atmel MXT touchscreen for the 7inch and 10inch display orderable at Toradex. +// Compatible with a Capacitive Touch Adapter. + +/dts-v1/; +/plugin/; + +#include +#include + +/ { + compatible = "toradex,colibri-imx6ull-emmc"; +}; + +&atmel_mxt_ts { + pinctrl-0 = <&pinctrl_atmel_adap>; + interrupt-parent = <&gpio4>; + interrupts = <16 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 28, INT */ + reset-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; /* SODIMM 30, RST */ + status = "okay"; +}; + +&fusion_f0710a { + status = "disabled"; +}; + +&i2c1 { + status = "okay"; +}; + +/* PWM */ +&pwm5 { + /* Pin already used by atmel_mxt_ts touchscreen */ + status = "disabled"; +}; + +/* PWM */ +&pwm6 { + /* Pin already used by atmel_mxt_ts touchscreen */ + status = "disabled"; +}; + diff --git a/overlays/colibri-imx6ull_atmel-mxt-connector_overlay.dts b/overlays/colibri-imx6ull_atmel-mxt-connector_overlay.dts new file mode 100644 index 0000000..6772e79 --- /dev/null +++ b/overlays/colibri-imx6ull_atmel-mxt-connector_overlay.dts @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2021 Toradex + */ + +// Atmel touchscreen for the 7inch and 10inch capacitive display orderable at +// Toradex. Compatible with a Capacitive Touch Connector. + +/dts-v1/; +/plugin/; + +/ { + compatible = "toradex,colibri-imx6ull-emmc"; +}; + +&atmel_mxt_ts { + status = "okay"; +}; + +&fusion_f0710a { + status = "disabled"; +}; + +&i2c1 { + status = "okay"; +}; + +/* PWM */ +&pwm5 { + /* Pin already used by atmel_mxt_ts touchscreen */ + status = "disabled"; +}; + +/* PWM */ +&pwm6 { + /* Pin already used by atmel_mxt_ts touchscreen */ + status = "disabled"; +}; + diff --git a/overlays/colibri-imx6ull_fusion-f0710a-adapter_overlay.dts b/overlays/colibri-imx6ull_fusion-f0710a-adapter_overlay.dts new file mode 100644 index 0000000..3480e05 --- /dev/null +++ b/overlays/colibri-imx6ull_fusion-f0710a-adapter_overlay.dts @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2021 Toradex + */ + +// Fusion F0710A touchscreen. Compatible with a Capacitive Touch Adapter. + +/dts-v1/; +/plugin/; + +/ { + compatible = "toradex,colibri-imx6ull-emmc"; +}; + +&atmel_mxt_ts { + status = "disabled"; +}; + +&fusion_f0710a { + status = "okay"; +}; + +&i2c1 { + status = "okay"; +}; diff --git a/overlays/colibri-imx6ull_fusion-f0710a-connector_overlay.dts b/overlays/colibri-imx6ull_fusion-f0710a-connector_overlay.dts new file mode 100644 index 0000000..172df61 --- /dev/null +++ b/overlays/colibri-imx6ull_fusion-f0710a-connector_overlay.dts @@ -0,0 +1,31 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2021 Toradex + */ + +// Fusion F0710A touchscreen. Compatible with a Capacitive Touch Connector. + +/dts-v1/; +/plugin/; + +#include + +/ { + compatible = "toradex,colibri-imx6ull-emmc"; +}; + +&atmel_mxt_ts { + status = "disabled"; +}; + +&fusion_f0710a { + pinctrl-0 = <&pinctrl_atmel_conn>; + gpios = <&gpio5 4 GPIO_ACTIVE_HIGH /* SODIMM 107, INT */ + &gpio1 10 GPIO_ACTIVE_LOW /* SODIMM 106, RST */ + >; + status = "okay"; +}; + +&i2c1 { + status = "okay"; +}; diff --git a/overlays/colibri-imx6ull_lcd-lt161010_overlay.dts b/overlays/colibri-imx6ull_lcd-lt161010_overlay.dts new file mode 100644 index 0000000..2092d66 --- /dev/null +++ b/overlays/colibri-imx6ull_lcd-lt161010_overlay.dts @@ -0,0 +1,32 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2021 Toradex + */ + +// Turn on the parallel RGB interface with setting for 7" Displays on the +// Colibri iMX6ULL. + +/dts-v1/; +/plugin/; + +/ { + compatible = "toradex,colibri-imx6ull-emmc"; +}; + +&backlight { + status = "okay"; +}; + +&display0 { + display-timings { + native-mode = <&timing_wvga2>; + }; +}; + +&lcdif { + status = "okay"; +}; + +&pwm4 { + status = "okay"; +}; diff --git a/overlays/colibri-imx6ull_lcd-lt170410_overlay.dts b/overlays/colibri-imx6ull_lcd-lt170410_overlay.dts new file mode 100644 index 0000000..936a24d --- /dev/null +++ b/overlays/colibri-imx6ull_lcd-lt170410_overlay.dts @@ -0,0 +1,78 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2021 Toradex + */ + +// Enable the LCDIF aka parallel RGB interface and the LVDS tranceiver on Iris +// v2.0, tuning settings for the capacitive touch display 10 inch LVDS on the +// Colibri iMX6ULL. + +#include + +/dts-v1/; +/plugin/; + +/ { + compatible = "toradex,colibri-imx6ull-emmc"; +}; + +&backlight { + status = "okay"; +}; + +&can1 { + // Disabled due to the SODIMM 55 and 63 pins overlapping + status = "disabled"; +}; + +&display0 { + display-timings { + native-mode = <&timing_wxga>; + }; +}; + +&gpio1 { + // This turns the LVDS transceiver on + LVDS_PWRDWN { + gpio-hog; + gpios = <14 GPIO_ACTIVE_HIGH>; /* SODIMM 99 */ + line-name = "LVDS_PWRDWN"; + output-high; + }; +}; + +&gpio2 { + // This switches the LVDS transceiver to the single-channel output mode + LVDS_MODE { + gpio-hog; + gpios = <0 GPIO_ACTIVE_HIGH>; /* SODIMM 55 */ + line-name = "LVDS_MODE"; + output-high; + }; + + // This switches the LVDS transceiver to the 24-bit RGB mode + LVDS_RGB_MODE { + gpio-hog; + gpios = <1 GPIO_ACTIVE_HIGH>; /* SODIMM 63 */ + line-name = "LVDS_RGB_MODE"; + output-low; + }; +}; + +&gpio5 { + // This switches the LVDS transceiver to VESA color mapping mode + LVDS_COLOR_MAP { + gpio-hog; + gpios = <3 GPIO_ACTIVE_HIGH>; /* SODIMM 95 */ + line-name = "LVDS_COLOR_MAP"; + output-low; + }; +}; + +&lcdif { + status = "okay"; +}; + +&pwm4 { + status = "okay"; +}; diff --git a/overlays/colibri-imx6ull_parallel-rgb_vga_overlay.dts b/overlays/colibri-imx6ull_parallel-rgb_vga_overlay.dts new file mode 100644 index 0000000..c636183 --- /dev/null +++ b/overlays/colibri-imx6ull_parallel-rgb_vga_overlay.dts @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2021 Toradex + */ + +// Enable the parallel RGB interface on the Colibri iMX6ULL. Make sure to also +// select a valid display configuration. + +/dts-v1/; +/plugin/; + +/ { + compatible = "toradex,colibri-imx6ull-emmc"; +}; + +&backlight { + status = "okay"; +}; + +&lcdif { + status = "okay"; +}; + +&pwm4 { + status = "okay"; +}; -- cgit v1.2.3