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

#include "mt7621_mikrotik.dtsi"

/ {
	gpio_export {
		compatible = "gpio-export";
		#size-cells = <0>;

		buzzer {
			/* Beeper requires PWM for frequency selection */
			gpio-export,name = "buzzer";
			gpio-export,output = <0>;
			gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
		};
	};

	reg_usb_power: regulator {
		compatible = "regulator-fixed";
		regulator-name = "usb_power";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
		enable-active-high;
		regulator-boot-on;
	};
};

&xhci {
	vbus-supply = <&reg_usb_power>;
};

&keys {
	mode {
		label = "mode";
		gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
		linux,code = <BTN_0>;
	};
};

&partitions {
	partition@40000 {
		compatible = "mikrotik,minor";
		label = "firmware";
		reg = <0x040000 0xfc0000>;
	};
};

&switch0 {
	ports {
		port0: port@0 {
			status = "okay";
			label = "wan";

			nvmem-cells = <&macaddr_hard 0>;
			nvmem-cell-names = "mac-address";
		};

		port@1 {
			status = "okay";
			label = "lan2";

			nvmem-cells = <&macaddr_hard 1>;
			nvmem-cell-names = "mac-address";
		};

		port@2 {
			status = "okay";
			label = "lan3";

			nvmem-cells = <&macaddr_hard 2>;
			nvmem-cell-names = "mac-address";
		};

		port@3 {
			status = "okay";
			label = "lan4";

			nvmem-cells = <&macaddr_hard 3>;
			nvmem-cell-names = "mac-address";
		};

		port@4 {
			status = "okay";
			label = "lan5";

			nvmem-cells = <&macaddr_hard 4>;
			nvmem-cell-names = "mac-address";
		};
	};
};

&sdhci {
	status = "okay";
};
