不知道V3s的网口灯光控制脚的有效电平是否可以通过寄存器来决定输出的有效电平。
默认好像是高电平有效的,但是硬件上好多设计都是低电平有效,这样一来灯光就反了。
貌似硬件跑linux的时候网口的灯光好像又正常,但是在手册里面好像并没有看到可以配置电平极性的地方,不知道是不是有什么地方可以配置的
离线
自己顶一下
离线
已经解决,现在来说明下解决方案
其实是有寄存器控制的,不是在EMAC的寄存器里面,而是在sys ctrl的寄存器里面
代码的话在sun8i_emac_set_syscon_ephy里面加入*reg |= H3_EPHY_LED_POL;
寄存器位置在0x01c00030 EMAC-EPHY Clock Register
离线
https://github.com/torvalds/linux/blob/master/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
感谢楼主, 我也找到代码了:
if (gmac->variant->soc_has_internal_phy) {
if (of_property_read_bool(node, "allwinner,leds-active-low"))
reg |= H3_EPHY_LED_POL;
else
reg &= ~H3_EPHY_LED_POL;
/* Force EPHY xtal frequency to 24MHz. */
reg |= H3_EPHY_CLK_SEL;
ret = of_mdio_parse_addr(priv->device, priv->plat->phy_node);
if (ret < 0) {
dev_err(priv->device, "Could not parse MDIO addr\n");
return ret;
}
/* of_mdio_parse_addr returns a valid (0 ~ 31) PHY
* address. No need to mask it again.
*/
reg |= 1 << H3_EPHY_ADDR_SHIFT;
}
离线
明天试试,我一般很暴力用busybox devmem 解决
问题是另一个灯呢
最近编辑记录 powerpan (2020-11-22 23:45:08)
离线
测试过是俩灯都一起反了。。能不能只反一个?
离线
测试过是俩灯都一起反了。。能不能只反一个?
对,两个灯一起反,没有单独设置的寄存器。
离线