我的板子是自己生产的,芯片用的是AM4377,用以前的uboot一切正常,我从官网下载了ti-processor-sdk-linux-am437x-evm-06.03.00.106-Linux-x86-Install这个SDK,编译UBOOT后,启动时发现总是提示
Net: Could not get PHY for ethernet@4a100000: addr 0
eth2: ethernet@4a100000
最后我看源码时发现,源码中强制使用了CONFIG_DM_ETH,而以前的旧版本则没有,我尝试着,去掉CONFIG_DM_ETH这个配置选项,选择编译eth_legacy.c这个驱动,但是再次编译会报错。编译无法通过
config TARGET_AM43XX_EVM
bool "Support am43xx_evm"
select BOARD_LATE_INIT
select TI_I2C_BOARD_DETECT
imply DM_ETH
imply DM_I2C
。。。。。
所以我想问问,最新的SDK里面在CONFIG_DM_ETH=y的情况下,如何使ETH驱动工作,推送的源码里面已经强制使用了DM_ETH,难道官方没有修改?还得我们自己修改来适应新的驱动模式?
Shine:
请问您板子上的网口芯片型号和电路设计和EVM板上一样吗?dts文件使用的是EVM板的dts? 有做过修改吗?
neo wang:
回复 Shine:
是参考官方的板子设计的,下载过ti-processor-sdk-linux-am437x-evm-04.03.00.05这个版本,去掉CONFIG_EM_ETH,然后按照自己的板子修改mux.c文件即可成功启动板子,但是这个6.03这个版本使用的是新的驱动模式了,网络这里无法通过
neo wang:
回复 Shine:
用am43xx_evm_defconfig,和am437x-gp-vem.dts设备树与我板子差不多,不怎么需要修改,我对比了最新的SDK与我之前移植成功的SDK,两者就差在最新的强制使用了DM_ETH这一项,这一项正好是网络这块
Shine:
回复 neo wang:
我在e2e上发了个帖子,请关注e2e工程师的回复。
e2e.ti.com/…/3501448