// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
 * Device Tree file for the Linksys WRT1900ACv2 (Cobra)
 *
 * Copyright (C) 2015 Imre Kaloz <kaloz@openwrt.org>
 */

/dts-v1/;
#include "armada-385-linksys.dtsi"

/ {
	model = "Linksys WRT1900ACv2";
	compatible = "linksys,cobra", "linksys,armada385", "marvell,armada385",
		     "marvell,armada380";
};

&expander0 {
	wan_amber@0 {
		label = "cobra:amber:wan";
		reg = <0x0>;
	};

	wan_white@1 {
		label = "cobra:white:wan";
		reg = <0x1>;
	};

	wlan_2g@2 {
		label = "cobra:white:wlan_2g";
		reg = <0x2>;
	};

	wlan_5g@3 {
		label = "cobra:white:wlan_5g";
		reg = <0x3>;
	};

	usb2@5 {
		label = "cobra:white:usb2";
		reg = <0x5>;
	};

	usb3_1@6 {
		label = "cobra:white:usb3_1";
		reg = <0x6>;
	};

	usb3_2@7 {
		label = "cobra:white:usb3_2";
		reg = <0x7>;
	};

	wps_white@8 {
		label = "cobra:white:wps";
		reg = <0x8>;
	};

	wps_amber@9 {
		label = "cobra:amber:wps";
		reg = <0x9>;
	};
};

&gpio_leds {
	power {
		label = "cobra:white:power";
	};

	sata {
		label = "cobra:white:sata";
	};
};

&nand {
	/* 128MiB */

	partition@0 {
		label = "u-boot";
		reg = <0x0000000 0x200000>;  /* 2MiB */
		read-only;
	};

	partition@100000 {
		label = "u_env";
		reg = <0x200000 0x40000>;    /* 256KiB */
	};

	partition@140000 {
		label = "s_env";
		reg = <0x240000 0x40000>;    /* 256KiB */
	};

	partition@900000 {
		label = "devinfo";
		reg = <0x900000 0x100000>;   /* 1MiB */
		read-only;
	};

	/* kernel1 overlaps with rootfs1 by design */
	partition@a00000 {
		label = "kernel1";
		reg = <0xa00000 0x2800000>;  /* 40MiB */
	};

	partition@1000000 {
		label = "rootfs1";
		reg = <0x1000000 0x2200000>;  /* 34MiB */
	};

	/* kernel2 overlaps with rootfs2 by design */
	partition@3200000 {
		label = "kernel2";
		reg = <0x3200000 0x2800000>; /* 40MiB */
	};

	partition@3800000 {
		label = "rootfs2";
		reg = <0x3800000 0x2200000>; /* 34MiB */
	};

	/*
	 * 38MiB, last MiB is for the BBT, not writable
	 */
	partition@5a00000 {
		label = "syscfg";
		reg = <0x5a00000 0x2600000>;
	};

	/*
	 * Unused area between "s_env" and "devinfo".
	 * Moved here because otherwise the renumbered
	 * partitions would break the bootloader
	 * supplied bootargs
	 */
	partition@180000 {
		label = "unused_area";
		reg = <0x280000 0x680000>;   /* 6.5MiB */
	};
};
