Dear:
The design of Ethernet part of our product refers to the network part of LS1046ARDB, and the configuration of SERDES is: 3333, 5A59. SGMII.2, SGMII.5, SGMII.6, SGMII.9, SGMII.10, and EC1 do not have external PHY devices, the connection mode is Mac to Mac. Sgmii.2 and EC1 are directly connected to marvell Switch (88E6320). Now there are some problems and confusion in the process of porting the Uboot. Details are as follows:
1. What is the purpose of the fsl_fman_ucode_LS1046_R1.0_108_4_9.bin file? Now fSL_fMAN_UCoDE_LS1046_R1.0_108_4_9.bin is written to the SD card as required. If the fsl_fman_UCode_LS1046_R1.0_108_4_9.bin file needs to be modified, how should I modify and compile it?
2. If you run the ping command in the uboot, the CPU resets. By printing log, suspected to be network driven function: Static int fm_eth_send(struct eth_device *dev, void *buf, int len), There is a problem with calling the functions muram_readw(u16 *addr) and muram_writew(u16 *addr, u16 val). Please analyze if this is the cause.
The following is the uboot print log and uboot map table.
U-Boot SPL 2018.09 (Apr 02 2022 - 15:10:11 +0800)
Initializing DDR....using SPD
total 4 GB
Trying to boot from MMC1
U-Boot 2018.09 (Apr 02 2022 - 15:10:11 +0800)
SoC: LS1046A Rev1.0 (0x87070110)
Clock Configuration:
CPU0(A72):1600 MHz CPU1(A72):1600 MHz CPU2(A72):1600 MHz
CPU3(A72):1600 MHz
Bus: 600 MHz DDR: 1600 MT/s FMAN: 700 MHz
Reset Configuration Word (RCW):
00000000: 0c100010 0e000000 00000000 00000000
00000010: 33335a59 00805012 60040000 c1000000
00000020: 00000000 00000000 00000000 00018800
00000030: 20004500 05003101 00000096 00000001
Model: LS1046A FRWY Board
Board: LS1046AFRWY, Rev: A, boot from SD
SD1_CLK1 = 100.00MHZ, SD1_CLK2 = 100.00MHZ
I2C: ready
DRAM: 3.9 GiB (DDR4, 64-bit, CL=11, ECC on)
SEC0: RNG instantiated
FSL_SDHC: 0
ppa_init: fdt_check_header() failed
Waking secondary cores to start from fbd32000
All (4) cores are up.
Using SERDES1 Protocol: 13107 (0x3333)
Using SERDES2 Protocol: 23129 (0x5a59)
NAND: 0 MiB
MMC: Loading Environment from MMC... OK
In: serial
Out: serial
Err: serial
Net: MDIO_ADDR=1AFC000
MMC read: dev # 0, block # 18432, count 128 ...
Fman1: Uploading microcode version 108.4.9
*****fm_standard_init,99*****
*****fm_standard_init,99*****
*****fm_standard_init,99*****
*****fm_standard_init,99*****
*****fm_standard_init,99*****
*****fm_standard_init,99*****
PCIe0: pcie@3400000 Root Complex: no link
PCIe1: pcie@3500000 disabled
PCIe2: pcie@3600000 Root Complex: no link
FM1@DTSEC2 [PRIME], FM1@DTSEC3, FM1@DTSEC5, FM1@DTSEC6, FM1@DTSEC9, FM1@DTSEC10
Hit any key to stop autoboot: 0
=> ping 192.168.1.12
Using FM1@DTSEC2 device
"Synchronous Abort" handler, esr 0x96000004
elr: 000000008206bef4 lr : 0000000082041414 (reloc)
elr: 00000000fbd9def4 lr : 00000000fbd73414
x0 : 000000000000ffff x1 : 0000000000ffffff
x2 : 0000000000000110 x3 : 000000000000ffff
x4 : 0000000000000fff x5 : 0000000000000fff
x6 : 00000000000000ff x7 : 0000000000000000
x8 : 00000000fbc2d120 x9 : 000000000000000c
x10: 000000000000000a x11: 0000000000000006
x12: 000000000001869f x13: 0000000000001638
x14: 00000000fbc2d48c x15: 0000000000000002
x16: 0000000000002080 x17: 0000000000000002
x18: 00000000fbc2fd68 x19: 0000000000000000
x20: 00003ed5020180d2 x21: 00000000fbdac507
x22: 0000000000000001 x23: 0000000000000000
x24: 00000000fbc32240 x25: 000000000000002c
x26: 0000000000000002 x27: 00000000fbdef000
x28: 00000000fbdef000 x29: 00000000fbc2d200
Resetting CPU ...
resetting ...
U-boot SPL 2018.09 ,Please see Attachment 1.
Please see Attachment 2 for the hardware block diagram.