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