更新openwrt源码后,WLED_N、P0_LED无法控制,通过reg命令读取WLED
root@Widora:/etc# reg r 0x10000064
add:0x10000064 = 0x550
网寄存器里面写0x552,WLED电平没有反应。
P1_LED到P4_LED可以控制。
更新openwrt源码后,WLED_N、P0_LED无法控制,通过reg命令读取WLED
root@Widora:/etc# reg r 0x10000064
add:0x10000064 = 0x550
网寄存器里面写0x552,WLED电平没有反应。
P1_LED到P4_LED可以控制。
@edward 我们这边的源码中,WLED和LINK0一只是把GPIO_MODE寄存器调整到PHY的那边,所以看到的闪烁灯都是PHY直驱的,不是openwrt系统驱动的。
你的这个dts的调整,相当于注册成gpio来主动驱动,估计你要实用net-trig包来驱动。
设备树文件是这样配置的。
pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "gpio";
ralink,function = "gpio";
};
perst {
ralink,group = "perst";
ralink,function = "gpio";
};
refclk {
ralink,group = "refclk";
ralink,function = "gpio";
};
i2s {
ralink,group = "i2s";
ralink,function = "gpio";
};
spis {
ralink,group = "spis";
ralink,function = "gpio";
};
wled_an {
ralink,group = "wled_an";
ralink,function = "gpio";
};
ephy_p0{
ralink,group = "ephy_p0";
ralink,function = "gpio";
};
ephy_p1 {
ralink,group = "ephy_p1";
ralink,function = "gpio";
};
ephy_p2 {
ralink,group = "ephy_p2";
ralink,function = "gpio";
};
ephy_p3 {
ralink,group = "ephy_p3";
ralink,function = "gpio";
};
ephy_p4 {
ralink,group = "ephy_p4";
ralink,function = "gpio";
};
wdt {
ralink,group = "wdt";
ralink,function = "gpio";
};
};
};
gpio-leds {
compatible = "gpio-leds";
sys {
label = "mediatek:orange:sys";
gpios = <&gpio1 9 0>;
default-state = "on";
};
wifi {
label = "mediatek:orange:wifi";
gpios = <&gpio1 12 1>;
default-state = "on";
};
wan {
label = "mediatek:orange:wan";
gpios = <&gpio1 11 0>;
default-state = "off";
};
lan1 {
label = "mediatek:orange:lan";
gpios = <&gpio1 8 0>;
default-state = "off";
};
};
新的源码中,WLED_N、P0_LED的IO口有作为他用吗?