LEDs are not registered after openwrt compilation

Hello,
i'm trying to build custom firmware for my router it's based on mt7620a CPU.
I've successfully build it with this dts file below.

But after finished compiling and sucessfully installing it on a device the LED device aren't showing, i'm trying to understand what goes wrong is it the dts config or the build process ?

Build Version:
Architecture: MediaTek MT7620A ver:2 eco:6
Target Platform: ramips/mt7620
Firmware Version: OpenWrt 23.05.2 r23630-842932a63d / LuCI openwrt-23.05 branch git-23.306.39416-c86c256
Kernel Version: 5.15.137

mt7620a_bolt_bl100-201.dts

#include "mt7620a.dtsi"

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


/ {
	compatible = "bolt,bl100-201", "ralink,mt7620a-soc";
	model = "Bolt BL100/201";

	aliases {
		led-boot = &led_reset;
		led-failsafe = &led_sig5;
		led-running = &led_power;
		led-upgrade = &led_sig6;
		label-mac-device = &ethernet;
	};

	chosen {
		bootargs = "console=ttyS0,115200";
	};

	leds {
		compatible = "gpio-leds";

		led_sig1: sig1 {
			label = "blue:sig1";
			gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
		};

		led_sig2: sig2 {
			label = "blue:sig2";
			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
		};

		led_sig3: sig3 {
			label = "blue:sig3";
			gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
		};

		led_sig4: sig4 {
			label = "blue:sig4";
			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
		};

		led_sig5: sig5 {
			label = "red:sig5";
			gpios = <&gpio2 24 GPIO_ACTIVE_LOW>;
		};

		led_sig6: sig6 {
			label = "red:sig6";
			gpios = <&gpio2 25 GPIO_ACTIVE_LOW>;
		};

		led_power: power {
			label = "blue:power";
			gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
			function = LED_FUNCTION_POWER;
			color = <LED_COLOR_ID_BLUE>;
		};

		led_reset: reset {
			label = "red:reset";
			gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
			function = LED_FUNCTION_BOOT;
			color = <LED_COLOR_ID_BLUE>;
		};

		led_wifi2: wifi2 {
			label = "blue:wifi2";
			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
			function = LED_FUNCTION_WLAN;
			color = <LED_COLOR_ID_BLUE>;
		};
		
		led_wifi5: wifi5 {
			label = "blue:wifi5";
			gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
			function = LED_FUNCTION_WLAN;
			color = <LED_COLOR_ID_BLUE>;
		};

		led_wps: wps {
			label = "blue:wps";
			gpios = <&gpio2 22 GPIO_ACTIVE_LOW>;
			function = LED_FUNCTION_WPS;
			color = <LED_COLOR_ID_BLUE>;
		};

		led_voip: voip {
			label = "blue:voip";
			gpios = <&gpio2 23 GPIO_ACTIVE_LOW>;
			function = LED_FUNCTION_ALARM;
			color = <LED_COLOR_ID_BLUE>;
		};

		lan: lan {
			label = "green:lan";
			gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
			function = LED_FUNCTION_LAN;
			color = <LED_COLOR_ID_GREEN>;
		};
		
		wan: wan {
			label = "green:wan";
			gpios = <&gpio2 4 GPIO_ACTIVE_LOW>;
			function = LED_FUNCTION_WAN;
			color = <LED_COLOR_ID_GREEN>;
		};

	};

	keys {
		compatible = "gpio-keys";

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

		wps {
			label = "WPS";
			gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_WPS_BUTTON>;
		};

	};
};

&gpio1 {
	status = "okay";
};

&gpio2 {
	status = "okay";
};

