最近入手了一块Tony老师的 DOPI 3516DV300的开发板,但发现默认的uboot和kernel网口是不通的。
之前有买过一块易百纳的3516DV300开发板,对比网口原理图发现使用的PHY芯片不同。
DOPI 3516DV300使用的LAN8720A phy芯片
易百纳的3516DV300使用的RTL8201 phy芯片
这两个PHY芯片应该是有一点不同的,然后开始一顿百度,
尝试一:
参考这个帖子https://blog.csdn.net/cocoron/article/details/105224865
修改了PHY_ADDR\ PHY_ID,
按 8720A手册上的, PHYADDR0引脚悬空时,PHY_ADDR=0,
然后PHY_ID也按帖子中加入了,另外打印了读取的phy_id。
实际编译出来,发现打印读取的phy_id = 0xffff(图中打印的phy_addr是后面尝试从0修改为1的结果)。
尝试二:
按海思官方的手册《外围设备驱动修改指南》1.1.3 PHY地址配置,修改了 uboot和 kernel的 dts中phy_addr, 结果还是网口不通。
尝试三:
板子上的LAN8720 PHY始终无法调通,后面暂时跳过,想了从USB网卡的方法进行tftp,居然成功了,但又遇到了机器码不对的问题,而且改问题只有从NFS启动时才有,暂未找到较好的解决办法。
虽然uboot下可以使用USB网卡,但板子上的网口不通始终难受。
哪位大佬有调过Tony老师的 dv300+LAN8720的问题吗? 能否帮忙指导一下还有哪些地方需要修改?
最近编辑记录 xichuangxue (2022-10-31 22:04:33)
离线
他不是有技术群吗?你加他的群直接问他呗~~
离线
他不是有技术群吗?你加他的群直接问他呗~~
在群里@Tony老师问了一下, 可能最近在加班,没有回复。
离线
已解决,晕哥麻烦帮忙改下帖子标题名(加上已解决)。
在尝试过程中,放弃了好几次,断断续续的在尝试(又菜又爱玩)。
自己挖的坑哭着也要自己填了,避免大家走弯路,这里分享一下解决办法。
涉及到的修改包含以下几点
1、DOPI-3516dv300板子上的LAN8720的phy address=0,要修改(见下图)。
2、LAN8720使用的外部晶振,RMII-CLK是从PHY输出到 => 3516dv300,要修改(见下图)。
3、LAN8720的PHY ID 是0x7c0fx,要修改(见下图)。
4、DOPI -3516DV300用到的GPIO就没有一个和易百纳相同的,要修改tools/pc/ubootTool/xxx.xlsm文件中GPIO复用寄存器,照着下图改就好。
修改后ping一下网关,再读取phy ID ,tftp都能工作。
最近编辑记录 xichuangxue (2022-11-20 22:43:07)
离线
放一个编译完后,网口ok的uboot。
u-boot-hi3516dv300-DOPI.rar
离线