RGMII phy not working properly under ls1023a

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

RGMII phy not working properly under ls1023a

146 Views
J006224
Contributor I

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

=>

0 Kudos
1 Reply

128 Views
J006224
Contributor I

We found that the EC1_GTX_CLK125 signal pin did not have the correct inputs, and fixing that solved the problem.

Thanks!

0 Kudos