TI中文支持网
TI专业的中文技术问题搜集分享网站

am5728 移植uboot,网络ping不通

Other Parts Discussed in Thread:AM5728, BEAGLEBOARD-X15

芯片是am5728,SDK版本是ti-processor-sdk-linux-am57xx-evm-06.03.00.106-Linux-x86-Install.bin

在board-support\u-boot-2019.01+gitAUTOINC+333c3e72d3-g333c3e72d3目录下执行如下命令:

make CROSS_COMPILE=arm-linux-gnueabihf- distclean

make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm am57xx_evm_defconfig all

之后把MLO、u-boot.img到SD卡的BOOT分区启动,想用tftp方式启动内核,设置好网络参数,然后ping主机,显示如下

=> ping 192.168.1.105
ethernet@48484000 Waiting for PHY auto negotiation to complete…………….. TIMEOUT !
ping failed; host 192.168.1.105 is not alive

请问原因是什么?uboot哪里需要做修改?谢谢

Nancy Wang:

请参考以下两个链接:
e2e.ti.com/…/726723
software-dl.ti.com/…/Foundational_Components_U-Boot.html

,

qingyulan:

uboot的log信息如下,为什么Net处无任何信息?

这个警告 Warning: ethernet@48484000 using MAC address from ROM是什么意思?

U-Boot 2019.01 (Dec 21 2020 – 16:09:41 +0800)

CPU : DRA752-GP ES2.0Model: TI AM5728 BeagleBoard-X15Board: UNKNOWN(BeagleBoard X15?) REV UNKNOWN xieDRAM: 2 GiBMMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1Loading Environment from FAT… OK

Warning: fastboot.board_rev: unknown board revisionam57x_idk_lcd_detect: Failed to get I2C device 0/56 (ret 1)Net:Warning: ethernet@48484000 using MAC address from ROMeth0: ethernet@48484000Hit any key to stop autoboot: 0switch to partitions #0, OKmmc0 is current deviceSD/MMC found on device 0** Unable to read file boot.scr **26 bytes read in 2 ms (12.7 KiB/s)Loaded env from uEnv.txtImporting environment from mmc0 …switch to partitions #0, OKmmc0 is current deviceSD/MMC found on device 04448768 bytes read in 195 ms (21.8 MiB/s)90792 bytes read in 5 ms (17.3 MiB/s)## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Device Tree to 8ffe6000, end 8ffff2a7 … OK

Starting kernel …

,

Nancy Wang:

这个警告应该不影响。
请问是自制板吗?网口部分相比于开发板硬件上是否有做改动?

,

qingyulan:

是自制的板子,自制板两个PHY的地址是0和1,TI 的开发板PHY地址是1和2,请问在哪里改?谢谢

,

Nancy Wang:

board\ti\am57xx\board.c
static struct cpsw_slave_data cpsw_slaves[] = {{.slave_reg_ofs = 0x208,.sliver_reg_ofs = 0xd80,.phy_addr = 1,},{.slave_reg_ofs = 0x308,.sliver_reg_ofs = 0xdc0,.phy_addr = 2,},
};

,

qingyulan:

网络依然不通,附件是printenv打印的log,请帮看看有无问题,谢谢

1881.teraterm.log

,

Nancy Wang:

可否访问到phy寄存器?
请执行以下命令,并将测试结果贴出来看一下。
ethtool <interface such as eth0>
ethtool -S <interface such as eth0>
ifconfig <interface such as eth0>

,

qingyulan:

uboot下好像没有这两个命令

=> ethtool
Unknown command 'ethtool' – try 'help'
=> ifconfig
Unknown command 'ifconfig' – try 'help'
=>

,

Nancy Wang:

mii device查一下能不能查到phy设备,以及测试看看读写phy寄存器有没有问题。

mii device

mii info

mii read

mii write

,

qingyulan:

static struct cpsw_slave_data cpsw_slaves[] = { { .slave_reg_ofs = 0x208, .sliver_reg_ofs = 0xd80, .phy_addr = 0, }, { .slave_reg_ofs = 0x308, .sliver_reg_ofs = 0xdc0, .phy_addr = 1, },};

把上面的phy_addr分别改成0和1,用mii命令打印的信息如下,和未改的时候mii命令打印信息是一样的

