2020-02-04 11:13:23

by Oleksandr Suvorov

[permalink] [raw]
Subject: [PATCH 0/6] Add Aster carrier board support for Colibri iMX7 CoM


This series adds devicetree for the Toradex Aster board along with
Toradex Computer on Module Colibri iMX7S/iMX7D.


Oleksandr Suvorov (6):
ARM: dts: imx7-colibri: add alias for RTC
ARM: dts: imx7-colibri: fix muxing of usbc_det pin
ARM: dts: imx7-colibri: Convert to SPDX license tags for Colibri iMX7
ARM: imx_v6_v7_defconfig: Enable TOUCHSCREEN_ATMEL_MXT
ARM: imx_v6_v7_defconfig: Enable TOUCHSCREEN_AD7879
ARM: dts: imx7-colibri: add support for Toradex Aster carrier board

arch/arm/boot/dts/Makefile | 3 +
arch/arm/boot/dts/imx7-colibri-aster.dtsi | 191 ++++++++++++++++++
arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi | 45 +----
arch/arm/boot/dts/imx7-colibri.dtsi | 51 +----
arch/arm/boot/dts/imx7d-colibri-aster.dts | 20 ++
.../arm/boot/dts/imx7d-colibri-emmc-aster.dts | 20 ++
arch/arm/boot/dts/imx7d-colibri-eval-v3.dts | 40 +---
arch/arm/boot/dts/imx7s-colibri-aster.dts | 15 ++
arch/arm/boot/dts/imx7s-colibri-eval-v3.dts | 40 +---
arch/arm/configs/imx_v6_v7_defconfig | 3 +
10 files changed, 272 insertions(+), 156 deletions(-)
create mode 100644 arch/arm/boot/dts/imx7-colibri-aster.dtsi
create mode 100644 arch/arm/boot/dts/imx7d-colibri-aster.dts
create mode 100644 arch/arm/boot/dts/imx7d-colibri-emmc-aster.dts
create mode 100644 arch/arm/boot/dts/imx7s-colibri-aster.dts

--
2.24.1


2020-02-04 11:13:23

by Oleksandr Suvorov

[permalink] [raw]
Subject: [PATCH 1/6] ARM: dts: imx7-colibri: add alias for RTC

Make sure that the priority of the RTCs is defined.

Signed-off-by: Stefan Agner <[email protected]>
Signed-off-by: Oleksandr Suvorov <[email protected]>
---

arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi b/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi
index 6aa123cbdadb..9e9e85c10acb 100644
--- a/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi
+++ b/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi
@@ -41,6 +41,11 @@
*/

