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

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>

#include "bcm4906.dtsi"

/ {
	compatible = "netgear,r8000p", "brcm,bcm4906", "brcm,bcm4908";
	model = "Netgear R8000P";

	memory@0 {
		device_type = "memory";
		reg = <0x00 0x00 0x00 0x20000000>;
	};

	leds {
		compatible = "gpio-leds";

		led-power-white {
			function = LED_FUNCTION_POWER;
			color = <LED_COLOR_ID_WHITE>;
			gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
		};

		led-power-amber {
			function = LED_FUNCTION_POWER;
			color = <LED_COLOR_ID_AMBER>;
			gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
		};

		led-wps {
			function = LED_FUNCTION_WPS;
			color = <LED_COLOR_ID_WHITE>;
			gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
		};

		led-2ghz {
			function = "2ghz";
			color = <LED_COLOR_ID_WHITE>;
			gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
		};

		led-5ghz-1 {
			function = "5ghz-1";
			color = <LED_COLOR_ID_WHITE>;
			gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
		};

		led-5ghz-2 {
			function = "5ghz-2";
			color = <LED_COLOR_ID_WHITE>;
			gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
		};

		led-usb2 {
			function = "usb2";
			color = <LED_COLOR_ID_WHITE>;
			gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
		};

		led-usb3 {
			function = "usb3";
			color = <LED_COLOR_ID_WHITE>;
			gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
		};

		led-wifi {
			function = "wifi";
			color = <LED_COLOR_ID_WHITE>;
			gpios = <&gpio0 56 GPIO_ACTIVE_LOW>;
		};
	};
};

&enet {
	nvmem-cells = <&base_mac_addr>;
	nvmem-cell-names = "mac-address";
};

&usb_phy {
	brcm,ioc = <1>;
	status = "okay";
};

&ehci {
	status = "okay";
};

&ohci {
	status = "okay";
};

&xhci {
	status = "okay";
};

&ports {
	port@0 {
		label = "lan4";
	};

	port@1 {
		label = "lan3";
	};

	port@2 {
		label = "lan2";
	};

	port@3 {
		label = "lan1";
	};

	port@7 {
		reg = <7>;
		phy-mode = "internal";
		phy-handle = <&phy12>;
		label = "wan";
	};
};

&nandcs {
	nand-ecc-strength = <4>;
	nand-ecc-step-size = <512>;
	nand-on-flash-bbt;

	#address-cells = <1>;
	#size-cells = <0>;

	partitions {
		compatible = "fixed-partitions";
		#address-cells = <1>;
		#size-cells = <1>;

		partition@0 {
			compatible = "nvmem-cells";
			label = "cferom";
			reg = <0x0 0x100000>;

			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0 0x0 0x100000>;

			base_mac_addr: mac@106a0 {
				reg = <0x106a0 0x6>;
			};
		};

		partition@100000 {
			compatible = "brcm,bcm4908-firmware";
			label = "firmware";
			reg = <0x100000 0x4400000>;
		};
	};
};
