// SPDX-License-Identifier: GPL-2.0-only
/*
 * Device tree source for Ubiquity UniFi Security Gateway.
 *
 * Written for EdgeRouter Lite by: Aaro Koskinen <aaro.koskinen@iki.fi>
 * Adapted for USG by: Clemens Hopfer <openwrt@wireloss.net>
 */

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

/ {
	compatible = "ubnt,usg";
	model = "Ubiquiti UniFi Security Gateway";

	soc@0 {
		smi0: mdio@1180000001800 {
			phy5: ethernet-phy@5 {
				reg = <5>;
				compatible = "ethernet-phy-ieee802.3-c22";
			};
			phy6: ethernet-phy@6 {
				reg = <6>;
				compatible = "ethernet-phy-ieee802.3-c22";
			};
			phy7: ethernet-phy@7 {
				reg = <7>;
				compatible = "ethernet-phy-ieee802.3-c22";
			};
		};

		pip: pip@11800a0000000 {
			interface@0 {
				ethernet@0 {
					phy-handle = <&phy7>;
					rx-delay = <0>;
					tx-delay = <0x10>;
				};
				ethernet@1 {
					phy-handle = <&phy6>;
					rx-delay = <0>;
					tx-delay = <0x10>;
				};
				ethernet@2 {
					phy-handle = <&phy5>;
					rx-delay = <0>;
					tx-delay = <0x10>;
				};
			};
		};

		uart0: serial@1180000000800 {
			clock-frequency = <500000000>;
		};

		usbn: usbn@1180068000000 {
			refclk-frequency = <12000000>;
			refclk-type = "crystal";
		};

	};

	leds {
		compatible = "gpio-leds";

		led_dome_white: led-0 {
			label = "white:dome";
			gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
		};

		led_dome_blue: led-1 {
			label = "blue:dome";
			gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
		};
	};

	keys {
		compatible = "gpio-keys-polled";
		poll-interval = <20>;

		key-restart {
			label = "reset";
			linux,code = <KEY_RESTART>;
			gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
			debounce-interval = <60>;
		};
	};

	aliases {
		pip = &pip;
		led-boot = &led_dome_white;
		led-failsafe = &led_dome_blue;
		led-running = &led_dome_blue;
		led-upgrade = &led_dome_blue;
	};
};
