ARM: at91: Add GARDENA smart Gateway (Art. 19000) support

This patch adds support for the GARDENA smart Gateway, which is based on
the Atmel AT91SAM9G25. It is equipped with 128 MiB of DDR2 RAM and
256 MiB NAND storage.

Please note that this gateway is not actually based on a AT91SAM9x5 EK
board, but is close enough to allow its DT to be used.

Co-developed-by: Stefan Roese <sr@denx.de>
Co-developed-by: Michael Zimmermann <michael.zimmermann@grandcentrix.net>
Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Michael Zimmermann <michael.zimmermann@grandcentrix.net>
Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20200822151023.31629-2-code@reto-schneider.ch
This commit is contained in:
Reto Schneider 2020-08-22 17:10:21 +02:00 committed by Alexandre Belloni
parent c05a4bff5c
commit 25ffa0dde5
2 changed files with 159 additions and 0 deletions

View File

@ -43,6 +43,7 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
at91-smartkiz.dtb \
at91-wb45n.dtb \
at91sam9g15ek.dtb \
at91sam9g25-gardena-smart-gateway.dtb \
at91sam9g25ek.dtb \
at91sam9g35ek.dtb \
at91sam9x25ek.dtb \

View File

@ -0,0 +1,158 @@
// SPDX-License-Identifier: GPL-2.0+
/*
* Device Tree file for the GARDENA smart Gateway (Article No. 19000)
*
* Copyright (C) 2020 GARDENA GmbH
*/
/dts-v1/;
#include "at91sam9g25.dtsi"
#include "at91sam9x5ek.dtsi"
#include <dt-bindings/input/input.h>
/ {
model = "GARDENA smart Gateway (Article No. 19000)";
compatible = "gardena,smart-gateway-at91sam", "atmel,at91sam9g25", "atmel,at91sam9x5",
"atmel,at91sam9";
aliases {
serial1 = &usart3;
};
gpio-keys {
compatible = "gpio-keys";
user_btn1 {
label = "USER_BTN1";
gpios = <&pioA 24 GPIO_ACTIVE_LOW>;
linux,code = <KEY_PROG1>;
};
};
1wire_cm {
status = "disabled";
};
leds {
compatible = "gpio-leds";
power_blue {
label = "smartgw:power:blue";
gpios = <&pioC 21 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
power_green {
label = "smartgw:power:green";
gpios = <&pioC 20 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
power_red {
label = "smartgw:power:red";
gpios = <&pioC 19 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
radio_blue {
label = "smartgw:radio:blue";
gpios = <&pioC 18 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
radio_green {
label = "smartgw:radio:green";
gpios = <&pioC 17 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
radio_red {
label = "smartgw:radio:red";
gpios = <&pioC 16 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
internet_blue {
label = "smartgw:internet:blue";
gpios = <&pioC 15 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
internet_green {
label = "smartgw:internet:green";
gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
internet_red {
label = "smartgw:internet:red";
gpios = <&pioC 13 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
heartbeat {
label = "smartgw:heartbeat";
gpios = <&pioB 8 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
};
pb18 {
status = "disabled";
};
pd21 {
status = "disabled";
};
};
};
&macb0 {
phy-mode = "rmii";
status = "okay";
};
&usart0 {
status = "disabled";
};
&usart2 {
status = "disabled";
};
&usart3 {
status = "okay";
pinctrl-0 = <&pinctrl_usart3
&pinctrl_usart3_rts
&pinctrl_usart3_cts
>;
};
&watchdog {
status = "okay";
};
&mmc0 {
status = "disabled";
};
&mmc1 {
status = "disabled";
};
&spi0 {
status = "disabled";
};
&i2c0 {
status = "disabled";
};
&adc0 {
status = "disabled";
};
&ssc0 {
status = "disabled";
};