Hi,
We have developed a snap-in board using the LS1023A QINQ CPU, which is shared between different models of devices. The board boots the uboot program from qspi, and the qspi flash size is 4MB. In addition, the board has an rgmii phy connected to the rmgii1 (EC1) interface of the CPU, which is used as a debugging network port.
Recently we produced device B, we use lsdk-1803, on the basis of ls1043ardb directly modify the adaptation and debugging uboot.
Debugging process encountered problems: debugging network port directly connected to the debugging PC, the PC side of the network port shows link up, but from uboot ping debugging PC failed, prompting "ARP Retry count exceeded; starting again". After boot into linux, I ping the debug PC and it doesn't work. I can't catch any arp packets on the debug PC.
I have tried to enable or disable the rx delay or tx delay on the phy side, but nothing works.
Also, we had a uboot program on another device A, provided by a third party collaboration. Using this uboot on device B, the debug PC can be pinged from the debug port under both uboot and linux.
I'm now confused as to which direction I can take next to troubleshoot the issue?
Thanks!
The serial port log messages are as follows:
U-Boot 2017.11-00005-g137f43c-dirty (Feb 19 2024 - 20:02:36 +0800)
SoC: LS1023A Rev1.1 (0x87920911)
Clock Configuration:
CPU0(A53):1000 MHz CPU1(A53):1000 MHz
Bus: 300 MHz DDR: 1600 MT/s FMAN: 500 MHz
Reset Configuration Word (RCW):
00000000: 0610000a 0a000000 00000000 00000000
00000010: 99980002 00000012 40044000 41002000
00000020: 00000000 00000000 00000000 0002ecfd
00000030: 20124000 041e3208 00000096 00000001
Model: LS1043A RDB Board
Board: LS1043ARDB, boot from qspi
I2C: ready
DRAM: Initialzing DDR using fixed setting
Configuring DDR for 1600 MT/s data rate
1.9 GiB (DDR4, 32-bit, CL=11, ECC off)
*** board_init_f end
***board_init_r begin
Pre-reloc malloc() used 0xd8 bytes (0 KB)
Using SERDES1 Protocol: 39320 (0x9998)
SEC Firmware: Bad firmware image (not a FIT image)
Now running in RAM - U-Boot at: fbd41000
Waking secondary cores to start from fbd41000
All (2) cores are up.
WARNING: Calling __hwconfig without a buffer and before environment is ready
MMC: FSL_SDHC: 0
SF: Detected w25q32dw with page size 256 Bytes, erase size 4 KiB, total 4 MiB
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Net: SerDes protocol 0x9998 for LS1043ARDB
SF: Detected w25q32dw with page size 256 Bytes, erase size 4 KiB, total 4 MiB
Fman1: Uploading microcode version 108.4.9
PCIe0: pcie@3400000 Root Complex: no link
PCIe1: pcie@3500000 Root Complex: no link
PCIe2: pcie@3600000 Root Complex: x1 gen2
FM1@DTSEC3 [PRIME]
=> printenv
arch=arm
baudrate=115200
board=ls1043ardb
board_name=ls1043ardb
bootargs=console=ttyS0,115200 root=/dev/ram0
bootdelay=10
cpu=armv8
eth1addr=00:11:22:33:44:56
eth2addr=00:11:22:33:44:57
ethact=FM1@DTSEC3
ethaddr=00:11:22:33:44:55
ethprime=FM1@DTSEC3
fdtcontroladdr=fbc3a2c0
fman_ucode=fbc42170
ipaddr=192.168.4.1
load_addr=0xa0000000
mtdparts=mtdparts=spi0.0:3m(uboot),1m(env)
serverip=192.168.4.88
soc=fsl-layerscape
stderr=serial
stdin=serial
stdout=serial
vendor=freescale
Environment size: 523/8188 bytes
=> ping 192.168.4.88
Using FM1@DTSEC3 device
ARP Retry count exceeded; starting again
ping failed; host 192.168.4.88 is not alive
=>
We found that the EC1_GTX_CLK125 signal pin did not have the correct inputs, and fixing that solved the problem.
Thanks!