YT8521SH网卡
- 其默认提示灯状态为
Pin Name | Description |
---|---|
LED0 | Light = Link up at 10Mbps; 发送或接收数据时闪 |
LED1 | Light = Link up at 100Mbps; 发送或接收数据时闪 |
LED2 | Light = Link up at 1000Mbps; 发送或接收数据时闪 |
- LED寄存器分别为:
- LED0_CFG (EXT_0xA00C)
- LED1_CFG (EXT_0xA00D)
- LED2_CFG (EXT_0xA00E)
通过 在 扩展寄存器的地址偏移寄存器(0x1E)写入将修改的寄存器地址
在 扩展寄存器的数据寄存器(0x1F)写入将修改的寄存器的数据
例:使用LED1(绿灯)LED2(黄灯)
--- a/kernel-5.10/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/kernel-5.10/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -5228,6 +5228,14 @@ int stmmac_dvr_probe(struct device *device,
*/
pm_runtime_put(device);
+ mdiobus_write(priv->mii, 0, 0x1e, 0xa00e); //黄灯闪 默认0xc670
+ mdiobus_write(priv->mii, 0, 0x1f, 0xc607); //有数据传输只闪,不常亮
+
+ mdiobus_write(priv->mii, 0, 0x1e, 0xa00d);
+ mdiobus_write(priv->mii, 0, 0x1f, 0xc070); //连接正常常亮,不闪
+
return ret;
其中:
int mdiobus_write(struct mii_bus *bus, int addr, u32 regnum, u16 val);
addr为mido地址,0是广播地址,如果只有一颗芯片直接读写0即可。
如果多颗芯片按照dts中mdio节点地址配置读写,如下:
-----XXX.dts
&mdio1 {
rgmii_phy1: phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x1>;
};
};