Mt7628an: GPIOs 65 and 70 become 1 and 6 when set in the device tree as gpio-leds


What is happening here when I have this in my device tree file:

	leds {
		compatible = "gpio-leds";

		data_ok {
			label = "blue:data_ok";
			gpios = <&gpio 65 GPIO_ACTIVE_LOW>;

		led_red: data_nok {
			label = "red:data_nok";
			gpios = <&gpio 70 GPIO_ACTIVE_LOW>;

When checked at runtime, it becomes this:

 cat /sys/kernel/debug/gpio
gpiochip2: GPIOs 416-447, parent: platform/10000600.gpio, 10000600.gpio-bank2:
 gpio-417 (                    |blue:data_ok        ) out hi ACTIVE LOW
 gpio-422 (                    |red:data_nok        ) out hi ACTIVE LOW

They have become GPIOs 1 and 6. When GPIOs 65 and 70 are exported, then they work as intended:

gpiochip0: GPIOs 480-511, parent: platform/10000600.gpio, 10000600.gpio-bank0:
 gpio-481 (                    |sysfs               ) in  lo
 gpio-486 (                    |sysfs               ) in  lo

The two GPIOs are LEDs that I wish to control.

Can anyone tell me where the problem might be, and what I could do to rectify it?

Could anyone share their insight on this seemingly odd behavior? I'd really like to understand why this is happening.

Hi, I want to use the module GPIOs. I created a dts but I do not know how to install it on my device. Could you please give me some hints?