17ef62cebSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
27ef62cebSEmmanuel Vadot
37ef62cebSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
47ef62cebSEmmanuel Vadot#include <dt-bindings/input/input.h>
57ef62cebSEmmanuel Vadot#include <dt-bindings/leds/common.h>
67ef62cebSEmmanuel Vadot
77ef62cebSEmmanuel Vadot#include "bcm4908.dtsi"
87ef62cebSEmmanuel Vadot
97ef62cebSEmmanuel Vadot/ {
107ef62cebSEmmanuel Vadot	compatible = "asus,gt-ac5300", "brcm,bcm4908", "brcm,bcmbca";
117ef62cebSEmmanuel Vadot	model = "Asus GT-AC5300";
127ef62cebSEmmanuel Vadot
137ef62cebSEmmanuel Vadot	memory@0 {
147ef62cebSEmmanuel Vadot		device_type = "memory";
157ef62cebSEmmanuel Vadot		reg = <0x00 0x00 0x00 0x40000000>;
167ef62cebSEmmanuel Vadot	};
177ef62cebSEmmanuel Vadot
187ef62cebSEmmanuel Vadot	gpio-keys-polled {
197ef62cebSEmmanuel Vadot		compatible = "gpio-keys-polled";
207ef62cebSEmmanuel Vadot		poll-interval = <100>;
217ef62cebSEmmanuel Vadot
227ef62cebSEmmanuel Vadot		key-wifi {
237ef62cebSEmmanuel Vadot			label = "WiFi";
247ef62cebSEmmanuel Vadot			linux,code = <KEY_RFKILL>;
257ef62cebSEmmanuel Vadot			gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
267ef62cebSEmmanuel Vadot		};
277ef62cebSEmmanuel Vadot
287ef62cebSEmmanuel Vadot		key-wps {
297ef62cebSEmmanuel Vadot			label = "WPS";
307ef62cebSEmmanuel Vadot			linux,code = <KEY_WPS_BUTTON>;
317ef62cebSEmmanuel Vadot			gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
327ef62cebSEmmanuel Vadot		};
337ef62cebSEmmanuel Vadot
347ef62cebSEmmanuel Vadot		key-restart {
357ef62cebSEmmanuel Vadot			label = "Reset";
367ef62cebSEmmanuel Vadot			linux,code = <KEY_RESTART>;
377ef62cebSEmmanuel Vadot			gpios = <&gpio0 30 GPIO_ACTIVE_LOW>;
387ef62cebSEmmanuel Vadot		};
397ef62cebSEmmanuel Vadot
407ef62cebSEmmanuel Vadot		key-brightness {
417ef62cebSEmmanuel Vadot			label = "LEDs";
427ef62cebSEmmanuel Vadot			linux,code = <KEY_BRIGHTNESS_ZERO>;
437ef62cebSEmmanuel Vadot			gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
447ef62cebSEmmanuel Vadot		};
457ef62cebSEmmanuel Vadot	};
467ef62cebSEmmanuel Vadot};
477ef62cebSEmmanuel Vadot
487ef62cebSEmmanuel Vadot&enet {
497ef62cebSEmmanuel Vadot	nvmem-cells = <&base_mac_addr>;
507ef62cebSEmmanuel Vadot	nvmem-cell-names = "mac-address";
517ef62cebSEmmanuel Vadot};
527ef62cebSEmmanuel Vadot
537ef62cebSEmmanuel Vadot&usb_phy {
547ef62cebSEmmanuel Vadot	brcm,ioc = <1>;
557ef62cebSEmmanuel Vadot	status = "okay";
567ef62cebSEmmanuel Vadot};
577ef62cebSEmmanuel Vadot
587ef62cebSEmmanuel Vadot&ehci {
597ef62cebSEmmanuel Vadot	status = "okay";
607ef62cebSEmmanuel Vadot};
617ef62cebSEmmanuel Vadot
627ef62cebSEmmanuel Vadot&ohci {
637ef62cebSEmmanuel Vadot	status = "okay";
647ef62cebSEmmanuel Vadot};
657ef62cebSEmmanuel Vadot
667ef62cebSEmmanuel Vadot&xhci {
677ef62cebSEmmanuel Vadot	status = "okay";
687ef62cebSEmmanuel Vadot};
697ef62cebSEmmanuel Vadot
707ef62cebSEmmanuel Vadot&ports {
717ef62cebSEmmanuel Vadot	port@0 {
727ef62cebSEmmanuel Vadot		label = "lan2";
737ef62cebSEmmanuel Vadot	};
747ef62cebSEmmanuel Vadot
757ef62cebSEmmanuel Vadot	port@1 {
767ef62cebSEmmanuel Vadot		label = "lan1";
777ef62cebSEmmanuel Vadot	};
787ef62cebSEmmanuel Vadot
797ef62cebSEmmanuel Vadot	port@2 {
807ef62cebSEmmanuel Vadot		label = "lan6";
817ef62cebSEmmanuel Vadot	};
827ef62cebSEmmanuel Vadot
837ef62cebSEmmanuel Vadot	port@3 {
847ef62cebSEmmanuel Vadot		label = "lan5";
857ef62cebSEmmanuel Vadot	};
867ef62cebSEmmanuel Vadot
877ef62cebSEmmanuel Vadot	/* External BCM53134S switch */
887ef62cebSEmmanuel Vadot	port@7 {
897ef62cebSEmmanuel Vadot		label = "sw";
907ef62cebSEmmanuel Vadot		reg = <7>;
917ef62cebSEmmanuel Vadot		phy-mode = "rgmii";
927ef62cebSEmmanuel Vadot
937ef62cebSEmmanuel Vadot		fixed-link {
947ef62cebSEmmanuel Vadot			speed = <1000>;
957ef62cebSEmmanuel Vadot			full-duplex;
967ef62cebSEmmanuel Vadot		};
977ef62cebSEmmanuel Vadot	};
987ef62cebSEmmanuel Vadot};
997ef62cebSEmmanuel Vadot
1007ef62cebSEmmanuel Vadot&mdio {
1017ef62cebSEmmanuel Vadot	/* lan8 */
1027ef62cebSEmmanuel Vadot	ethernet-phy@0 {
1037ef62cebSEmmanuel Vadot		reg = <0>;
1047ef62cebSEmmanuel Vadot	};
1057ef62cebSEmmanuel Vadot
1067ef62cebSEmmanuel Vadot	/* lan7 */
1077ef62cebSEmmanuel Vadot	ethernet-phy@1 {
1087ef62cebSEmmanuel Vadot		reg = <1>;
1097ef62cebSEmmanuel Vadot	};
1107ef62cebSEmmanuel Vadot
1117ef62cebSEmmanuel Vadot	/* lan4 */
1127ef62cebSEmmanuel Vadot	ethernet-phy@2 {
1137ef62cebSEmmanuel Vadot		reg = <2>;
1147ef62cebSEmmanuel Vadot	};
1157ef62cebSEmmanuel Vadot
1167ef62cebSEmmanuel Vadot	/* lan3 */
1177ef62cebSEmmanuel Vadot	ethernet-phy@3 {
1187ef62cebSEmmanuel Vadot		reg = <3>;
1197ef62cebSEmmanuel Vadot	};
1207ef62cebSEmmanuel Vadot};
1217ef62cebSEmmanuel Vadot
1227ef62cebSEmmanuel Vadot&leds {
123*fac71e4eSEmmanuel Vadot	led@11 {
1247ef62cebSEmmanuel Vadot		reg = <0x11>;
1257ef62cebSEmmanuel Vadot		function = LED_FUNCTION_POWER;
1267ef62cebSEmmanuel Vadot		color = <LED_COLOR_ID_WHITE>;
1277ef62cebSEmmanuel Vadot		default-state = "on";
1287ef62cebSEmmanuel Vadot		active-low;
1297ef62cebSEmmanuel Vadot		pinctrl-names = "default";
1307ef62cebSEmmanuel Vadot		pinctrl-0 = <&pins_led_17_a>;
1317ef62cebSEmmanuel Vadot	};
1327ef62cebSEmmanuel Vadot
133*fac71e4eSEmmanuel Vadot	led@12 {
1347ef62cebSEmmanuel Vadot		reg = <0x12>;
1357ef62cebSEmmanuel Vadot		function = LED_FUNCTION_WAN;
1367ef62cebSEmmanuel Vadot		color = <LED_COLOR_ID_RED>;
1377ef62cebSEmmanuel Vadot		active-low;
1387ef62cebSEmmanuel Vadot		pinctrl-names = "default";
1397ef62cebSEmmanuel Vadot		pinctrl-0 = <&pins_led_18_a>;
1407ef62cebSEmmanuel Vadot	};
1417ef62cebSEmmanuel Vadot
142*fac71e4eSEmmanuel Vadot	led@14 {
1437ef62cebSEmmanuel Vadot		reg = <0x14>;
1447ef62cebSEmmanuel Vadot		function = LED_FUNCTION_WPS;
1457ef62cebSEmmanuel Vadot		color = <LED_COLOR_ID_WHITE>;
1467ef62cebSEmmanuel Vadot		active-low;
1477ef62cebSEmmanuel Vadot		pinctrl-names = "default";
1487ef62cebSEmmanuel Vadot		pinctrl-0 = <&pins_led_20_a>;
1497ef62cebSEmmanuel Vadot	};
1507ef62cebSEmmanuel Vadot
151*fac71e4eSEmmanuel Vadot	led@15 {
1527ef62cebSEmmanuel Vadot		reg = <0x15>;
1537ef62cebSEmmanuel Vadot		function = LED_FUNCTION_WAN;
1547ef62cebSEmmanuel Vadot		color = <LED_COLOR_ID_WHITE>;
1557ef62cebSEmmanuel Vadot		active-low;
1567ef62cebSEmmanuel Vadot		pinctrl-names = "default";
1577ef62cebSEmmanuel Vadot		pinctrl-0 = <&pins_led_21_a>;
1587ef62cebSEmmanuel Vadot	};
1597ef62cebSEmmanuel Vadot
160*fac71e4eSEmmanuel Vadot	led@19 {
1617ef62cebSEmmanuel Vadot		reg = <0x19>;
1627ef62cebSEmmanuel Vadot		function = LED_FUNCTION_LAN;
1637ef62cebSEmmanuel Vadot		color = <LED_COLOR_ID_WHITE>;
1647ef62cebSEmmanuel Vadot		pinctrl-names = "default";
1657ef62cebSEmmanuel Vadot		pinctrl-0 = <&pins_led_25_a>;
1667ef62cebSEmmanuel Vadot	};
1677ef62cebSEmmanuel Vadot};
1687ef62cebSEmmanuel Vadot
1697ef62cebSEmmanuel Vadot&nandcs {
1707ef62cebSEmmanuel Vadot	nand-ecc-strength = <4>;
1717ef62cebSEmmanuel Vadot	nand-ecc-step-size = <512>;
1727ef62cebSEmmanuel Vadot	nand-on-flash-bbt;
1737ef62cebSEmmanuel Vadot	brcm,nand-has-wp;
1747ef62cebSEmmanuel Vadot
1757ef62cebSEmmanuel Vadot	#address-cells = <1>;
1767ef62cebSEmmanuel Vadot	#size-cells = <0>;
1777ef62cebSEmmanuel Vadot
1787ef62cebSEmmanuel Vadot	partitions {
1797ef62cebSEmmanuel Vadot		compatible = "brcm,bcm4908-partitions";
1807ef62cebSEmmanuel Vadot		#address-cells = <1>;
1817ef62cebSEmmanuel Vadot		#size-cells = <1>;
1827ef62cebSEmmanuel Vadot
1837ef62cebSEmmanuel Vadot		partition@0 {
1847ef62cebSEmmanuel Vadot			compatible = "nvmem-cells";
1857ef62cebSEmmanuel Vadot			label = "cferom";
1867ef62cebSEmmanuel Vadot			reg = <0x0 0x100000>;
1877ef62cebSEmmanuel Vadot
1887ef62cebSEmmanuel Vadot			#address-cells = <1>;
1897ef62cebSEmmanuel Vadot			#size-cells = <1>;
1907ef62cebSEmmanuel Vadot			ranges = <0 0x0 0x100000>;
1917ef62cebSEmmanuel Vadot
1927ef62cebSEmmanuel Vadot			base_mac_addr: mac@106a0 {
1937ef62cebSEmmanuel Vadot				reg = <0x106a0 0x6>;
1947ef62cebSEmmanuel Vadot			};
1957ef62cebSEmmanuel Vadot		};
1967ef62cebSEmmanuel Vadot
1977ef62cebSEmmanuel Vadot		partition@100000 {
1987ef62cebSEmmanuel Vadot			compatible = "brcm,bcm4908-firmware";
1997ef62cebSEmmanuel Vadot			reg = <0x100000 0x5700000>;
2007ef62cebSEmmanuel Vadot		};
2017ef62cebSEmmanuel Vadot
2027ef62cebSEmmanuel Vadot		partition@5800000 {
2037ef62cebSEmmanuel Vadot			compatible = "brcm,bcm4908-firmware";
2047ef62cebSEmmanuel Vadot			reg = <0x5800000 0x5700000>;
2057ef62cebSEmmanuel Vadot		};
2067ef62cebSEmmanuel Vadot	};
2077ef62cebSEmmanuel Vadot};
208