=> mii deviceMII devices: 'ethernet@48484000'Current device: 'ethernet@48484000'=> mii infoPHY 0x00: OUI = 0x0885, Model = 0x22, Rev = 0x02, 100baseT, FDXPHY 0x01: OUI = 0x0885, Model = 0x22, Rev = 0x02, 10baseT, HDX

=> mii info 0PHY 0x00: OUI = 0x0885, Model = 0x22, Rev = 0x02, 100baseT, FDX

=> mii read1140=> mii write=>

=> mii write 0 0 0x1000=> mii read 0 01000=> mii write 0 0 2100=> mii read 0 02100

=> mdio listethernet@48484000:1 – Micrel ksz9031 <–> ethernet@48484000

,

Nancy Wang:

抱歉,前面没写全。
mii dump读出来的信息会比较全,包括link的状态等。
mii dump <addr> <reg> – pretty-print <addr> <reg> (0-5 only)

,

qingyulan:

附件是log,谢谢

5086.teraterm.log

,

Nancy Wang:

你是用的phy 0地址这个网口吧?
phy 0 自动协商和link状态都是正常的,ping不通的话就需要抓包看一下了。

,

qingyulan:

是phy 0 。为啥下面启动信息的Model打印的信息是AM5728 BeagleBoard-X15?而不是am57xx_evm?我用的配置文件是am57xx_evm_defconfig Board好像也没识别出来,这有影响吗? U-Boot 2019.01-g323d51410c-dirty (Dec 24 2020 – 11:03:08 +0800) CPU : DRA752-GP ES2.0 Model: TI AM5728 BeagleBoard-X15 Board: UNKNOWN(BeagleBoard X15?) REV UNKNOWN DRAM: 2 GiB MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1 Loading Environment from FAT… OK Warning: fastboot.board_rev: unknown board revision am57x_idk_lcd_detect: Failed to get I2C device 0/56 (ret 1) Net: eth0: ethernet@48484000 Hit any key to stop autoboot: 0 =>

还有,我把网线插到另一个网口上,打印信息如下

=> bootswitch to partitions #0, OKmmc0 is current device20 bytes read in 3 ms (5.9 KiB/s)Importing environment from mmc0 …ethernet@48484000 Waiting for PHY auto negotiation to complete………..user interrupt!ethernet@48484000 Waiting for PHY auto negotiation to complete…..user interrupt!ethernet@48484000 Waiting for PHY auto negotiation to complete..user interrupt!=>=>=> bootswitch to partitions #0, OKmmc0 is current device20 bytes read in 3 ms (5.9 KiB/s)Importing environment from mmc0 …link up on port 0, speed 100, full duplexBOOTP broadcast 1BOOTP broadcast 2BOOTP broadcast 3BOOTP broadcast 4BOOTP broadcast 5BOOTP broadcast 6BOOTP broadcast 7BOOTP broadcast 8BOOTP broadcast 9BOOTP broadcast 10BOOTP broadcast 11BOOTP broadcast 12BOOTP broadcast 13BOOTP broadcast 14BOOTP broadcast 15BOOTP broadcast 16BOOTP broadcast 17BOOTP broadcast 18BOOTP broadcast 19BOOTP broadcast 20BOOTP broadcast 21BOOTP broadcast 22BOOTP broadcast 23BOOTP broadcast 24BOOTP broadcast 25BOOTP broadcast 26BOOTP broadcast 27BOOTP broadcast 28BOOTP broadcast 29

Retry time exceeded; starting againlink up on port 0, speed 100, full duplex*** ERROR: `ipaddr' not setlink up on port 0, speed 100, full duplex*** ERROR: `ipaddr' not set=> printenv ipaddripaddr=192.168.1.106=>

,

Nancy Wang:

你的板子上是不是没有EEPROM?这个board ID是从eeprom上读取的。
看了一下你前面贴出来的printenv的log,板子没有被正确识别,会找不到正确的设备树文件。
board_name=beagle_x15
if test $board_name = beagle_x15; then setenv fdtfile am57xx-beagle-x15.dtb
将这部分代码注释掉也是可以的。
或者更改uboot默认配置看看。
e2e.ti.com/…/722949

,

qingyulan:

我用图形配置界面看,设备树是am572x-idk,在版本06.03.00.106的SDK的uboot目录的arch\arm\dts下没有找到am57xx-evm.dts,请问这是怎么回事?应该用哪个dts?

赞(0)
未经允许不得转载:TI中文支持网 » am5728 移植uboot,网络ping不通
分享到: 更多 (0)