&spi0 {
	status = "okay";

	flash@0 {
		compatible = "jedec,spi-nor";
		reg = <0>;
		spi-max-frequency = <70000000>;
		m25p,fast-read;

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

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

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

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

			partition@50000 {
				compatible = "denx,uimage";
				label = "firmware";
				reg = <0x50000 0xf80000>;
			};

			partition@fd0000 {
				label = "crash";
				reg = <0xfd0000 0x10000>;
			};

			partition@fe0000 {
				label = "reserved";
				reg = <0xfe0000 0x10000>;
				read-only;
			};

			partition@ff0000 {
				label = "Bdata";
				reg = <0xff0000 0x10000>;
			};
		};
	};
};

&ehci {
	status = "okay";
};

&ohci {
	status = "okay";
};

&ethernet {
	nvmem-cells = <&macaddr_factory_28>;
	nvmem-cell-names = "mac-address";

	mediatek,portmap = "llllw";
};

&wmac {
	ralink,mtd-eeprom = <&factory 0x0>;

	pinctrl-names = "default", "pa_gpio";
	pinctrl-0 = <&pa_pins>;
	pinctrl-1 = <&pa_gpio_pins>;
};

&pcie {
	status = "okay";
};

&pcie0 {
	mt76@0,0 {
		reg = <0x0000 0 0 0 0>;
		mediatek,mtd-eeprom = <&factory 0x8000>;
		ieee80211-freq-limit = <5000000 6000000>;
	};
};

&state_default {
	gpio {
		groups = "ephy", "i2c", "rgmii1";
		function = "gpio";
	};
};


&factory {
	compatible = "nvmem-cells";
	#address-cells = <1>;
	#size-cells = <1>;

	macaddr_factory_28: macaddr@28 {
		reg = <0x28 0x6>;
	};
};

01_leds file

....
bolt,bl100-201)
	ucidef_set_led_switch "lan" "lan" "green:lan" "switch0" "0x02"
	ucidef_set_led_switch "wan" "wan" "green:wan" "switch0" "0x10"
	;;

02_network file

	bolt,bl100-201)
		ucidef_add_switch "switch0" \
			"3:lan" "4:wan" "6@eth0"
		;;

03_gpio_switches

bolt,bl100-201)
	ucidef_add_gpio_switch "modem_enable" "Enable LTE Modem" "28" "0"
	;;

Here's the output of the system
image

What about target/linux/ramips/image/mt7620.mk?

Also take a look: https://github.com/yHpgi/openwrt-bl201-boluwrt

here's my config

define Device/bolt_bl100-201
  SOC := mt7620a
  IMAGE_SIZE := 15872k
  DEVICE_VENDOR := Bolt
  DEVICE_MODEL := BL100/201
  DEVICE_PACKAGES := kmod-mt76x2 kmod-usb2 kmod-usb-ohci
  SUPPORTED_DEVICES += bl100-201
endef
TARGET_DEVICES += bolt_bl100-201

Okay, will take a look

I think i found the problem, referencing with this source.

i might use different value/offset in the GPIO value. Because i reverse engineed the original FW and found this values and try to map it into OpenWRT but turns out it has different offset than the original FW.

----- ORIGINAL FW -> MAPPED -----
PWR_MODEM=28

LED_LTE_S4=35 -> gpio1@11
LED_LTE_S3=34 -> gpio1@10
LED_LTE_S2=30 -> gpio1@6
LED_LTE_S1=31 -> gpio1@7    
LED_LTE_S1S2_RST=64 -> gpio2@24
LED_LTE_S3S4_RST=65 -> gpio2@25

LED_POWER=33 -> gpio1@9
LED_RESET=32 -> gpio1@8 
LED_WIFI24=30 -> gpio1@6
LED_WIFI5=29 -> gpio1@5
LED_WPS=62 -> gpio2@22
LED_VOIP=63 -> gpio2@23
LED_LAN=43 -> gpio2@3
LED_WAN=44 -> gpio2@4
BTN_WPS=25 -> gpio1@1
BTN_RST=26 -> gpio1@2

Next, i will try to find it in openwrt manually

Take a look at: https://github.com/openwrt/openwrt/pull/14836