// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (C) 2018 Stefan Roese <sr@denx.de>
 */

/dts-v1/;

#include "mt7628a.dtsi"
#include <dt-bindings/gpio/gpio.h>

/ {
	compatible = "gardena,smart-gateway-mt7688", "ralink,mt7628a-soc";
	model = "GARDENA smart Gateway (MT7688)";

	aliases {
		serial0 = &uart0;
		spi0 = &spi0;
	};

	memory@0 {
		device_type = "memory";
		reg = <0x0 0x08000000>;
	};

	leds {
		compatible = "gpio-leds";

		power_blue {
			label = "smartgw:power:blue";
			gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		power_green {
			label = "smartgw:power:green";
			gpios = <&gpio0 19 GPIO_ACTIVE_HIGH>;
			default-state = "on";
		};

		power_red {
			label = "smartgw:power:red";
			gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		radio_blue {
			label = "smartgw:radio:blue";
			gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		radio_green {
			label = "smartgw:radio:green";
			gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		radio_red {
			label = "smartgw:radio:red";
			gpios = <&gpio0 25 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		internet_blue {
			label = "smartgw:internet:blue";
			gpios = <&gpio0 26 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		internet_green {
			label = "smartgw:internet:green";
			gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		internet_red {
			label = "smartgw:internet:red";
			gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};
	};

	chosen {
		stdout-path = &uart0;
	};
};

&uart0 {
	status = "okay";
	clock-frequency = <40000000>;
};

&spi0 {
	status = "okay";
	num-cs = <2>;

	spi-flash@0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "jedec,spi-nor";
		spi-max-frequency = <40000000>;
		reg = <0>;
	};

	spi-nand@1 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "spi-nand";
		spi-max-frequency = <40000000>;
		reg = <1>;
	};
};
