162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
262306a36Sopenharmony_ci
362306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
462306a36Sopenharmony_ci#include <dt-bindings/input/input.h>
562306a36Sopenharmony_ci#include <dt-bindings/leds/common.h>
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#include "bcm4908.dtsi"
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci/ {
1062306a36Sopenharmony_ci	compatible = "asus,gt-ac5300", "brcm,bcm4908", "brcm,bcmbca";
1162306a36Sopenharmony_ci	model = "Asus GT-AC5300";
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci	memory@0 {
1462306a36Sopenharmony_ci		device_type = "memory";
1562306a36Sopenharmony_ci		reg = <0x00 0x00 0x00 0x40000000>;
1662306a36Sopenharmony_ci	};
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	gpio-keys-polled {
1962306a36Sopenharmony_ci		compatible = "gpio-keys-polled";
2062306a36Sopenharmony_ci		poll-interval = <100>;
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci		key-wifi {
2362306a36Sopenharmony_ci			label = "WiFi";
2462306a36Sopenharmony_ci			linux,code = <KEY_RFKILL>;
2562306a36Sopenharmony_ci			gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
2662306a36Sopenharmony_ci		};
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci		key-wps {
2962306a36Sopenharmony_ci			label = "WPS";
3062306a36Sopenharmony_ci			linux,code = <KEY_WPS_BUTTON>;
3162306a36Sopenharmony_ci			gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
3262306a36Sopenharmony_ci		};
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci		key-restart {
3562306a36Sopenharmony_ci			label = "Reset";
3662306a36Sopenharmony_ci			linux,code = <KEY_RESTART>;
3762306a36Sopenharmony_ci			gpios = <&gpio0 30 GPIO_ACTIVE_LOW>;
3862306a36Sopenharmony_ci		};
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci		key-brightness {
4162306a36Sopenharmony_ci			label = "LEDs";
4262306a36Sopenharmony_ci			linux,code = <KEY_BRIGHTNESS_ZERO>;
4362306a36Sopenharmony_ci			gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
4462306a36Sopenharmony_ci		};
4562306a36Sopenharmony_ci	};
4662306a36Sopenharmony_ci};
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci&enet {
4962306a36Sopenharmony_ci	nvmem-cells = <&base_mac_addr>;
5062306a36Sopenharmony_ci	nvmem-cell-names = "mac-address";
5162306a36Sopenharmony_ci};
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci&usb_phy {
5462306a36Sopenharmony_ci	brcm,ioc = <1>;
5562306a36Sopenharmony_ci	status = "okay";
5662306a36Sopenharmony_ci};
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci&ehci {
5962306a36Sopenharmony_ci	status = "okay";
6062306a36Sopenharmony_ci};
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci&ohci {
6362306a36Sopenharmony_ci	status = "okay";
6462306a36Sopenharmony_ci};
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci&xhci {
6762306a36Sopenharmony_ci	status = "okay";
6862306a36Sopenharmony_ci};
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci&ports {
7162306a36Sopenharmony_ci	port@0 {
7262306a36Sopenharmony_ci		label = "lan2";
7362306a36Sopenharmony_ci	};
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci	port@1 {
7662306a36Sopenharmony_ci		label = "lan1";
7762306a36Sopenharmony_ci	};
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci	port@2 {
8062306a36Sopenharmony_ci		label = "lan6";
8162306a36Sopenharmony_ci	};
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ci	port@3 {
8462306a36Sopenharmony_ci		label = "lan5";
8562306a36Sopenharmony_ci	};
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci	/* External BCM53134S switch */
8862306a36Sopenharmony_ci	port@7 {
8962306a36Sopenharmony_ci		label = "sw";
9062306a36Sopenharmony_ci		reg = <7>;
9162306a36Sopenharmony_ci		phy-mode = "rgmii";
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ci		fixed-link {
9462306a36Sopenharmony_ci			speed = <1000>;
9562306a36Sopenharmony_ci			full-duplex;
9662306a36Sopenharmony_ci		};
9762306a36Sopenharmony_ci	};
9862306a36Sopenharmony_ci};
9962306a36Sopenharmony_ci
10062306a36Sopenharmony_ci&mdio {
10162306a36Sopenharmony_ci	/* lan8 */
10262306a36Sopenharmony_ci	ethernet-phy@0 {
10362306a36Sopenharmony_ci		reg = <0>;
10462306a36Sopenharmony_ci	};
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ci	/* lan7 */
10762306a36Sopenharmony_ci	ethernet-phy@1 {
10862306a36Sopenharmony_ci		reg = <1>;
10962306a36Sopenharmony_ci	};
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ci	/* lan4 */
11262306a36Sopenharmony_ci	ethernet-phy@2 {
11362306a36Sopenharmony_ci		reg = <2>;
11462306a36Sopenharmony_ci	};
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ci	/* lan3 */
11762306a36Sopenharmony_ci	ethernet-phy@3 {
11862306a36Sopenharmony_ci		reg = <3>;
11962306a36Sopenharmony_ci	};
12062306a36Sopenharmony_ci};
12162306a36Sopenharmony_ci
12262306a36Sopenharmony_ci&leds {
12362306a36Sopenharmony_ci	led@11 {
12462306a36Sopenharmony_ci		reg = <0x11>;
12562306a36Sopenharmony_ci		function = LED_FUNCTION_POWER;
12662306a36Sopenharmony_ci		color = <LED_COLOR_ID_WHITE>;
12762306a36Sopenharmony_ci		default-state = "on";
12862306a36Sopenharmony_ci		active-low;
12962306a36Sopenharmony_ci		pinctrl-names = "default";
13062306a36Sopenharmony_ci		pinctrl-0 = <&pins_led_17_a>;
13162306a36Sopenharmony_ci	};
13262306a36Sopenharmony_ci
13362306a36Sopenharmony_ci	led@12 {
13462306a36Sopenharmony_ci		reg = <0x12>;
13562306a36Sopenharmony_ci		function = LED_FUNCTION_WAN;
13662306a36Sopenharmony_ci		color = <LED_COLOR_ID_RED>;
13762306a36Sopenharmony_ci		active-low;
13862306a36Sopenharmony_ci		pinctrl-names = "default";
13962306a36Sopenharmony_ci		pinctrl-0 = <&pins_led_18_a>;
14062306a36Sopenharmony_ci	};
14162306a36Sopenharmony_ci
14262306a36Sopenharmony_ci	led@14 {
14362306a36Sopenharmony_ci		reg = <0x14>;
14462306a36Sopenharmony_ci		function = LED_FUNCTION_WPS;
14562306a36Sopenharmony_ci		color = <LED_COLOR_ID_WHITE>;
14662306a36Sopenharmony_ci		active-low;
14762306a36Sopenharmony_ci		pinctrl-names = "default";
14862306a36Sopenharmony_ci		pinctrl-0 = <&pins_led_20_a>;
14962306a36Sopenharmony_ci	};
15062306a36Sopenharmony_ci
15162306a36Sopenharmony_ci	led@15 {
15262306a36Sopenharmony_ci		reg = <0x15>;
15362306a36Sopenharmony_ci		function = LED_FUNCTION_WAN;
15462306a36Sopenharmony_ci		color = <LED_COLOR_ID_WHITE>;
15562306a36Sopenharmony_ci		active-low;
15662306a36Sopenharmony_ci		pinctrl-names = "default";
15762306a36Sopenharmony_ci		pinctrl-0 = <&pins_led_21_a>;
15862306a36Sopenharmony_ci	};
15962306a36Sopenharmony_ci
16062306a36Sopenharmony_ci	led@19 {
16162306a36Sopenharmony_ci		reg = <0x19>;
16262306a36Sopenharmony_ci		function = LED_FUNCTION_LAN;
16362306a36Sopenharmony_ci		color = <LED_COLOR_ID_WHITE>;
16462306a36Sopenharmony_ci		pinctrl-names = "default";
16562306a36Sopenharmony_ci		pinctrl-0 = <&pins_led_25_a>;
16662306a36Sopenharmony_ci	};
16762306a36Sopenharmony_ci};
16862306a36Sopenharmony_ci
16962306a36Sopenharmony_ci&nandcs {
17062306a36Sopenharmony_ci	nand-ecc-strength = <4>;
17162306a36Sopenharmony_ci	nand-ecc-step-size = <512>;
17262306a36Sopenharmony_ci	nand-on-flash-bbt;
17362306a36Sopenharmony_ci	brcm,nand-has-wp;
17462306a36Sopenharmony_ci
17562306a36Sopenharmony_ci	#address-cells = <1>;
17662306a36Sopenharmony_ci	#size-cells = <0>;
17762306a36Sopenharmony_ci
17862306a36Sopenharmony_ci	partitions {
17962306a36Sopenharmony_ci		compatible = "brcm,bcm4908-partitions";
18062306a36Sopenharmony_ci		#address-cells = <1>;
18162306a36Sopenharmony_ci		#size-cells = <1>;
18262306a36Sopenharmony_ci
18362306a36Sopenharmony_ci		partition@0 {
18462306a36Sopenharmony_ci			compatible = "nvmem-cells";
18562306a36Sopenharmony_ci			label = "cferom";
18662306a36Sopenharmony_ci			reg = <0x0 0x100000>;
18762306a36Sopenharmony_ci
18862306a36Sopenharmony_ci			#address-cells = <1>;
18962306a36Sopenharmony_ci			#size-cells = <1>;
19062306a36Sopenharmony_ci			ranges = <0 0x0 0x100000>;
19162306a36Sopenharmony_ci
19262306a36Sopenharmony_ci			base_mac_addr: mac@106a0 {
19362306a36Sopenharmony_ci				reg = <0x106a0 0x6>;
19462306a36Sopenharmony_ci			};
19562306a36Sopenharmony_ci		};
19662306a36Sopenharmony_ci
19762306a36Sopenharmony_ci		partition@100000 {
19862306a36Sopenharmony_ci			compatible = "brcm,bcm4908-firmware";
19962306a36Sopenharmony_ci			reg = <0x100000 0x5700000>;
20062306a36Sopenharmony_ci		};
20162306a36Sopenharmony_ci
20262306a36Sopenharmony_ci		partition@5800000 {
20362306a36Sopenharmony_ci			compatible = "brcm,bcm4908-firmware";
20462306a36Sopenharmony_ci			reg = <0x5800000 0x5700000>;
20562306a36Sopenharmony_ci		};
20662306a36Sopenharmony_ci	};
20762306a36Sopenharmony_ci};
208