From 943af5413b7521723a3a80a11e9e1e438846ac9b Mon Sep 17 00:00:00 2001 From: Aishwarya Kothari Date: Wed, 28 Sep 2022 14:11:24 +0200 Subject: colibri-imx7: move to one overlay per accessory Move the existing overlays to dtsi files and include them into one accessory dts. Provide data-mapping timings appropriately for each machine instead of the hardcoding and use a single overlay per SoC to avoid code duplication. Signed-off-by: Aishwarya Kothari --- overlays/Makefile | 10 +-- overlays/colibri-imx7_ad7879_overlay.dts | 19 ----- overlays/colibri-imx7_ad7879_overlay.dtsi | 11 +++ .../colibri-imx7_atmel-mxt-adapter_overlay.dts | 39 ---------- .../colibri-imx7_atmel-mxt-adapter_overlay.dtsi | 27 +++++++ .../colibri-imx7_atmel-mxt-connector_overlay.dts | 26 ------- .../colibri-imx7_atmel-mxt-connector_overlay.dtsi | 15 ++++ ...ri-imx7_panel-cap-touch-10inch-lvds_overlay.dts | 25 +++++++ ...-imx7_panel-cap-touch-7inch_adapter_overlay.dts | 26 +++++++ .../colibri-imx7_panel-cap-touch-7inch_overlay.dts | 26 +++++++ .../colibri-imx7_panel-res-touch-7inch_overlay.dts | 25 +++++++ ...imx7_parallel-rgb-lvds-rgb24-single_overlay.dts | 83 ---------------------- ...mx7_parallel-rgb-lvds-rgb24-single_overlay.dtsi | 73 +++++++++++++++++++ overlays/colibri-imx7_parallel-rgb_overlay.dts | 27 ------- overlays/colibri-imx7_parallel-rgb_overlay.dtsi | 22 ++++++ overlays/colibri-imx7_vga-640x480_overlay.dts | 24 +++++++ 16 files changed, 279 insertions(+), 199 deletions(-) delete mode 100644 overlays/colibri-imx7_ad7879_overlay.dts create mode 100644 overlays/colibri-imx7_ad7879_overlay.dtsi delete mode 100644 overlays/colibri-imx7_atmel-mxt-adapter_overlay.dts create mode 100644 overlays/colibri-imx7_atmel-mxt-adapter_overlay.dtsi delete mode 100644 overlays/colibri-imx7_atmel-mxt-connector_overlay.dts create mode 100644 overlays/colibri-imx7_atmel-mxt-connector_overlay.dtsi create mode 100644 overlays/colibri-imx7_panel-cap-touch-10inch-lvds_overlay.dts create mode 100644 overlays/colibri-imx7_panel-cap-touch-7inch_adapter_overlay.dts create mode 100644 overlays/colibri-imx7_panel-cap-touch-7inch_overlay.dts create mode 100644 overlays/colibri-imx7_panel-res-touch-7inch_overlay.dts delete mode 100644 overlays/colibri-imx7_parallel-rgb-lvds-rgb24-single_overlay.dts create mode 100644 overlays/colibri-imx7_parallel-rgb-lvds-rgb24-single_overlay.dtsi delete mode 100644 overlays/colibri-imx7_parallel-rgb_overlay.dts create mode 100644 overlays/colibri-imx7_parallel-rgb_overlay.dtsi create mode 100644 overlays/colibri-imx7_vga-640x480_overlay.dts diff --git a/overlays/Makefile b/overlays/Makefile index d93ed09..28d6c2f 100644 --- a/overlays/Makefile +++ b/overlays/Makefile @@ -43,12 +43,12 @@ dtb-y += colibri-imx6ull_panel-cap-touch-10inch-lvds_overlay.dtbo dtb-y += colibri-imx6ull_panel-res-touch-7inch_overlay.dtbo dtb-y += colibri-imx6ull_spidev_overlay.dtbo dtb-y += colibri-imx6ull_vga-640x480_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 -dtb-y += colibri-imx7_parallel-rgb-lvds-rgb24-single_overlay.dtbo -dtb-y += colibri-imx7_parallel-rgb_overlay.dtbo +dtb-y += colibri-imx7_panel-cap-touch-7inch_overlay.dtbo +dtb-y += colibri-imx7_panel-cap-touch-7inch_adapter_overlay.dtbo +dtb-y += colibri-imx7_panel-cap-touch-10inch-lvds_overlay.dtbo +dtb-y += colibri-imx7_panel-res-touch-7inch_overlay.dtbo dtb-y += colibri-imx7_spidev_overlay.dtbo +dtb-y += colibri-imx7_vga-640x480_overlay.dtbo dtb-y += verdin-imx8mm_spidev_overlay.dtbo dtb-y += verdin-imx8mp_spidev_overlay.dtbo diff --git a/overlays/colibri-imx7_ad7879_overlay.dts b/overlays/colibri-imx7_ad7879_overlay.dts deleted file mode 100644 index c9d06e6..0000000 --- a/overlays/colibri-imx7_ad7879_overlay.dts +++ /dev/null @@ -1,19 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/* - * Copyright 2020-2021 Toradex - */ - -// Enable the resistive touch controller (AD7879) on the Colibri iMX7 - -/dts-v1/; -/plugin/; - -/ { - compatible = "toradex,colibri-imx7d", - "toradex,colibri-imx7d-emmc", - "toradex,colibri-imx7s"; -}; - -&ad7879_ts { - status = "okay"; -}; diff --git a/overlays/colibri-imx7_ad7879_overlay.dtsi b/overlays/colibri-imx7_ad7879_overlay.dtsi new file mode 100644 index 0000000..e134ee4 --- /dev/null +++ b/overlays/colibri-imx7_ad7879_overlay.dtsi @@ -0,0 +1,11 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2020-2022 Toradex + */ + +// Resistive AD7879 touch controller on the Colibri iMX7 for the 7" +// display orderable at Toradex. + +&ad7879_ts { + status = "okay"; +}; diff --git a/overlays/colibri-imx7_atmel-mxt-adapter_overlay.dts b/overlays/colibri-imx7_atmel-mxt-adapter_overlay.dts deleted file mode 100644 index ac2eaea..0000000 --- a/overlays/colibri-imx7_atmel-mxt-adapter_overlay.dts +++ /dev/null @@ -1,39 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/* - * Copyright 2020-2021 Toradex - */ - -// Atmel touchscreen for the 7inch capacitive display orderable at Toradex. Use this devicetree on the Evaluation or Iris board. - -/dts-v1/; -/plugin/; - -#include -#include -#include - -/ { - compatible = "toradex,colibri-imx7d", - "toradex,colibri-imx7s", - "toradex,colibri-imx7d-emmc"; -}; - -&atmel_mxt_ts { - pinctrl-0 = <&pinctrl_atmel_adapter>; - interrupt-parent = <&gpio1>; - interrupts = <9 IRQ_TYPE_EDGE_FALLING>; - reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; - status = "okay"; -}; - -&i2c4 { - status = "okay"; -}; - -&pwm2 { - status = "disabled"; -}; - -&pwm3 { - status = "disabled"; -}; diff --git a/overlays/colibri-imx7_atmel-mxt-adapter_overlay.dtsi b/overlays/colibri-imx7_atmel-mxt-adapter_overlay.dtsi new file mode 100644 index 0000000..ece03a1 --- /dev/null +++ b/overlays/colibri-imx7_atmel-mxt-adapter_overlay.dtsi @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2020-2022 Toradex + */ + +// Atmel MXT capacitive touch controller for the 7" and 10.1" displays +// orderable at Toradex. Compatible with a Capacitive Touch Adapter. + +&atmel_mxt_ts { + pinctrl-0 = <&pinctrl_atmel_adapter>; + interrupt-parent = <&gpio1>; + interrupts = <9 IRQ_TYPE_EDGE_FALLING>; + reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; + status = "okay"; +}; + +&i2c4 { + status = "okay"; +}; + +&pwm2 { + status = "disabled"; +}; + +&pwm3 { + status = "disabled"; +}; diff --git a/overlays/colibri-imx7_atmel-mxt-connector_overlay.dts b/overlays/colibri-imx7_atmel-mxt-connector_overlay.dts deleted file mode 100644 index d6000c7..0000000 --- a/overlays/colibri-imx7_atmel-mxt-connector_overlay.dts +++ /dev/null @@ -1,26 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/* - * Copyright 2020-2021 Toradex - */ - -// Atmel touchscreen for the 7inch capacitive display orderable at Toradex. Use this devicetree on the Aster board. - -/dts-v1/; -/plugin/; - -#include -#include - -/ { - compatible = "toradex,colibri-imx7d", - "toradex,colibri-imx7s", - "toradex,colibri-imx7d-emmc"; -}; - -&atmel_mxt_ts { - status = "okay"; -}; - -&i2c4 { - status = "okay"; -}; diff --git a/overlays/colibri-imx7_atmel-mxt-connector_overlay.dtsi b/overlays/colibri-imx7_atmel-mxt-connector_overlay.dtsi new file mode 100644 index 0000000..aea097b --- /dev/null +++ b/overlays/colibri-imx7_atmel-mxt-connector_overlay.dtsi @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2020-2022 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"; +}; + +&i2c4 { + status = "okay"; +}; diff --git a/overlays/colibri-imx7_panel-cap-touch-10inch-lvds_overlay.dts b/overlays/colibri-imx7_panel-cap-touch-10inch-lvds_overlay.dts new file mode 100644 index 0000000..c0d9c0f --- /dev/null +++ b/overlays/colibri-imx7_panel-cap-touch-10inch-lvds_overlay.dts @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2022 Toradex + */ + +// Enable the parallel RGB interface on the Colibri iMX7 and the +// LVDS transceiver on the Iris v2.0A with a connected capacitive +// touch 10.1" LVDS display. + +/dts-v1/; +/plugin/; + +#include +#include +#include + +/ { + compatible = "toradex,colibri-imx7d", + "toradex,colibri-imx7s", + "toradex,colibri-imx7d-emmc"; +}; + +#include "colibri-imx7_atmel-mxt-connector_overlay.dtsi" +#include "colibri-imx7_parallel-rgb-lvds-rgb24-single_overlay.dtsi" +#include "display-dpi-lt170410_overlay.dtsi" diff --git a/overlays/colibri-imx7_panel-cap-touch-7inch_adapter_overlay.dts b/overlays/colibri-imx7_panel-cap-touch-7inch_adapter_overlay.dts new file mode 100644 index 0000000..72440fb --- /dev/null +++ b/overlays/colibri-imx7_panel-cap-touch-7inch_adapter_overlay.dts @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2022 Toradex + */ + +// Enable the parallel RGB interface on the Colibri iMX7 with a +// connected capacitive touch 7" display, touch connected with +// a separate adapter pcb. + +/dts-v1/; +/plugin/; + +#include +#include +#include + +/ { + compatible = "toradex,colibri-imx7d", + "toradex,colibri-imx7s", + "toradex,colibri-imx7d-emmc"; +}; + +#include "colibri-imx7_atmel-mxt-adapter_overlay.dtsi" +#include "colibri-imx7_parallel-rgb_overlay.dtsi" +#include "display-lt161010_overlay.dtsi" + diff --git a/overlays/colibri-imx7_panel-cap-touch-7inch_overlay.dts b/overlays/colibri-imx7_panel-cap-touch-7inch_overlay.dts new file mode 100644 index 0000000..2382535 --- /dev/null +++ b/overlays/colibri-imx7_panel-cap-touch-7inch_overlay.dts @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2022 Toradex + */ + +// Enable the parallel RGB interface on the Colibri iMX7 with a +// connected capacitive touch 7" display, touch connected to a +// dedicated connector e.g. as present on Iris v2.0A. + +/dts-v1/; +/plugin/; + +#include +#include +#include + +/ { + compatible = "toradex,colibri-imx7d", + "toradex,colibri-imx7s", + "toradex,colibri-imx7d-emmc"; +}; + +#include "colibri-imx7_atmel-mxt-connector_overlay.dtsi" +#include "colibri-imx7_parallel-rgb_overlay.dtsi" +#include "display-lt161010_overlay.dtsi" + diff --git a/overlays/colibri-imx7_panel-res-touch-7inch_overlay.dts b/overlays/colibri-imx7_panel-res-touch-7inch_overlay.dts new file mode 100644 index 0000000..3f08526 --- /dev/null +++ b/overlays/colibri-imx7_panel-res-touch-7inch_overlay.dts @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2022 Toradex + */ + +// Enable the parallel RGB interface on the Colibri iMX7 with a +// connected resistive touch 7" display. + +/dts-v1/; +/plugin/; + +#include +#include +#include + +/ { + compatible = "toradex,colibri-imx7d", + "toradex,colibri-imx7s", + "toradex,colibri-imx7d-emmc"; +}; + +#include "colibri-imx7_ad7879_overlay.dtsi" +#include "colibri-imx7_parallel-rgb_overlay.dtsi" +#include "display-lt161010_overlay.dtsi" + diff --git a/overlays/colibri-imx7_parallel-rgb-lvds-rgb24-single_overlay.dts b/overlays/colibri-imx7_parallel-rgb-lvds-rgb24-single_overlay.dts deleted file mode 100644 index e5d407e..0000000 --- a/overlays/colibri-imx7_parallel-rgb-lvds-rgb24-single_overlay.dts +++ /dev/null @@ -1,83 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/* - * Copyright 2020-2021 Toradex - */ - -// Enable the parallel RGB interface on the Colibri iMX7 - -#include - -/dts-v1/; -/plugin/; - -/ { - compatible = "toradex,colibri-imx7d", - "toradex,colibri-imx7d-emmc", - "toradex,colibri-imx7s"; -}; - -&backlight { - status = "okay"; -}; - -/* Need to be disabled due to overlapped pins SODIMM_55, SODIMM_63 */ -&flexcan1 { - status = "disabled"; -}; - -&gpio2 { - /* - * This switches the LVDS transceiver to VESA color mapping mode. - */ - LVDS_COLOR_MAP { - gpio-hog; - gpios = <13 GPIO_ACTIVE_HIGH>; /* SODIMM 95 */ - line-name = "LVDS_COLOR_MAP"; - output-low; - }; -}; - -&gpio7 { - /* - * This switches the LVDS transceiver to the 24-bit RGB mode. - */ - LVDS_RGB_MODE { - gpio-hog; - gpios = <2 GPIO_ACTIVE_HIGH>; /* SODIMM 63 */ - line-name = "LVDS_RGB_MODE"; - output-low; - }; - - /* - * This switches the LVDS transceiver to the single-channel - * output mode. - */ - LVDS_CH_MODE { - gpio-hog; - gpios = <3 GPIO_ACTIVE_HIGH>; /* SODIMM 55 */ - line-name = "LVDS_CH_MODE"; - output-high; - }; - - /* This turns on the LVDS transceiver */ - LVDS_POWER_ON { - gpio-hog; - gpios = <11 GPIO_ACTIVE_HIGH>; /* SODIMM 99 */ - line-name = "LVDS_POWER_ON"; - output-high; - }; -}; - -&lcdif { - status = "okay"; -}; - -&panel_dpi { - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_lvds_transceiver>; - status = "okay"; -}; - -&pwm1 { - status = "okay"; -}; diff --git a/overlays/colibri-imx7_parallel-rgb-lvds-rgb24-single_overlay.dtsi b/overlays/colibri-imx7_parallel-rgb-lvds-rgb24-single_overlay.dtsi new file mode 100644 index 0000000..ed03a8a --- /dev/null +++ b/overlays/colibri-imx7_parallel-rgb-lvds-rgb24-single_overlay.dtsi @@ -0,0 +1,73 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2020-2022 Toradex + */ + +// Enable the parallel RGB interface on the Colibri iMX7. + +&backlight { + status = "okay"; +}; + +/* Need to be disabled due to overlapped pins SODIMM_55, SODIMM_63 */ +&flexcan1 { + status = "disabled"; +}; + +&gpio2 { + /* + * This switches the LVDS transceiver to VESA color mapping mode. + */ + lvds-color-map { + gpio-hog; + gpios = <13 GPIO_ACTIVE_HIGH>; /* SODIMM 95 */ + line-name = "LVDS_COLOR_MAP"; + output-low; + }; +}; + +&gpio7 { + /* + * This switches the LVDS transceiver to the single-channel + * output mode. + */ + lvds-ch-mode { + gpio-hog; + gpios = <3 GPIO_ACTIVE_HIGH>; /* SODIMM 55 */ + line-name = "LVDS_CH_MODE"; + output-high; + }; + + /* This turns on the LVDS transceiver */ + lvds-pwron { + gpio-hog; + gpios = <11 GPIO_ACTIVE_HIGH>; /* SODIMM 99 */ + line-name = "LVDS_PWRON"; + output-high; + }; + + /* + * This switches the LVDS transceiver to the 24-bit RGB mode. + */ + lvds-rgb-mode { + gpio-hog; + gpios = <2 GPIO_ACTIVE_HIGH>; /* SODIMM 63 */ + line-name = "LVDS_RGB_MODE"; + output-low; + }; +}; + +&lcdif { + status = "okay"; +}; + +&panel_dpi { + data-mapping = "bgr666"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_lvds_transceiver>; + status = "okay"; +}; + +&pwm1 { + status = "okay"; +}; diff --git a/overlays/colibri-imx7_parallel-rgb_overlay.dts b/overlays/colibri-imx7_parallel-rgb_overlay.dts deleted file mode 100644 index d3b5623..0000000 --- a/overlays/colibri-imx7_parallel-rgb_overlay.dts +++ /dev/null @@ -1,27 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/* - * Copyright 2020-2021 Toradex - */ - -// Enable the parallel RGB interface on the Colibri iMX7 - -/dts-v1/; -/plugin/; - -/ { - compatible = "toradex,colibri-imx7d", - "toradex,colibri-imx7d-emmc", - "toradex,colibri-imx7s"; -}; - -&backlight { - status = "okay"; -}; - -&lcdif { - status = "okay"; -}; - -&pwm1 { - status = "okay"; -}; diff --git a/overlays/colibri-imx7_parallel-rgb_overlay.dtsi b/overlays/colibri-imx7_parallel-rgb_overlay.dtsi new file mode 100644 index 0000000..e00b6ea --- /dev/null +++ b/overlays/colibri-imx7_parallel-rgb_overlay.dtsi @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2020-2022 Toradex + */ + +// Enable the parallel RGB interface on the Colibri iMX7. + +&backlight { + status = "okay"; +}; + +&lcdif { + status = "okay"; +}; + +&panel_dpi { + data-mapping = "bgr666"; +}; + +&pwm1 { + status = "okay"; +}; diff --git a/overlays/colibri-imx7_vga-640x480_overlay.dts b/overlays/colibri-imx7_vga-640x480_overlay.dts new file mode 100644 index 0000000..70f1782 --- /dev/null +++ b/overlays/colibri-imx7_vga-640x480_overlay.dts @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2020-2022 Toradex + */ + +// Enable the parallel RGB interface on the Colibri iMX7 and the +// video DAC providing analog RGB on the VGA connector. + +/dts-v1/; +/plugin/; + +#include +#include +#include + +/ { + compatible = "toradex,colibri-imx7d", + "toradex,colibri-imx7s", + "toradex,colibri-imx7d-emmc"; +}; + +#include "colibri-imx7_parallel-rgb_overlay.dtsi" +#include "display-vga-640x480_overlay.dtsi" + -- cgit v1.2.3