Message ID | 20200819112550.16494-1-code@reto-schneider.ch (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] ARM: at91: Add GARDENA smart Gateway (Art. 19000) board | expand |
On Wed, 19 Aug 2020 13:25:47 +0200, Reto Schneider wrote: > From: Reto Schneider <reto.schneider@husqvarnagroup.com> > > 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> > Signed-off-by: Stefan Roese <sr@denx.de> > Co-developed-by: Michael Zimmermann <michael.zimmermann@grandcentrix.net> > Signed-off-by: Michael Zimmermann <michael.zimmermann@grandcentrix.net> > Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com> > --- > .../devicetree/bindings/arm/atmel-at91.yaml | 2 + > arch/arm/boot/dts/Makefile | 1 + > .../dts/at91sam9g25-gardena-smart-gateway.dts | 157 ++++++++++++++++++ > 3 files changed, 160 insertions(+) > create mode 100644 arch/arm/boot/dts/at91sam9g25-gardena-smart-gateway.dts > My bot found errors running 'make dt_binding_check' on your patch: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/arm/atmel-at91.yaml: properties:compatible:oneOf:2:items: [{'enum': ['overkiz,kizboxmini-base', 'overkiz,kizboxmini-mb', 'overkiz,kizboxmini-rd', 'overkiz,smartkiz', 'gardena,smart-gateway-at91sam"']}, {'const': 'atmel,at91sam9g25'}, {'const': 'atmel,at91sam9x5'}, {'const': 'atmel,at91sam9'}] is not valid under any of the given schemas (Possible causes of the failure): /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/arm/atmel-at91.yaml: properties:compatible:oneOf:2:items: [{'enum': ['overkiz,kizboxmini-base', 'overkiz,kizboxmini-mb', 'overkiz,kizboxmini-rd', 'overkiz,smartkiz', 'gardena,smart-gateway-at91sam"']}, {'const': 'atmel,at91sam9g25'}, {'const': 'atmel,at91sam9x5'}, {'const': 'atmel,at91sam9'}] is not of type 'object' /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/arm/atmel-at91.yaml: properties:compatible:oneOf:2:items:0:enum:4: 'gardena,smart-gateway-at91sam"' does not match '^[a-zA-Z0-9,.\\-_ #+/]+$' /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/arm/atmel-at91.yaml: ignoring, error in schema: properties: compatible: oneOf: 2: items warning: no schema found in file: ./Documentation/devicetree/bindings/arm/atmel-at91.yaml See https://patchwork.ozlabs.org/patch/1347723 If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure dt-schema is up to date: pip3 install git+https://github.com/devicetree-org/dt-schema.git@master --upgrade Please check and re-submit.
diff --git a/Documentation/devicetree/bindings/arm/atmel-at91.yaml b/Documentation/devicetree/bindings/arm/atmel-at91.yaml index 31b0c54fa2cf..b8da32f5d0a7 100644 --- a/Documentation/devicetree/bindings/arm/atmel-at91.yaml +++ b/Documentation/devicetree/bindings/arm/atmel-at91.yaml @@ -41,6 +41,8 @@ properties: - overkiz,kizboxmini-mb # Overkiz kizbox Mini Mother Board - overkiz,kizboxmini-rd # Overkiz kizbox Mini RailDIN - overkiz,smartkiz # Overkiz SmartKiz Board + - gardena,smart-gateway-at91sam" # GARDENA smart Gateway (Article + # No. 19000) - const: atmel,at91sam9g25 - const: atmel,at91sam9x5 - const: atmel,at91sam9 diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index e6a1cac0bfc7..6368dac016dd 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -44,6 +44,7 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \ at91-wb45n.dtb \ at91sam9g15ek.dtb \ at91sam9g25ek.dtb \ + at91sam9g25-gardena-smart-gateway.dtb \ at91sam9g35ek.dtb \ at91sam9x25ek.dtb \ at91sam9x35ek.dtb diff --git a/arch/arm/boot/dts/at91sam9g25-gardena-smart-gateway.dts b/arch/arm/boot/dts/at91sam9g25-gardena-smart-gateway.dts new file mode 100644 index 000000000000..6dc6e14b5f58 --- /dev/null +++ b/arch/arm/boot/dts/at91sam9g25-gardena-smart-gateway.dts @@ -0,0 +1,157 @@ +// 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"; +};