// 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 {
	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";
};