--- /dev/null
+// SPDX-License-Identifier: GPL-2.0-only OR MIT
+
+/dts-v1/;
+#include <dt-bindings/leds/common.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include "an7583.dtsi"
+#include "an758x-nokia_xg-040g-common.dtsi"
+
+/ {
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ button-0 {
+ label = "reset";
+ linux,code = <KEY_RESTART>;
+ gpios = <&an7583_pinctrl 0 GPIO_ACTIVE_LOW>;
+ debounce-interval = <60>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led-0 {
+ color = <LED_COLOR_ID_GREEN>;
+ function = LED_FUNCTION_WAN;
+ gpios = <&an7583_pinctrl 6 GPIO_ACTIVE_LOW>;
+ };
+
+ led-1 {
+ color = <LED_COLOR_ID_GREEN>;
+ function = LED_FUNCTION_WAN_ONLINE;
+ gpios = <&an7583_pinctrl 7 GPIO_ACTIVE_LOW>;
+ };
+
+ led_power_green: led-2 {
+ color = <LED_COLOR_ID_GREEN>;
+ function = LED_FUNCTION_POWER;
+ gpios = <&an7583_pinctrl 25 GPIO_ACTIVE_LOW>;
+ panic-indicator;
+ };
+
+ led-3 {
+ color = <LED_COLOR_ID_GREEN>;
+ function = LED_FUNCTION_USB;
+ function-enumerator = <1>;
+ gpios = <&an7583_pinctrl 26 GPIO_ACTIVE_LOW>;
+ /*
+ * AN7583 SoC doesn't support USB at this time
+ *
+ * linux,default-trigger = "usbport";
+ * trigger-sources = <&usb_port1>;
+ */
+ };
+
+ led-4 {
+ color = <LED_COLOR_ID_RED>;
+ function = LED_FUNCTION_WAN;
+ gpios = <&an7583_pinctrl 27 GPIO_ACTIVE_LOW>;
+ };
+
+ led-5 {
+ color = <LED_COLOR_ID_GREEN>;
+ function = LED_FUNCTION_USB;
+ function-enumerator = <2>;
+ gpios = <&an7583_pinctrl 33 GPIO_ACTIVE_LOW>;
+ /*
+ * AN7583 SoC doesn't support USB at this time
+ *
+ * linux,default-trigger = "usbport";
+ * trigger-sources = <&usb_port2>;
+ */
+ };
+ };
+
+ /*
+ * AN7583 SoC doesn't support USB at this time
+ *
+ * reg_3p3v: regulator-3p3v {
+ * compatible = "regulator-fixed";
+ * regulator-always-on;
+ * regulator-boot-on;
+ * regulator-max-microvolt = <3300000>;
+ * regulator-min-microvolt = <3300000>;
+ * regulator-name = "fixed-3.3V";
+ * };
+ *
+ * reg_usb_5v: regulator-usb-5v {
+ * compatible = "regulator-fixed";
+ * enable-active-high;
+ * gpio = <&an7583_pinctrl 30 GPIO_ACTIVE_HIGH>;
+ * regulator-boot-on;
+ * regulator-max-microvolt = <5000000>;
+ * regulator-min-microvolt = <5000000>;
+ * regulator-name = "usb-5v";
+ * };
+ *
+ * *
+ * * Controls both USB ports at once
+ * *
+ * usb-power {
+ * compatible = "regulator-output";
+ * vout-supply = <®_usb_5v>;
+ * };
+ */
+};
+
+&an7583_pinctrl {
+ gpio-ranges = <&an7583_pinctrl 0 2 53>;
+
+ mdio0_pins: mdio0-pins {
+ conf {
+ pins = "mdio_0";
+ output-high;
+ };
+ };
+
+ pcie0_rst_pins: pcie0-rst-pins {
+ conf {
+ pins = "pcie_reset0";
+ drive-open-drain = <1>;
+ };
+ };
+
+ pcie1_rst_pins: pcie1-rst-pins {
+ conf {
+ pins = "pcie_reset1";
+ drive-open-drain = <1>;
+ };
+ };
+
+ gswp1_led0_pins: gswp1-led0-pins {
+ mux {
+ function = "phy1_led0";
+ pins = "gpio1";
+ };
+ };
+
+ gswp2_led0_pins: gswp2-led0-pins {
+ mux {
+ function = "phy2_led0";
+ pins = "gpio2";
+ };
+ };
+
+ gswp3_led0_pins: gswp3-led0-pins {
+ mux {
+ function = "phy3_led0";
+ pins = "gpio3";
+ };
+ };
+
+ gswp4_led0_pins: gswp4-led0-pins {
+ mux {
+ function = "phy4_led0";
+ pins = "gpio4";
+ };
+ };
+};
+
+&mdio_0 {
+ /* Airoha EN8811 2.5Gbps phy */
+ en8811: ethernet-phy@f {
+ compatible = "ethernet-phy-ieee802.3-c45";
+ reg = <0xf>;
+
+ reset-gpios = <&an7583_pinctrl 34 GPIO_ACTIVE_LOW>;
+ reset-assert-us = <10000>;
+ reset-deassert-us = <20000>;
+
+ leds {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ led-0 {
+ reg = <0>;
+ color = <LED_COLOR_ID_GREEN>;
+ function = LED_FUNCTION_LAN;
+ function-enumerator = <1>;
+ default-state = "keep";
+ };
+ };
+ };
+};
+
+&switch {
+ status = "okay";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&mdio0_pins>;
+};
+
+&gsw_port1 {
+ status = "disabled";
+};
+
+&gsw_phy1 {
+ status = "disabled";
+};
+
+&gsw_phy2 {
+ interrupts = <2>;
+
+ pinctrl-names = "gbe-led";
+ pinctrl-0 = <&gswp2_led0_pins>;
+};
+
+&gsw_phy2_led0 {
+ status = "okay";
+
+ color = <LED_COLOR_ID_GREEN>;
+ active-low;
+};
+
+&gsw_phy3 {
+ interrupts = <3>;
+
+ pinctrl-names = "gbe-led";
+ pinctrl-0 = <&gswp3_led0_pins>;
+};
+
+&gsw_phy3_led0 {
+ status = "okay";
+
+ color = <LED_COLOR_ID_GREEN>;
+ active-low;
+};
+
+&gsw_phy4 {
+ interrupts = <4>;
+
+ pinctrl-names = "gbe-led";
+ pinctrl-0 = <&gswp4_led0_pins>;
+};
+
+&gsw_phy4_led0 {
+ status = "okay";
+
+ color = <LED_COLOR_ID_GREEN>;
+ active-low;
+};
+
+&gdm3 {
+ status = "okay";
+
+ openwrt,netdev-name = "lan1";
+
+ phy-handle = <&en8811>;
+ phy-mode = "2500base-x";
+
+ nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_factory_3e (0)>;
+};
+
+/*
+ * AN7583 SoC doesn't support USB at this time
+ *
+ * &usb0 {
+ * status = "okay";
+ * #address-cells = <1>;
+ * #size-cells = <0>;
+ *
+ * vusb33-supply = <®_3p3v>;
+ *
+ * usb_port1: port@1 {
+ * reg = <1>;
+ * #trigger-source-cells = <0>;
+ * };
+ *
+ * usb_port2: port@2 {
+ * reg = <2>;
+ * #trigger-source-cells = <0>;
+ * };
+ * };
+ */