linux/arch/arm/boot/dts/microchip/at91sam9g25-gardena-smart-gateway.dts
Ezra Buehler 1ef75c67f1 ARM: dts: microchip: gardena-smart-gateway: Use DMA for USART3
The AT91SAM9G25-based GARDENA smart Gateway uses USART3 (ttyS1) to
communicate (over PPP, at 115200 baud) with the radio module.

We have been experiencing packet loss and seeing errors on the ppp0
interface. Enabling DMA for the serial interface resolves the issues.

Co-developed-by: Michael Zimmermann <michael.zimmermann@grandcentrix.net>
Signed-off-by: Michael Zimmermann <michael.zimmermann@grandcentrix.net>
Signed-off-by: Ezra Buehler <ezra.buehler@husqvarnagroup.com>
Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Link: https://lore.kernel.org/r/20240102161839.702625-3-ezra.buehler@husqvarna.com
[claudiu.beznea: s/Co-Developed-by/Co-developed-by to make checkpatch.pl
 happy, s/at91/microchip in commit title]
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
2024-02-03 19:00:33 +02:00

160 lines
2.5 KiB
Text

// 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";
button {
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 {
atmel,use-dma-rx;
atmel,use-dma-tx;
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";
};