// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
 * Copyright (C) 2021 MediaTek Inc.
 * Author: Sam.Shih <sam.shih@mediatek.com>
 */

/dts-v1/;
#include "mt7986a.dtsi"
#include "mt7986a-zyxel-ex5601-t0-common.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

/ {
	model = "Zyxel EX5601-T0";
	compatible = "zyxel,ex5601-t0", "mediatek,mt7986a-rfb-snand";

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

&spi_nand {
	mediatek,nmbm;
	mediatek,bmt-max-ratio = <1>;
	mediatek,bmt-max-reserved-blocks = <64>;
};

&nand_partitions {

	partition@0 {
		label = "BL2";
		reg = <0x00000 0x0100000>;
		read-only;
	};

	partition@100000 {
		label = "u-boot-env";
		reg = <0x0100000 0x0080000>;
	};

	factory: partition@180000 {
		label = "Factory";
		reg = <0x180000 0x0200000>;
		read-only;

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

			eeprom_factory: eeprom@0 {
				#size-cells = <1>;
				reg = <0x0 0x1000>;
			};

			macaddr_factory_0004: macaddr@0004 {
				compatible = "mac-base";
				reg = <0x0004 0x6>;
				#nvmem-cell-cells = <1>;
			};

			macaddr_factory_0024: macaddr@0024 {
				compatible = "mac-base";
				reg = <0x0024 0x6>;
				#nvmem-cell-cells = <1>;
			};

			macaddr_factory_002a: macaddr@002a {
				compatible = "mac-base";
				reg = <0x002a 0x6>;
				#nvmem-cell-cells = <1>;
			};
		};
	};

	partition@380000 {
		label = "FIP";
		reg = <0x380000 0x01C0000>;
		read-only;
	};

	partition@540000 {
		label = "zloader";
		reg = <0x540000 0x0040000>;
		read-only;
	};

	partition@580000 {
		label = "ubi";
		reg = <0x580000 0x4000000>;
	};

	partition@4580000 {
		label = "ubi2";
		reg = <0x4580000 0x4000000>;
		read-only;
	};

	partition@8580000 {
		label = "zyubi";
		reg = <0x8580000 0x15A80000>;
	};
};

&gmac0 {
	nvmem-cells = <&macaddr_factory_002a 0>;
	nvmem-cell-names = "mac-address";
};

&gmac1 {
	nvmem-cells = <&macaddr_factory_0024 0>;
	nvmem-cell-names = "mac-address";
};

&wifi {
	nvmem-cells = <&eeprom_factory>;
	nvmem-cell-names = "eeprom";
};
