// SPDX-License-Identifier: GPL-2.0-or-later OR MIT

#include "qca9556_avm_fritz-repeater.dtsi"

#include <dt-bindings/gpio/gpio.h>

/ {
	compatible = "avm,fritz450e", "qca,qca9556";
	model = "AVM FRITZ!WLAN Repeater 450E";

	aliases {
		led-boot = &led_power;
		led-failsafe = &led_power;
		led-running = &led_power;
		led-upgrade = &led_power;
	};

	leds {
		compatible = "gpio-leds";

		led_power: power {
			label = "green:power";
			gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
		};

		wlan {
			label = "green:wlan";
			gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "phy0tpt";
		};

		lan {
			label = "green:lan";
			gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
		};

		rssi2 {
			label = "green:rssi2";
			gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
		};

		rssi3 {
			label = "green:rssi3";
			gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
		};

		rssi4 {
			label = "green:rssi4";
			gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
		};
	};
};

&gpio {
	/*
	 * Wondered why rssi0 and rssi1 are missing?
	 *
	 * AVM seems to have run low on usable GPIO pins, so
	 * instead of adding a shift register like they did for
	 * the 1750E they figured out "Why not use the LEDs on
	 * the AR8033?".
	 *
	 * EVA configures the PHY in a way it does not display
	 * the link-state using it's LEDs. When we reset the PHY
	 * using the reset-mechanism of the PHY subsystem, this
	 * setting is cleared.
	 *
	 * We avoid this by keeping the reset line high.
	 */
	phy-reset {
		gpio-hog;
		gpios = <11 GPIO_ACTIVE_HIGH>;
		output-high;
		line-name = "phy-reset";
	};
};