// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Broadcom BCM470X / BCM5301X arm platform code.
 * DTS for SmartRG SR400ac
 *
 * Copyright (C) 2015 Rafał Miłecki <zajec5@gmail.com>
 */

/dts-v1/;

#include "bcm4708.dtsi"
#include "bcm5301x-nand-cs0-bch8.dtsi"

/ {
	compatible = "smartrg,sr400ac", "brcm,bcm4708";
	model = "SmartRG SR400ac";

	chosen {
		bootargs = "console=ttyS0,115200 earlycon";
	};

	memory {
		device_type = "memory";
		reg = <0x00000000 0x08000000
		       0x88000000 0x08000000>;
	};

	leds {
		compatible = "gpio-leds";

		power-white {
			label = "bcm53xx:white:power";
			gpios = <&chipcommon 1 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "default-on";
		};

		power-amber {
			label = "bcm53xx:amber:power";
			gpios = <&chipcommon 2 GPIO_ACTIVE_HIGH>;
		};

		usb2 {
			label = "bcm53xx:white:usb2";
			gpios = <&chipcommon 3 GPIO_ACTIVE_HIGH>;
			trigger-sources = <&ohci_port2>, <&ehci_port2>;
			linux,default-trigger = "usbport";
		};

		usb3-white {
			label = "bcm53xx:white:usb3";
			gpios = <&chipcommon 4 GPIO_ACTIVE_HIGH>;
			trigger-sources = <&xhci_port1>;
			linux,default-trigger = "usbport";
		};

		usb3-green {
			label = "bcm53xx:green:usb3";
			gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
			trigger-sources = <&ohci_port1>, <&ehci_port1>;
			linux,default-trigger = "usbport";
		};

		wps {
			label = "bcm53xx:white:wps";
			gpios = <&chipcommon 6 GPIO_ACTIVE_HIGH>;
		};

		status-red {
			label = "bcm53xx:red:status";
			gpios = <&chipcommon 8 GPIO_ACTIVE_HIGH>;
		};

		status-green {
			label = "bcm53xx:green:status";
			gpios = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
		};

		status-blue {
			label = "bcm53xx:blue:status";
			gpios = <&chipcommon 10 GPIO_ACTIVE_HIGH>;
		};

		wan-white {
			label = "bcm53xx:white:wan";
			gpios = <&chipcommon 12 GPIO_ACTIVE_HIGH>;
		};

		wan-red {
			label = "bcm53xx:red:wan";
			gpios = <&chipcommon 13 GPIO_ACTIVE_HIGH>;
		};
	};

	gpio-keys {
		compatible = "gpio-keys";
		#address-cells = <1>;
		#size-cells = <0>;

		rfkill {
			label = "WiFi";
			linux,code = <KEY_RFKILL>;
			gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
		};

		wps {
			label = "WPS";
			linux,code = <KEY_WPS_BUTTON>;
			gpios = <&chipcommon 7 GPIO_ACTIVE_LOW>;
		};

		restart {
			label = "Reset";
			linux,code = <KEY_RESTART>;
			gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
		};
	};
};

&spi_nor {
	status = "okay";
};

&srab {
	status = "okay";

	ports {
		#address-cells = <1>;
		#size-cells = <0>;

		port@0 {
			reg = <0>;
			label = "lan4";
		};

		port@1 {
			reg = <1>;
			label = "lan3";
		};

		port@2 {
			reg = <2>;
			label = "lan2";
		};

		port@3 {
			reg = <3>;
			label = "lan1";
		};

		port@4 {
			reg = <4>;
			label = "wan";
		};

		port@5 {
			reg = <5>;
			label = "cpu";
			ethernet = <&gmac0>;
		};
	};
};

&usb3_phy {
	status = "okay";
};