/ {
+ aliases {
+ rtc0 = &rtc;
+ rtc1 = &snvs_rtc;
+ };
+
chosen {
stdout-path = "serial0:115200n8";
};
--
2.24.1

2020-02-04 11:13:26

by Oleksandr Suvorov

[permalink] [raw]
Subject: [PATCH 2/6] ARM: dts: imx7-colibri: fix muxing of usbc_det pin

USB_C_DET pin shouldn't be in ethernet group.

Creating a separate group allows one to use this pin
as an USB ID pin.

Fixes: b326629f25b7 ("ARM: dts: imx7: add Toradex Colibri iMX7S/iMX7D suppor")
Signed-off-by: Oleksandr Suvorov <[email protected]>
---

arch/arm/boot/dts/imx7-colibri.dtsi | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/imx7-colibri.dtsi b/arch/arm/boot/dts/imx7-colibri.dtsi
index d05be3f0e2a7..f18a7c9e1303 100644
--- a/arch/arm/boot/dts/imx7-colibri.dtsi
+++ b/arch/arm/boot/dts/imx7-colibri.dtsi
@@ -346,7 +346,7 @@ &usdhc3 {
&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio1 &pinctrl_gpio2 &pinctrl_gpio3 &pinctrl_gpio4
- &pinctrl_gpio7>;
+ &pinctrl_gpio7 &pinctrl_usbc_det>;

pinctrl_gpio1: gpio1-grp {
fsl,pins = <
@@ -451,7 +451,6 @@ MX7D_PAD_SD1_RESET_B__GPIO5_IO2 0X14 /* SODIMM 73 */

pinctrl_enet1: enet1grp {
fsl,pins = <
- MX7D_PAD_ENET1_CRS__GPIO7_IO14 0x14
MX7D_PAD_ENET1_RGMII_RX_CTL__ENET1_RGMII_RX_CTL 0x73
MX7D_PAD_ENET1_RGMII_RD0__ENET1_RGMII_RD0 0x73
MX7D_PAD_ENET1_RGMII_RD1__ENET1_RGMII_RD1 0x73
@@ -649,6 +648,12 @@ MX7D_PAD_UART3_RX_DATA__UART3_DTE_TX 0x79
>;
};

+ pinctrl_usbc_det: gpio-usbc-det {
+ fsl,pins = <
+ MX7D_PAD_ENET1_CRS__GPIO7_IO14 0x14
+ >;
+ };
+
pinctrl_usbh_reg: gpio-usbh-vbus {
fsl,pins = <
MX7D_PAD_UART3_CTS_B__GPIO4_IO7 0x14 /* SODIMM 129 USBH PEN */
--
2.24.1

2020-02-04 11:13:33

by Oleksandr Suvorov

[permalink] [raw]
Subject: [PATCH 3/6] ARM: dts: imx7-colibri: Convert to SPDX license tags for Colibri iMX7

Replace boiler plate licenses texts with the SPDX license identifiers in
Colibri iMX7 DTS files.

Signed-off-by: Oleksandr Suvorov <[email protected]>
---

arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi | 40 ++-------------------
arch/arm/boot/dts/imx7-colibri.dtsi | 40 ++-------------------
arch/arm/boot/dts/imx7d-colibri-eval-v3.dts | 40 ++-------------------
arch/arm/boot/dts/imx7s-colibri-eval-v3.dts | 40 ++-------------------
4 files changed, 8 insertions(+), 152 deletions(-)

diff --git a/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi b/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi
index 9e9e85c10acb..287d88e3deb8 100644
--- a/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi
+++ b/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi
@@ -1,43 +1,7 @@
+// SPDX-License-Identifier: (GPL-2.0 OR X11)
/*
- * Copyright 2016 Toradex AG
+ * Copyright 2016-2020 Toradex AG
*
- * This file is dual-licensed: you can use it either under the terms
- * of the GPL or the X11 license, at your option. Note that this dual
- * licensing only applies to this file, and not this project as a
- * whole.
- *
- * a) This file is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This file is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * Or, alternatively,
- *
- * b) Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use,
- * copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following
- * conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
*/

/ {
diff --git a/arch/arm/boot/dts/imx7-colibri.dtsi b/arch/arm/boot/dts/imx7-colibri.dtsi
index f18a7c9e1303..7b4e81412381 100644
--- a/arch/arm/boot/dts/imx7-colibri.dtsi
+++ b/arch/arm/boot/dts/imx7-colibri.dtsi
@@ -1,43 +1,7 @@
+// SPDX-License-Identifier: (GPL-2.0 OR X11)
/*
- * Copyright 2016 Toradex AG
+ * Copyright 2016-20 Toradex AG
*
- * This file is dual-licensed: you can use it either under the terms
- * of the GPL or the X11 license, at your option. Note that this dual
- * licensing only applies to this file, and not this project as a
- * whole.
- *
- * a) This file is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This file is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * Or, alternatively,
- *
- * b) Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use,
- * copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following
- * conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
*/

/ {
diff --git a/arch/arm/boot/dts/imx7d-colibri-eval-v3.dts b/arch/arm/boot/dts/imx7d-colibri-eval-v3.dts
index 136e11ab4893..1808759e718b 100644
--- a/arch/arm/boot/dts/imx7d-colibri-eval-v3.dts
+++ b/arch/arm/boot/dts/imx7d-colibri-eval-v3.dts
@@ -1,43 +1,7 @@
+// SPDX-License-Identifier: (GPL-2.0 OR X11)
/*
- * Copyright 2016 Toradex AG
+ * Copyright 2016-2020 Toradex AG
*
- * This file is dual-licensed: you can use it either under the terms
- * of the GPL or the X11 license, at your option. Note that this dual
- * licensing only applies to this file, and not this project as a
- * whole.
- *
- * a) This file is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This file is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * Or, alternatively,
- *
- * b) Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use,
- * copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following
- * conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
*/

/dts-v1/;
diff --git a/arch/arm/boot/dts/imx7s-colibri-eval-v3.dts b/arch/arm/boot/dts/imx7s-colibri-eval-v3.dts
index bd2a49c1ade6..b0ad98c119d4 100644
--- a/arch/arm/boot/dts/imx7s-colibri-eval-v3.dts
+++ b/arch/arm/boot/dts/imx7s-colibri-eval-v3.dts
@@ -1,43 +1,7 @@
+// SPDX-License-Identifier: (GPL-2.0 OR X11)
/*
- * Copyright 2016 Toradex AG
+ * Copyright 2016-2020 Toradex AG
*
- * This file is dual-licensed: you can use it either under the terms
- * of the GPL or the X11 license, at your option. Note that this dual
- * licensing only applies to this file, and not this project as a
- * whole.
- *
- * a) This file is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This file is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * Or, alternatively,
- *
- * b) Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use,
- * copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following
- * conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
*/

/dts-v1/;
--
2.24.1

2020-02-04 11:13:41

by Oleksandr Suvorov

[permalink] [raw]
Subject: [PATCH 5/6] ARM: imx_v6_v7_defconfig: Enable TOUCHSCREEN_AD7879

The Computer on module Colibri iMX7S/iMX7D has
an AD7879 touchscreen controller.

This patch enables the TOUCHSCREEN_AD7879 and TOUCHSCREEN_AD7879_I2C
which support the mentioned controller in i2c mode.

Signed-off-by: Oleksandr Suvorov <[email protected]>
---

arch/arm/configs/imx_v6_v7_defconfig | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig
index 7cf452ddaa0a..5a20d12d62bd 100644
--- a/arch/arm/configs/imx_v6_v7_defconfig
+++ b/arch/arm/configs/imx_v6_v7_defconfig
@@ -179,6 +179,8 @@ CONFIG_MOUSE_PS2=m
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_ADS7846=y
+CONFIG_TOUCHSCREEN_AD7879=y
+CONFIG_TOUCHSCREEN_AD7879_I2C=y
CONFIG_TOUCHSCREEN_ATMEL_MXT=y
CONFIG_TOUCHSCREEN_DA9052=y
CONFIG_TOUCHSCREEN_EGALAX=y
--
2.24.1

2020-02-04 11:14:56

by Oleksandr Suvorov

[permalink] [raw]
Subject: [PATCH 6/6] ARM: dts: imx7-colibri: add support for Toradex Aster carrier board

Add support for the Toradex Aster carrier board.

Follow the usual hierarchic include model, maintaining shared
configuration imx7-colibri-aster.dtsi.

Signed-off-by: Oleksandr Suvorov <[email protected]>
---

arch/arm/boot/dts/Makefile | 3 +
arch/arm/boot/dts/imx7-colibri-aster.dtsi | 191 ++++++++++++++++++
arch/arm/boot/dts/imx7-colibri.dtsi | 2 -
arch/arm/boot/dts/imx7d-colibri-aster.dts | 20 ++
.../arm/boot/dts/imx7d-colibri-emmc-aster.dts | 20 ++
arch/arm/boot/dts/imx7s-colibri-aster.dts | 15 ++
6 files changed, 249 insertions(+), 2 deletions(-)
create mode 100644 arch/arm/boot/dts/imx7-colibri-aster.dtsi
create mode 100644 arch/arm/boot/dts/imx7d-colibri-aster.dts
create mode 100644 arch/arm/boot/dts/imx7d-colibri-emmc-aster.dts
create mode 100644 arch/arm/boot/dts/imx7s-colibri-aster.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index e006fef77499..6165d5d3a008 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -610,6 +610,8 @@ dtb-$(CONFIG_SOC_IMX6UL) += \
imx6ulz-14x14-evk.dtb
dtb-$(CONFIG_SOC_IMX7D) += \
imx7d-cl-som-imx7.dtb \
+ imx7d-colibri-aster.dtb \
+ imx7d-colibri-emmc-aster.dtb \
imx7d-colibri-emmc-eval-v3.dtb \
imx7d-colibri-eval-v3.dtb \
imx7d-mba7.dtb \
@@ -623,6 +625,7 @@ dtb-$(CONFIG_SOC_IMX7D) += \
imx7d-sdb-sht11.dtb \
imx7d-zii-rmu2.dtb \
imx7d-zii-rpu2.dtb \
+ imx7s-colibri-aster.dtb \
imx7s-colibri-eval-v3.dtb \
imx7s-mba7.dtb \
imx7s-warp.dtb
diff --git a/arch/arm/boot/dts/imx7-colibri-aster.dtsi b/arch/arm/boot/dts/imx7-colibri-aster.dtsi
new file mode 100644
index 000000000000..776dacdbbe30
--- /dev/null
+++ b/arch/arm/boot/dts/imx7-colibri-aster.dtsi
@@ -0,0 +1,191 @@
+// SPDX-License-Identifier: (GPL-2.0 OR X11)
+/*
+ * Copyright 2017-2020 Toradex AG
+ *
+ */
+
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/pwm/pwm.h>
+
+/ {
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpiokeys>;
+
+ power {
+ label = "Wake-Up";
+ gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
+ linux,code = <KEY_WAKEUP>;
+ debounce-interval = <10>;
+ wakeup-source;
+ };
+ };
+
+ panel: panel {
+ compatible = "edt,et057090dhu";
+ backlight = <&bl>;
+ power-supply = <&reg_3v3>;
+
+ port {
+ panel_in: endpoint {
+ remote-endpoint = <&lcdif_out>;
+ };
+ };
+ };
+
+ reg_3v3: regulator-3v3 {
+ compatible = "regulator-fixed";
+ regulator-name = "3.3V";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ reg_5v0: regulator-5v0 {
+ compatible = "regulator-fixed";
+ regulator-name = "5V";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ };
+
+ reg_usbh_vbus: regulator-usbh-vbus {
+ compatible = "regulator-fixed";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usbh_reg>;
+ regulator-name = "VCC_USB[1-4]";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ gpio = <&gpio4 7 GPIO_ACTIVE_LOW>;
+ vin-supply = <&reg_5v0>;
+ };
+};
+
+&bl {
+ brightness-levels = <0 4 8 16 32 64 128 255>;
+ default-brightness-level = <6>;
+ power-supply = <&reg_3v3>;
+
+ status = "okay";
+};
+
+&adc1 {
+ status = "okay";
+};
+
+/*
+ * ADC2 is not available on the Aster board and
+ * conflicts with AD7879 resistive touchscreen.
+ */
+&adc2 {
+ status = "disabled";
+};
+
+&ecspi3 {
+ cs-gpios = <
+ &gpio4 11 GPIO_ACTIVE_HIGH
+ &gpio4 23 GPIO_ACTIVE_HIGH
+ >;
+ status = "okay";
+
+ spidev0: spidev@0 {
+ compatible = "toradex,evalspi";
+ reg = <0>;
+ spi-max-frequency = <23000000>;
+ };
+
+ spidev1: spidev@1 {
+ compatible = "toradex,evalspi";
+ reg = <1>;
+ spi-max-frequency = <23000000>;
+ };
+};
+
+&fec1 {
+ status = "okay";
+};
+
+&i2c4 {
+ status = "okay";
+
+ /* Microchip/Atmel maxtouch controller */
+ touchscreen@4a {
+ compatible = "atmel,maxtouch";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpiotouch>;
+ reg = <0x4a>;
+ interrupt-parent = <&gpio2>;
+ interrupts = <15 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 107 */
+ reset-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>; /* SODIMM 106 */
+ status = "okay";
+ };
+
+ /* M41T0M6 real time clock on carrier board */
+ rtc: m41t0m6@68 {
+ compatible = "st,m41t0";
+ reg = <0x68>;
+ };
+};
+
+&lcdif {
+ status = "okay";
+
+ port {
+ lcdif_out: endpoint {
+ remote-endpoint = <&panel_in>;
+ };
+ };
+};
+
+&pwm1 {
+ status = "okay";
+};
+
+&pwm2 {
+ status = "okay";
+};
+
+&pwm3 {
+ status = "okay";
+};
+
+&pwm4 {
+ status = "okay";
+};
+
+&uart1 {
+ status = "okay";
+};
+
+&uart2 {
+ status = "okay";
+};
+
+&uart3 {
+ status = "okay";
+};
+
+&usbotg1 {
+ status = "okay";
+};
+
+&usdhc1 {
+ keep-power-in-suspend;
+ no-1-8-v;
+ wakeup-source;
+ vmmc-supply = <&reg_3v3>;
+ status = "okay";
+};
+
+&iomuxc {
+ pinctrl_gpiotouch: touchgpios {
+ fsl,pins = <
+ MX7D_PAD_EPDC_DATA15__GPIO2_IO15 0x74
+ MX7D_PAD_EPDC_BDR0__GPIO2_IO28 0x14
+ >;
+ };
+};
diff --git a/arch/arm/boot/dts/imx7-colibri.dtsi b/arch/arm/boot/dts/imx7-colibri.dtsi
index 7b4e81412381..fc075f2465eb 100644
--- a/arch/arm/boot/dts/imx7-colibri.dtsi
+++ b/arch/arm/boot/dts/imx7-colibri.dtsi
@@ -321,7 +321,6 @@ MX7D_PAD_LCD_RESET__GPIO3_IO4 0x14 /* SODIMM 93 */
MX7D_PAD_EPDC_DATA13__GPIO2_IO13 0x14 /* SODIMM 95 */
MX7D_PAD_ENET1_RGMII_TXC__GPIO7_IO11 0x14 /* SODIMM 99 */
MX7D_PAD_EPDC_DATA10__GPIO2_IO10 0x74 /* SODIMM 105 */
- MX7D_PAD_EPDC_DATA15__GPIO2_IO15 0x74 /* SODIMM 107 */
MX7D_PAD_EPDC_DATA00__GPIO2_IO0 0x14 /* SODIMM 111 */
MX7D_PAD_EPDC_DATA01__GPIO2_IO1 0x14 /* SODIMM 113 */
MX7D_PAD_EPDC_DATA02__GPIO2_IO2 0x14 /* SODIMM 115 */
@@ -338,7 +337,6 @@ MX7D_PAD_SAI1_RX_BCLK__GPIO6_IO17 0x14 /* SODIMM 24 */
MX7D_PAD_SD2_DATA2__GPIO5_IO16 0x14 /* SODIMM 100 */
MX7D_PAD_SD2_DATA3__GPIO5_IO17 0x14 /* SODIMM 102 */
MX7D_PAD_EPDC_GDSP__GPIO2_IO27 0x14 /* SODIMM 104 */
- MX7D_PAD_EPDC_BDR0__GPIO2_IO28 0x74 /* SODIMM 106 */
MX7D_PAD_EPDC_BDR1__GPIO2_IO29 0x14 /* SODIMM 110 */
MX7D_PAD_EPDC_PWR_COM__GPIO2_IO30 0x14 /* SODIMM 112 */
MX7D_PAD_EPDC_SDCLK__GPIO2_IO16 0x14 /* SODIMM 114 */
diff --git a/arch/arm/boot/dts/imx7d-colibri-aster.dts b/arch/arm/boot/dts/imx7d-colibri-aster.dts
new file mode 100644
index 000000000000..1e84e47a00fc
--- /dev/null
+++ b/arch/arm/boot/dts/imx7d-colibri-aster.dts
@@ -0,0 +1,20 @@
+// SPDX-License-Identifier: (GPL-2.0 OR X11)
+/*
+ * Copyright 2017-2020 Toradex AG
+ *
+ */
+
+/dts-v1/;
+#include "imx7d-colibri.dtsi"
+#include "imx7-colibri-aster.dtsi"
+
+/ {
+ model = "Toradex Colibri iMX7D on Colibri Aster Board";
+ compatible = "toradex,colibri-imx7d-aster", "toradex,colibri-imx7d",
+ "fsl,imx7d";
+};
+
+&usbotg2 {
+ vbus-supply = <&reg_usbh_vbus>;
+ status = "okay";
+};
diff --git a/arch/arm/boot/dts/imx7d-colibri-emmc-aster.dts b/arch/arm/boot/dts/imx7d-colibri-emmc-aster.dts
new file mode 100644
index 000000000000..9caaac6ecf5c
--- /dev/null
+++ b/arch/arm/boot/dts/imx7d-colibri-emmc-aster.dts
@@ -0,0 +1,20 @@
+// SPDX-License-Identifier: GPL-2.0 OR X11
+/*
+ * Copyright 2017-2020 Toradex AG
+ *
+ */
+
+/dts-v1/;
+#include "imx7d-colibri-emmc.dtsi"
+#include "imx7-colibri-aster.dtsi"
+
+/ {
+ model = "Toradex Colibri iMX7D 1GB (eMMC) on Colibri Aster Board";
+ compatible = "toradex,colibri-imx7d-emmc-aster",
+ "toradex,colibri-imx7d-emmc", "fsl,imx7d";
+};
+
+&usbotg2 {
+ vbus-supply = <&reg_usbh_vbus>;
+ status = "okay";
+};
diff --git a/arch/arm/boot/dts/imx7s-colibri-aster.dts b/arch/arm/boot/dts/imx7s-colibri-aster.dts
new file mode 100644
index 000000000000..6fb981f3f801
--- /dev/null
+++ b/arch/arm/boot/dts/imx7s-colibri-aster.dts
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: (GPL-2.0 OR X11)
+/*
+ * Copyright 2017-2020 Toradex AG
+ *
+ */
+
+/dts-v1/;
+#include "imx7s-colibri.dtsi"
+#include "imx7-colibri-aster.dtsi"
+
+/ {
+ model = "Toradex Colibri iMX7S on Colibri Aster Board";
+ compatible = "toradex,colibri-imx7s-aster", "toradex,colibri-imx7s",
+ "fsl,imx7s";
+};
--
2.24.1

2020-02-04 11:15:13

by Oleksandr Suvorov

[permalink] [raw]
Subject: [PATCH 4/6] ARM: imx_v6_v7_defconfig: Enable TOUCHSCREEN_ATMEL_MXT

Toradex iMX6/iMX7-based modules and boards support LCDs
with an MicroChip ATMXT1066T2 touchscreen controller.

This patch enables the TOUCHSCREEN_ATMEL_MXT which supports
MXT-series controllers, including the ATMXT1066T2.

Signed-off-by: Oleksandr Suvorov <[email protected]>
---

arch/arm/configs/imx_v6_v7_defconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig
index 8f216a599735..7cf452ddaa0a 100644
--- a/arch/arm/configs/imx_v6_v7_defconfig
+++ b/arch/arm/configs/imx_v6_v7_defconfig
@@ -179,6 +179,7 @@ CONFIG_MOUSE_PS2=m
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_ADS7846=y
+CONFIG_TOUCHSCREEN_ATMEL_MXT=y
CONFIG_TOUCHSCREEN_DA9052=y
CONFIG_TOUCHSCREEN_EGALAX=y
CONFIG_TOUCHSCREEN_GOODIX=y
--
2.24.1

2020-02-14 06:32:26

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH 1/6] ARM: dts: imx7-colibri: add alias for RTC

On Tue, Feb 04, 2020 at 01:11:46PM +0200, Oleksandr Suvorov wrote:
> Make sure that the priority of the RTCs is defined.
>
> Signed-off-by: Stefan Agner <[email protected]>
> Signed-off-by: Oleksandr Suvorov <[email protected]>

Applied, thanks.

2020-02-14 08:33:07

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH 2/6] ARM: dts: imx7-colibri: fix muxing of usbc_det pin

On Tue, Feb 04, 2020 at 01:11:47PM +0200, Oleksandr Suvorov wrote:
> USB_C_DET pin shouldn't be in ethernet group.
>
> Creating a separate group allows one to use this pin
> as an USB ID pin.
>
> Fixes: b326629f25b7 ("ARM: dts: imx7: add Toradex Colibri iMX7S/iMX7D suppor")
> Signed-off-by: Oleksandr Suvorov <[email protected]>

Applied, thanks.

2020-02-14 08:36:01

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH 3/6] ARM: dts: imx7-colibri: Convert to SPDX license tags for Colibri iMX7

On Tue, Feb 04, 2020 at 01:11:48PM +0200, Oleksandr Suvorov wrote:
> Replace boiler plate licenses texts with the SPDX license identifiers in
> Colibri iMX7 DTS files.
>
> Signed-off-by: Oleksandr Suvorov <[email protected]>
> ---
>
> arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi | 40 ++-------------------
> arch/arm/boot/dts/imx7-colibri.dtsi | 40 ++-------------------
> arch/arm/boot/dts/imx7d-colibri-eval-v3.dts | 40 ++-------------------
> arch/arm/boot/dts/imx7s-colibri-eval-v3.dts | 40 ++-------------------
> 4 files changed, 8 insertions(+), 152 deletions(-)
>
> diff --git a/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi b/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi
> index 9e9e85c10acb..287d88e3deb8 100644
> --- a/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi
> +++ b/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi
> @@ -1,43 +1,7 @@
> +// SPDX-License-Identifier: (GPL-2.0 OR X11)

DT maintainer prefers to MIT over X11.

Shawn

> /*
> - * Copyright 2016 Toradex AG
> + * Copyright 2016-2020 Toradex AG
> *
> - * This file is dual-licensed: you can use it either under the terms
> - * of the GPL or the X11 license, at your option. Note that this dual
> - * licensing only applies to this file, and not this project as a
> - * whole.
> - *
> - * a) This file is free software; you can redistribute it and/or
> - * modify it under the terms of the GNU General Public License as
> - * published by the Free Software Foundation; either version 2 of the
> - * License, or (at your option) any later version.
> - *
> - * This file is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> - * GNU General Public License for more details.
> - *
> - * Or, alternatively,
> - *
> - * b) Permission is hereby granted, free of charge, to any person
> - * obtaining a copy of this software and associated documentation
> - * files (the "Software"), to deal in the Software without
> - * restriction, including without limitation the rights to use,
> - * copy, modify, merge, publish, distribute, sublicense, and/or
> - * sell copies of the Software, and to permit persons to whom the
> - * Software is furnished to do so, subject to the following
> - * conditions:
> - *
> - * The above copyright notice and this permission notice shall be
> - * included in all copies or substantial portions of the Software.
> - *
> - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
> - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
> - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
> - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
> - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> - * OTHER DEALINGS IN THE SOFTWARE.
> */
>
> / {
> diff --git a/arch/arm/boot/dts/imx7-colibri.dtsi b/arch/arm/boot/dts/imx7-colibri.dtsi
> index f18a7c9e1303..7b4e81412381 100644
> --- a/arch/arm/boot/dts/imx7-colibri.dtsi
> +++ b/arch/arm/boot/dts/imx7-colibri.dtsi
> @@ -1,43 +1,7 @@
> +// SPDX-License-Identifier: (GPL-2.0 OR X11)
> /*
> - * Copyright 2016 Toradex AG
> + * Copyright 2016-20 Toradex AG
> *
> - * This file is dual-licensed: you can use it either under the terms
> - * of the GPL or the X11 license, at your option. Note that this dual
> - * licensing only applies to this file, and not this project as a
> - * whole.
> - *
> - * a) This file is free software; you can redistribute it and/or
> - * modify it under the terms of the GNU General Public License as
> - * published by the Free Software Foundation; either version 2 of the
> - * License, or (at your option) any later version.
> - *
> - * This file is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> - * GNU General Public License for more details.
> - *
> - * Or, alternatively,
> - *
> - * b) Permission is hereby granted, free of charge, to any person
> - * obtaining a copy of this software and associated documentation
> - * files (the "Software"), to deal in the Software without
> - * restriction, including without limitation the rights to use,
> - * copy, modify, merge, publish, distribute, sublicense, and/or
> - * sell copies of the Software, and to permit persons to whom the
> - * Software is furnished to do so, subject to the following
> - * conditions:
> - *
> - * The above copyright notice and this permission notice shall be
> - * included in all copies or substantial portions of the Software.
> - *
> - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
> - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
> - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
> - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
> - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> - * OTHER DEALINGS IN THE SOFTWARE.
> */
>
> / {
> diff --git a/arch/arm/boot/dts/imx7d-colibri-eval-v3.dts b/arch/arm/boot/dts/imx7d-colibri-eval-v3.dts
> index 136e11ab4893..1808759e718b 100644
> --- a/arch/arm/boot/dts/imx7d-colibri-eval-v3.dts
> +++ b/arch/arm/boot/dts/imx7d-colibri-eval-v3.dts
> @@ -1,43 +1,7 @@
> +// SPDX-License-Identifier: (GPL-2.0 OR X11)
> /*
> - * Copyright 2016 Toradex AG
> + * Copyright 2016-2020 Toradex AG
> *
> - * This file is dual-licensed: you can use it either under the terms
> - * of the GPL or the X11 license, at your option. Note that this dual
> - * licensing only applies to this file, and not this project as a
> - * whole.
> - *
> - * a) This file is free software; you can redistribute it and/or
> - * modify it under the terms of the GNU General Public License as
> - * published by the Free Software Foundation; either version 2 of the
> - * License, or (at your option) any later version.
> - *
> - * This file is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> - * GNU General Public License for more details.
> - *
> - * Or, alternatively,
> - *
> - * b) Permission is hereby granted, free of charge, to any person
> - * obtaining a copy of this software and associated documentation
> - * files (the "Software"), to deal in the Software without
> - * restriction, including without limitation the rights to use,
> - * copy, modify, merge, publish, distribute, sublicense, and/or
> - * sell copies of the Software, and to permit persons to whom the
> - * Software is furnished to do so, subject to the following
> - * conditions:
> - *
> - * The above copyright notice and this permission notice shall be
> - * included in all copies or substantial portions of the Software.
> - *
> - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
> - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
> - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
> - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
> - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> - * OTHER DEALINGS IN THE SOFTWARE.
> */
>
> /dts-v1/;
> diff --git a/arch/arm/boot/dts/imx7s-colibri-eval-v3.dts b/arch/arm/boot/dts/imx7s-colibri-eval-v3.dts
> index bd2a49c1ade6..b0ad98c119d4 100644
> --- a/arch/arm/boot/dts/imx7s-colibri-eval-v3.dts
> +++ b/arch/arm/boot/dts/imx7s-colibri-eval-v3.dts
> @@ -1,43 +1,7 @@
> +// SPDX-License-Identifier: (GPL-2.0 OR X11)
> /*
> - * Copyright 2016 Toradex AG
> + * Copyright 2016-2020 Toradex AG
> *
> - * This file is dual-licensed: you can use it either under the terms
> - * of the GPL or the X11 license, at your option. Note that this dual
> - * licensing only applies to this file, and not this project as a
> - * whole.
> - *
> - * a) This file is free software; you can redistribute it and/or
> - * modify it under the terms of the GNU General Public License as
> - * published by the Free Software Foundation; either version 2 of the
> - * License, or (at your option) any later version.
> - *
> - * This file is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> - * GNU General Public License for more details.
> - *
> - * Or, alternatively,
> - *
> - * b) Permission is hereby granted, free of charge, to any person
> - * obtaining a copy of this software and associated documentation
> - * files (the "Software"), to deal in the Software without
> - * restriction, including without limitation the rights to use,
> - * copy, modify, merge, publish, distribute, sublicense, and/or
> - * sell copies of the Software, and to permit persons to whom the
> - * Software is furnished to do so, subject to the following
> - * conditions:
> - *
> - * The above copyright notice and this permission notice shall be
> - * included in all copies or substantial portions of the Software.
> - *
> - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
> - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
> - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
> - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
> - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> - * OTHER DEALINGS IN THE SOFTWARE.
> */
>
> /dts-v1/;
> --
> 2.24.1
>

2020-02-14 08:38:13

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH 4/6] ARM: imx_v6_v7_defconfig: Enable TOUCHSCREEN_ATMEL_MXT

On Tue, Feb 04, 2020 at 01:11:49PM +0200, Oleksandr Suvorov wrote:
> Toradex iMX6/iMX7-based modules and boards support LCDs
> with an MicroChip ATMXT1066T2 touchscreen controller.
>
> This patch enables the TOUCHSCREEN_ATMEL_MXT which supports
> MXT-series controllers, including the ATMXT1066T2.
>
> Signed-off-by: Oleksandr Suvorov <[email protected]>

Applied, thanks.

2020-02-14 08:44:51

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH 6/6] ARM: dts: imx7-colibri: add support for Toradex Aster carrier board

On Tue, Feb 04, 2020 at 01:11:51PM +0200, Oleksandr Suvorov wrote:
> Add support for the Toradex Aster carrier board.
>
> Follow the usual hierarchic include model, maintaining shared
> configuration imx7-colibri-aster.dtsi.
>
> Signed-off-by: Oleksandr Suvorov <[email protected]>
> ---
>
> arch/arm/boot/dts/Makefile | 3 +
> arch/arm/boot/dts/imx7-colibri-aster.dtsi | 191 ++++++++++++++++++
> arch/arm/boot/dts/imx7-colibri.dtsi | 2 -
> arch/arm/boot/dts/imx7d-colibri-aster.dts | 20 ++
> .../arm/boot/dts/imx7d-colibri-emmc-aster.dts | 20 ++
> arch/arm/boot/dts/imx7s-colibri-aster.dts | 15 ++
> 6 files changed, 249 insertions(+), 2 deletions(-)
> create mode 100644 arch/arm/boot/dts/imx7-colibri-aster.dtsi
> create mode 100644 arch/arm/boot/dts/imx7d-colibri-aster.dts
> create mode 100644 arch/arm/boot/dts/imx7d-colibri-emmc-aster.dts
> create mode 100644 arch/arm/boot/dts/imx7s-colibri-aster.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index e006fef77499..6165d5d3a008 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -610,6 +610,8 @@ dtb-$(CONFIG_SOC_IMX6UL) += \
> imx6ulz-14x14-evk.dtb
> dtb-$(CONFIG_SOC_IMX7D) += \
> imx7d-cl-som-imx7.dtb \
> + imx7d-colibri-aster.dtb \
> + imx7d-colibri-emmc-aster.dtb \
> imx7d-colibri-emmc-eval-v3.dtb \
> imx7d-colibri-eval-v3.dtb \
> imx7d-mba7.dtb \
> @@ -623,6 +625,7 @@ dtb-$(CONFIG_SOC_IMX7D) += \
> imx7d-sdb-sht11.dtb \
> imx7d-zii-rmu2.dtb \
> imx7d-zii-rpu2.dtb \
> + imx7s-colibri-aster.dtb \
> imx7s-colibri-eval-v3.dtb \
> imx7s-mba7.dtb \
> imx7s-warp.dtb
> diff --git a/arch/arm/boot/dts/imx7-colibri-aster.dtsi b/arch/arm/boot/dts/imx7-colibri-aster.dtsi
> new file mode 100644
> index 000000000000..776dacdbbe30
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx7-colibri-aster.dtsi
> @@ -0,0 +1,191 @@
> +// SPDX-License-Identifier: (GPL-2.0 OR X11)

MIT

> +/*
> + * Copyright 2017-2020 Toradex AG
> + *
> + */
> +
> +
> +#include <dt-bindings/input/input.h>
> +#include <dt-bindings/pwm/pwm.h>
> +
> +/ {
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
> +
> + gpio-keys {
> + compatible = "gpio-keys";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_gpiokeys>;
> +
> + power {
> + label = "Wake-Up";
> + gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
> + linux,code = <KEY_WAKEUP>;
> + debounce-interval = <10>;
> + wakeup-source;
> + };
> + };
> +
> + panel: panel {
> + compatible = "edt,et057090dhu";
> + backlight = <&bl>;
> + power-supply = <&reg_3v3>;
> +
> + port {
> + panel_in: endpoint {
> + remote-endpoint = <&lcdif_out>;
> + };
> + };
> + };
> +
> + reg_3v3: regulator-3v3 {
> + compatible = "regulator-fixed";
> + regulator-name = "3.3V";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +
> + reg_5v0: regulator-5v0 {
> + compatible = "regulator-fixed";
> + regulator-name = "5V";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + };
> +
> + reg_usbh_vbus: regulator-usbh-vbus {
> + compatible = "regulator-fixed";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_usbh_reg>;
> + regulator-name = "VCC_USB[1-4]";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + gpio = <&gpio4 7 GPIO_ACTIVE_LOW>;
> + vin-supply = <&reg_5v0>;
> + };
> +};
> +
> +&bl {
> + brightness-levels = <0 4 8 16 32 64 128 255>;
> + default-brightness-level = <6>;
> + power-supply = <&reg_3v3>;
> +

Drop this newline.

> + status = "okay";
> +};
> +
> +&adc1 {

Sort nodes alphabetically.

> + status = "okay";
> +};
> +
> +/*
> + * ADC2 is not available on the Aster board and
> + * conflicts with AD7879 resistive touchscreen.
> + */
> +&adc2 {
> + status = "disabled";
> +};
> +
> +&ecspi3 {
> + cs-gpios = <
> + &gpio4 11 GPIO_ACTIVE_HIGH
> + &gpio4 23 GPIO_ACTIVE_HIGH
> + >;
> + status = "okay";
> +
> + spidev0: spidev@0 {
> + compatible = "toradex,evalspi";

Undocumented compatible?

> + reg = <0>;
> + spi-max-frequency = <23000000>;
> + };
> +
> + spidev1: spidev@1 {
> + compatible = "toradex,evalspi";
> + reg = <1>;
> + spi-max-frequency = <23000000>;
> + };
> +};
> +
> +&fec1 {
> + status = "okay";
> +};
> +
> +&i2c4 {
> + status = "okay";
> +
> + /* Microchip/Atmel maxtouch controller */
> + touchscreen@4a {
> + compatible = "atmel,maxtouch";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_gpiotouch>;
> + reg = <0x4a>;
> + interrupt-parent = <&gpio2>;
> + interrupts = <15 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 107 */
> + reset-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>; /* SODIMM 106 */
> + status = "okay";

We use okay status to flip disabled device. It's not really necessary
here, right?

> + };
> +
> + /* M41T0M6 real time clock on carrier board */
> + rtc: m41t0m6@68 {
> + compatible = "st,m41t0";
> + reg = <0x68>;
> + };
> +};
> +
> +&lcdif {
> + status = "okay";
> +
> + port {
> + lcdif_out: endpoint {
> + remote-endpoint = <&panel_in>;
> + };
> + };
> +};
> +
> +&pwm1 {
> + status = "okay";
> +};
> +
> +&pwm2 {
> + status = "okay";
> +};
> +
> +&pwm3 {
> + status = "okay";
> +};
> +
> +&pwm4 {
> + status = "okay";
> +};
> +
> +&uart1 {
> + status = "okay";
> +};
> +
> +&uart2 {
> + status = "okay";
> +};
> +
> +&uart3 {
> + status = "okay";
> +};
> +
> +&usbotg1 {
> + status = "okay";
> +};
> +
> +&usdhc1 {
> + keep-power-in-suspend;
> + no-1-8-v;
> + wakeup-source;
> + vmmc-supply = <&reg_3v3>;
> + status = "okay";
> +};
> +
> +&iomuxc {
> + pinctrl_gpiotouch: touchgpios {
> + fsl,pins = <
> + MX7D_PAD_EPDC_DATA15__GPIO2_IO15 0x74
> + MX7D_PAD_EPDC_BDR0__GPIO2_IO28 0x14
> + >;
> + };
> +};
> diff --git a/arch/arm/boot/dts/imx7-colibri.dtsi b/arch/arm/boot/dts/imx7-colibri.dtsi
> index 7b4e81412381..fc075f2465eb 100644
> --- a/arch/arm/boot/dts/imx7-colibri.dtsi
> +++ b/arch/arm/boot/dts/imx7-colibri.dtsi
> @@ -321,7 +321,6 @@ MX7D_PAD_LCD_RESET__GPIO3_IO4 0x14 /* SODIMM 93 */
> MX7D_PAD_EPDC_DATA13__GPIO2_IO13 0x14 /* SODIMM 95 */
> MX7D_PAD_ENET1_RGMII_TXC__GPIO7_IO11 0x14 /* SODIMM 99 */
> MX7D_PAD_EPDC_DATA10__GPIO2_IO10 0x74 /* SODIMM 105 */
> - MX7D_PAD_EPDC_DATA15__GPIO2_IO15 0x74 /* SODIMM 107 */
> MX7D_PAD_EPDC_DATA00__GPIO2_IO0 0x14 /* SODIMM 111 */
> MX7D_PAD_EPDC_DATA01__GPIO2_IO1 0x14 /* SODIMM 113 */
> MX7D_PAD_EPDC_DATA02__GPIO2_IO2 0x14 /* SODIMM 115 */
> @@ -338,7 +337,6 @@ MX7D_PAD_SAI1_RX_BCLK__GPIO6_IO17 0x14 /* SODIMM 24 */
> MX7D_PAD_SD2_DATA2__GPIO5_IO16 0x14 /* SODIMM 100 */
> MX7D_PAD_SD2_DATA3__GPIO5_IO17 0x14 /* SODIMM 102 */
> MX7D_PAD_EPDC_GDSP__GPIO2_IO27 0x14 /* SODIMM 104 */
> - MX7D_PAD_EPDC_BDR0__GPIO2_IO28 0x74 /* SODIMM 106 */
> MX7D_PAD_EPDC_BDR1__GPIO2_IO29 0x14 /* SODIMM 110 */
> MX7D_PAD_EPDC_PWR_COM__GPIO2_IO30 0x14 /* SODIMM 112 */
> MX7D_PAD_EPDC_SDCLK__GPIO2_IO16 0x14 /* SODIMM 114 */
> diff --git a/arch/arm/boot/dts/imx7d-colibri-aster.dts b/arch/arm/boot/dts/imx7d-colibri-aster.dts
> new file mode 100644
> index 000000000000..1e84e47a00fc
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx7d-colibri-aster.dts
> @@ -0,0 +1,20 @@
> +// SPDX-License-Identifier: (GPL-2.0 OR X11)
> +/*
> + * Copyright 2017-2020 Toradex AG
> + *
> + */
> +
> +/dts-v1/;
> +#include "imx7d-colibri.dtsi"
> +#include "imx7-colibri-aster.dtsi"
> +
> +/ {
> + model = "Toradex Colibri iMX7D on Colibri Aster Board";
> + compatible = "toradex,colibri-imx7d-aster", "toradex,colibri-imx7d",

Any new compatible needs to be documented.

Shawn

> + "fsl,imx7d";
> +};
> +
> +&usbotg2 {
> + vbus-supply = <&reg_usbh_vbus>;
> + status = "okay";
> +};
> diff --git a/arch/arm/boot/dts/imx7d-colibri-emmc-aster.dts b/arch/arm/boot/dts/imx7d-colibri-emmc-aster.dts
> new file mode 100644
> index 000000000000..9caaac6ecf5c
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx7d-colibri-emmc-aster.dts
> @@ -0,0 +1,20 @@
> +// SPDX-License-Identifier: GPL-2.0 OR X11
> +/*
> + * Copyright 2017-2020 Toradex AG
> + *
> + */
> +
> +/dts-v1/;
> +#include "imx7d-colibri-emmc.dtsi"
> +#include "imx7-colibri-aster.dtsi"
> +
> +/ {
> + model = "Toradex Colibri iMX7D 1GB (eMMC) on Colibri Aster Board";
> + compatible = "toradex,colibri-imx7d-emmc-aster",
> + "toradex,colibri-imx7d-emmc", "fsl,imx7d";
> +};
> +
> +&usbotg2 {
> + vbus-supply = <&reg_usbh_vbus>;
> + status = "okay";
> +};
> diff --git a/arch/arm/boot/dts/imx7s-colibri-aster.dts b/arch/arm/boot/dts/imx7s-colibri-aster.dts
> new file mode 100644
> index 000000000000..6fb981f3f801
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx7s-colibri-aster.dts
> @@ -0,0 +1,15 @@
> +// SPDX-License-Identifier: (GPL-2.0 OR X11)
> +/*
> + * Copyright 2017-2020 Toradex AG
> + *
> + */
> +
> +/dts-v1/;
> +#include "imx7s-colibri.dtsi"
> +#include "imx7-colibri-aster.dtsi"
> +
> +/ {
> + model = "Toradex Colibri iMX7S on Colibri Aster Board";
> + compatible = "toradex,colibri-imx7s-aster", "toradex,colibri-imx7s",
> + "fsl,imx7s";
> +};
> --
> 2.24.1
>

2020-02-14 11:00:31

by Oleksandr Suvorov

[permalink] [raw]
Subject: Re: [PATCH 6/6] ARM: dts: imx7-colibri: add support for Toradex Aster carrier board

Hello Shawn,

Thanks for your extremely helpful review. I'll fix all the issues you
noted in the next patchset version.

On Fri, Feb 14, 2020 at 10:44 AM Shawn Guo <[email protected]> wrote:
>
> On Tue, Feb 04, 2020 at 01:11:51PM +0200, Oleksandr Suvorov wrote:
> > Add support for the Toradex Aster carrier board.
> >
> > Follow the usual hierarchic include model, maintaining shared
> > configuration imx7-colibri-aster.dtsi.
> >
> > Signed-off-by: Oleksandr Suvorov <[email protected]>
> > ---
> >
> > arch/arm/boot/dts/Makefile | 3 +
> > arch/arm/boot/dts/imx7-colibri-aster.dtsi | 191 ++++++++++++++++++
> > arch/arm/boot/dts/imx7-colibri.dtsi | 2 -
> > arch/arm/boot/dts/imx7d-colibri-aster.dts | 20 ++
> > .../arm/boot/dts/imx7d-colibri-emmc-aster.dts | 20 ++
> > arch/arm/boot/dts/imx7s-colibri-aster.dts | 15 ++
> > 6 files changed, 249 insertions(+), 2 deletions(-)
> > create mode 100644 arch/arm/boot/dts/imx7-colibri-aster.dtsi
> > create mode 100644 arch/arm/boot/dts/imx7d-colibri-aster.dts
> > create mode 100644 arch/arm/boot/dts/imx7d-colibri-emmc-aster.dts
> > create mode 100644 arch/arm/boot/dts/imx7s-colibri-aster.dts
> >
> > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> > index e006fef77499..6165d5d3a008 100644
> > --- a/arch/arm/boot/dts/Makefile
> > +++ b/arch/arm/boot/dts/Makefile
> > @@ -610,6 +610,8 @@ dtb-$(CONFIG_SOC_IMX6UL) += \
> > imx6ulz-14x14-evk.dtb
> > dtb-$(CONFIG_SOC_IMX7D) += \
> > imx7d-cl-som-imx7.dtb \
> > + imx7d-colibri-aster.dtb \
> > + imx7d-colibri-emmc-aster.dtb \
> > imx7d-colibri-emmc-eval-v3.dtb \
> > imx7d-colibri-eval-v3.dtb \
> > imx7d-mba7.dtb \
> > @@ -623,6 +625,7 @@ dtb-$(CONFIG_SOC_IMX7D) += \
> > imx7d-sdb-sht11.dtb \
> > imx7d-zii-rmu2.dtb \
> > imx7d-zii-rpu2.dtb \
> > + imx7s-colibri-aster.dtb \
> > imx7s-colibri-eval-v3.dtb \
> > imx7s-mba7.dtb \
> > imx7s-warp.dtb
> > diff --git a/arch/arm/boot/dts/imx7-colibri-aster.dtsi b/arch/arm/boot/dts/imx7-colibri-aster.dtsi
> > new file mode 100644
> > index 000000000000..776dacdbbe30
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/imx7-colibri-aster.dtsi
> > @@ -0,0 +1,191 @@
> > +// SPDX-License-Identifier: (GPL-2.0 OR X11)
>
> MIT
>
> > +/*
> > + * Copyright 2017-2020 Toradex AG
> > + *
> > + */
> > +
> > +
> > +#include <dt-bindings/input/input.h>
> > +#include <dt-bindings/pwm/pwm.h>
> > +
> > +/ {
> > + chosen {
> > + stdout-path = "serial0:115200n8";
> > + };
> > +
> > + gpio-keys {
> > + compatible = "gpio-keys";
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&pinctrl_gpiokeys>;
> > +
> > + power {
> > + label = "Wake-Up";
> > + gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
> > + linux,code = <KEY_WAKEUP>;
> > + debounce-interval = <10>;
> > + wakeup-source;
> > + };
> > + };
> > +
> > + panel: panel {
> > + compatible = "edt,et057090dhu";
> > + backlight = <&bl>;
> > + power-supply = <&reg_3v3>;
> > +
> > + port {
> > + panel_in: endpoint {
> > + remote-endpoint = <&lcdif_out>;
> > + };
> > + };
> > + };
> > +
> > + reg_3v3: regulator-3v3 {
> > + compatible = "regulator-fixed";
> > + regulator-name = "3.3V";
> > + regulator-min-microvolt = <3300000>;
> > + regulator-max-microvolt = <3300000>;
> > + };
> > +
> > + reg_5v0: regulator-5v0 {
> > + compatible = "regulator-fixed";
> > + regulator-name = "5V";
> > + regulator-min-microvolt = <5000000>;
> > + regulator-max-microvolt = <5000000>;
> > + };
> > +
> > + reg_usbh_vbus: regulator-usbh-vbus {
> > + compatible = "regulator-fixed";
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&pinctrl_usbh_reg>;
> > + regulator-name = "VCC_USB[1-4]";
> > + regulator-min-microvolt = <5000000>;
> > + regulator-max-microvolt = <5000000>;
> > + gpio = <&gpio4 7 GPIO_ACTIVE_LOW>;
> > + vin-supply = <&reg_5v0>;
> > + };
> > +};
> > +
> > +&bl {
> > + brightness-levels = <0 4 8 16 32 64 128 255>;
> > + default-brightness-level = <6>;
> > + power-supply = <&reg_3v3>;
> > +
>
> Drop this newline.
>
> > + status = "okay";
> > +};
> > +
> > +&adc1 {
>
> Sort nodes alphabetically.
>
> > + status = "okay";
> > +};
> > +
> > +/*
> > + * ADC2 is not available on the Aster board and
> > + * conflicts with AD7879 resistive touchscreen.
> > + */
> > +&adc2 {
> > + status = "disabled";
> > +};
> > +
> > +&ecspi3 {
> > + cs-gpios = <
> > + &gpio4 11 GPIO_ACTIVE_HIGH
> > + &gpio4 23 GPIO_ACTIVE_HIGH
> > + >;
> > + status = "okay";
> > +
> > + spidev0: spidev@0 {
> > + compatible = "toradex,evalspi";
>
> Undocumented compatible?
>
> > + reg = <0>;
> > + spi-max-frequency = <23000000>;
> > + };
> > +
> > + spidev1: spidev@1 {
> > + compatible = "toradex,evalspi";
> > + reg = <1>;
> > + spi-max-frequency = <23000000>;
> > + };
> > +};
> > +
> > +&fec1 {
> > + status = "okay";
> > +};
> > +
> > +&i2c4 {
> > + status = "okay";
> > +
> > + /* Microchip/Atmel maxtouch controller */
> > + touchscreen@4a {
> > + compatible = "atmel,maxtouch";
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&pinctrl_gpiotouch>;
> > + reg = <0x4a>;
> > + interrupt-parent = <&gpio2>;
> > + interrupts = <15 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 107 */
> > + reset-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>; /* SODIMM 106 */
> > + status = "okay";
>
> We use okay status to flip disabled device. It's not really necessary
> here, right?
>
> > + };
> > +
> > + /* M41T0M6 real time clock on carrier board */
> > + rtc: m41t0m6@68 {
> > + compatible = "st,m41t0";
> > + reg = <0x68>;
> > + };
> > +};
> > +
> > +&lcdif {
> > + status = "okay";
> > +
> > + port {
> > + lcdif_out: endpoint {
> > + remote-endpoint = <&panel_in>;
> > + };
> > + };
> > +};
> > +
> > +&pwm1 {
> > + status = "okay";
> > +};
> > +
> > +&pwm2 {
> > + status = "okay";
> > +};
> > +
> > +&pwm3 {
> > + status = "okay";
> > +};
> > +
> > +&pwm4 {
> > + status = "okay";
> > +};
> > +
> > +&uart1 {
> > + status = "okay";
> > +};
> > +
> > +&uart2 {
> > + status = "okay";
> > +};
> > +
> > +&uart3 {
> > + status = "okay";
> > +};
> > +
> > +&usbotg1 {
> > + status = "okay";
> > +};
> > +
> > +&usdhc1 {
> > + keep-power-in-suspend;
> > + no-1-8-v;
> > + wakeup-source;
> > + vmmc-supply = <&reg_3v3>;
> > + status = "okay";
> > +};
> > +
> > +&iomuxc {
> > + pinctrl_gpiotouch: touchgpios {
> > + fsl,pins = <
> > + MX7D_PAD_EPDC_DATA15__GPIO2_IO15 0x74
> > + MX7D_PAD_EPDC_BDR0__GPIO2_IO28 0x14
> > + >;
> > + };
> > +};
> > diff --git a/arch/arm/boot/dts/imx7-colibri.dtsi b/arch/arm/boot/dts/imx7-colibri.dtsi
> > index 7b4e81412381..fc075f2465eb 100644
> > --- a/arch/arm/boot/dts/imx7-colibri.dtsi
> > +++ b/arch/arm/boot/dts/imx7-colibri.dtsi
> > @@ -321,7 +321,6 @@ MX7D_PAD_LCD_RESET__GPIO3_IO4 0x14 /* SODIMM 93 */
> > MX7D_PAD_EPDC_DATA13__GPIO2_IO13 0x14 /* SODIMM 95 */
> > MX7D_PAD_ENET1_RGMII_TXC__GPIO7_IO11 0x14 /* SODIMM 99 */
> > MX7D_PAD_EPDC_DATA10__GPIO2_IO10 0x74 /* SODIMM 105 */
> > - MX7D_PAD_EPDC_DATA15__GPIO2_IO15 0x74 /* SODIMM 107 */
> > MX7D_PAD_EPDC_DATA00__GPIO2_IO0 0x14 /* SODIMM 111 */
> > MX7D_PAD_EPDC_DATA01__GPIO2_IO1 0x14 /* SODIMM 113 */
> > MX7D_PAD_EPDC_DATA02__GPIO2_IO2 0x14 /* SODIMM 115 */
> > @@ -338,7 +337,6 @@ MX7D_PAD_SAI1_RX_BCLK__GPIO6_IO17 0x14 /* SODIMM 24 */
> > MX7D_PAD_SD2_DATA2__GPIO5_IO16 0x14 /* SODIMM 100 */
> > MX7D_PAD_SD2_DATA3__GPIO5_IO17 0x14 /* SODIMM 102 */
> > MX7D_PAD_EPDC_GDSP__GPIO2_IO27 0x14 /* SODIMM 104 */
> > - MX7D_PAD_EPDC_BDR0__GPIO2_IO28 0x74 /* SODIMM 106 */
> > MX7D_PAD_EPDC_BDR1__GPIO2_IO29 0x14 /* SODIMM 110 */
> > MX7D_PAD_EPDC_PWR_COM__GPIO2_IO30 0x14 /* SODIMM 112 */
> > MX7D_PAD_EPDC_SDCLK__GPIO2_IO16 0x14 /* SODIMM 114 */
> > diff --git a/arch/arm/boot/dts/imx7d-colibri-aster.dts b/arch/arm/boot/dts/imx7d-colibri-aster.dts
> > new file mode 100644
> > index 000000000000..1e84e47a00fc
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/imx7d-colibri-aster.dts
> > @@ -0,0 +1,20 @@
> > +// SPDX-License-Identifier: (GPL-2.0 OR X11)
> > +/*
> > + * Copyright 2017-2020 Toradex AG
> > + *
> > + */
> > +
> > +/dts-v1/;
> > +#include "imx7d-colibri.dtsi"
> > +#include "imx7-colibri-aster.dtsi"
> > +
> > +/ {
> > + model = "Toradex Colibri iMX7D on Colibri Aster Board";
> > + compatible = "toradex,colibri-imx7d-aster", "toradex,colibri-imx7d",
>
> Any new compatible needs to be documented.
>
> Shawn
>
> > + "fsl,imx7d";
> > +};
> > +
> > +&usbotg2 {
> > + vbus-supply = <&reg_usbh_vbus>;
> > + status = "okay";
> > +};
> > diff --git a/arch/arm/boot/dts/imx7d-colibri-emmc-aster.dts b/arch/arm/boot/dts/imx7d-colibri-emmc-aster.dts
> > new file mode 100644
> > index 000000000000..9caaac6ecf5c
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/imx7d-colibri-emmc-aster.dts
> > @@ -0,0 +1,20 @@
> > +// SPDX-License-Identifier: GPL-2.0 OR X11
> > +/*
> > + * Copyright 2017-2020 Toradex AG
> > + *
> > + */
> > +
> > +/dts-v1/;
> > +#include "imx7d-colibri-emmc.dtsi"
> > +#include "imx7-colibri-aster.dtsi"
> > +
> > +/ {
> > + model = "Toradex Colibri iMX7D 1GB (eMMC) on Colibri Aster Board";
> > + compatible = "toradex,colibri-imx7d-emmc-aster",
> > + "toradex,colibri-imx7d-emmc", "fsl,imx7d";
> > +};
> > +
> > +&usbotg2 {
> > + vbus-supply = <&reg_usbh_vbus>;
> > + status = "okay";
> > +};
> > diff --git a/arch/arm/boot/dts/imx7s-colibri-aster.dts b/arch/arm/boot/dts/imx7s-colibri-aster.dts
> > new file mode 100644
> > index 000000000000..6fb981f3f801
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/imx7s-colibri-aster.dts
> > @@ -0,0 +1,15 @@
> > +// SPDX-License-Identifier: (GPL-2.0 OR X11)
> > +/*
> > + * Copyright 2017-2020 Toradex AG
> > + *
> > + */
> > +
> > +/dts-v1/;
> > +#include "imx7s-colibri.dtsi"
> > +#include "imx7-colibri-aster.dtsi"
> > +
> > +/ {
> > + model = "Toradex Colibri iMX7S on Colibri Aster Board";
> > + compatible = "toradex,colibri-imx7s-aster", "toradex,colibri-imx7s",
> > + "fsl,imx7s";
> > +};
> > --
> > 2.24.1
> >



--
Best regards
Oleksandr Suvorov

Toradex AG
Altsagenstrasse 5 | 6048 Horw/Luzern | Switzerland | T: +41 41 500
4800 (main line)