How to add a ramips device in OpenWrt version 21.02.0?

I want to add a ramips device in OpenWrt version 21.02.0. There is no documentation available for the same. I have tried but failed to create the image by using this link https://openwrt.org/docs/guide-developer/adding_new_device .
Please help.
Below is the error log.

mipsel-openwrt-linux-musl-cpp: error: ../dts/mt7621_zbt-wg1602.dts: No such file or directory
mipsel-openwrt-linux-musl-cpp: warning: '-x assembler-with-cpp' after last input file has no effect
mipsel-openwrt-linux-musl-cpp: fatal error: no input files
compilation terminated.
make[5]: *** [Makefile:206: /root/zbt/wg1602/v21/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/image-mt7621_zbt-wg1602.dtb] Error 1
make[5]: Leaving directory '/root/zbt/wg1602/v21/openwrt/target/linux/ramips/image'
make[4]: *** [Makefile:23: install] Error 2
make[4]: Leaving directory '/root/zbt/wg1602/v21/openwrt/target/linux/ramips'
make[3]: *** [Makefile:11: install] Error 2
make[3]: Leaving directory '/root/zbt/wg1602/v21/openwrt/target/linux'
time: target/linux/install#57.59#14.79#68.38
    ERROR: target/linux failed to build.
make[2]: *** [target/Makefile:25: target/linux/install] Error 1
make[2]: Leaving directory '/root/zbt/wg1602/v21/openwrt'
make[1]: *** [target/Makefile:19: /root/zbt/wg1602/v21/openwrt/staging_dir/target-mipsel_24kc_musl/stamp/.target_install] Error 2
make[1]: Leaving directory '/root/zbt/wg1602/v21/openwrt'
make: *** [/root/zbt/wg1602/v21/openwrt/include/toplevel.mk:230: world] Error 2

name correction is needed. You may need to rename mt7621_zbt-wg1326.dts to mt7621_zbt-wg1602.dts
after changes do "touch Makefile" in target/ramips/ directory

now i am getting the below error

../dts/mt7621_zbt-wg1602.dts:17.7-20.5: ERROR (phandle_references): /gpio-leds/4g2: Reference to non-existent node or label "gpio0"

../dts/mt7621_zbt-wg1602.dts:21.6-24.5: ERROR (phandle_references): /gpio-leds/4g: Reference to non-existent node or label "gpio0"

../dts/mt7621_zbt-wg1602.dts:25.8-28.5: ERROR (phandle_references): /gpio-leds/card: Reference to non-existent node or label "gpio0"

../dts/mt7621_zbt-wg1602.dts:35.7-39.5: ERROR (phandle_references): /gpio_export/4g2: Reference to non-existent node or label "gpio0"

../dts/mt7621_zbt-wg1602.dts:59.9-63.5: ERROR (phandle_references): /gpio-keys-polled/reset: Reference to non-existent node or label "gpio0"

ERROR: Input tree has errors, aborting (use -f to force output)
make[5]: *** [Makefile:207: /root/zbt/wg1602/v21/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/image-mt7621_zbt-wg1602.dtb] Error 2
make[5]: Leaving directory '/root/zbt/wg1602/v21/openwrt/target/linux/ramips/image'
make[4]: *** [Makefile:23: install] Error 2
make[4]: Leaving directory '/root/zbt/wg1602/v21/openwrt/target/linux/ramips'
make[3]: *** [Makefile:11: install] Error 2
make[3]: Leaving directory '/root/zbt/wg1602/v21/openwrt/target/linux'
time: target/linux/install#59.24#16.05#71.22
    ERROR: target/linux failed to build.
make[2]: *** [target/Makefile:25: target/linux/install] Error 1
make[2]: Leaving directory '/root/zbt/wg1602/v21/openwrt'
make[1]: *** [target/Makefile:19: /root/zbt/wg1602/v21/openwrt/staging_dir/target-mipsel_24kc_musl/stamp/.target_install] Error 2
make[1]: Leaving directory '/root/zbt/wg1602/v21/openwrt'
make: *** [/root/zbt/wg1602/v21/openwrt/include/toplevel.mk:230: world] Error 2

below is the dts file

/dts-v1/;
#include "mt7621.dtsi"

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

/ {
	model = "ZBT-WG1602";
	
	chosen {
		bootargs = "console=ttyS0,115200";
	};

	gpio-leds {
		compatible = "gpio-leds";

		4g2 {
			label = "4g2";
			gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
		};
		4g {
			label = "4g";
			gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
		};
		card {
			label = "card";
			gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
		};
	};
	
	gpio_export {
		compatible = "gpio-export";
		#size-cells = <0>;

		4g2 {
			gpio-export,name = "4g2";
			gpio-export,output = <0>;
			gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
		};
		4g {
			gpio-export,name = "4g";
			gpio-export,output = <0>;
			gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
		};
		usb_sw {
			gpio-export,name = "usb_sw";
			gpio-export,output = <1>;
			gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
		};
	};


	gpio-keys-polled {
		compatible = "gpio-keys-polled";
		#address-cells = <1>;
		#size-cells = <0>;
		poll-interval = <20>;

		reset {
			label = "reset";
			gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_RESTART>;
		};
	};
};

&sdhci {
	status = "okay";
};

&spi0 {
	status = "okay";

	m25p80@0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "jedec,spi-nor";
		reg = <0>;
		spi-max-frequency = <10000000>;
		m25p,chunked-io = <32>;

		partition@0 {
			label = "u-boot";
			reg = <0x0 0x30000>;
			read-only;
		};

		partition@30000 {
			label = "u-boot-env";
			reg = <0x30000 0x10000>;
			read-only;
		};

		factory: partition@40000 {
			label = "factory";
			reg = <0x40000 0x10000>;
		};

		firmware: partition@50000 {
			label = "firmware";
			reg = <0x50000 0x1fb0000>;
		};
	};
};

&pcie {
	status = "okay";
};

&ethernet {
	mtd-mac-address = <&factory 0xe000>;
};

&pinctrl {
	state_default: pinctrl0 {
		gpio {
			ralink,group = "wdt", "i2c", "uart2", "uart3", "rgmii2";
			ralink,function = "gpio";
		};
	};
};

your leds declaration may wrong.

do code like the example, you can check other dts file.

	leds {
		compatible = "gpio-leds";

		led_status: status {
			label = "green:status";
			gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
		};
	};
};

ok i'll try but the same dts is working fine in version 18.

That's no guarantee. Even DTS definitions change, the spec sees updates now and then.

Take a look at similar devices in the 21.02 codebase and adapt accordingly.