1. With the J721E-EVB board installed one X1 PCIE Intel E1000E on slot 1 or 2.
2. With the default u-boot of TI SDK PROCESSOR-SDK-LINUX-J721E_08.00.00.08:
U-Boot SPL 2021.01-g53e79d0e89 (Aug 04 2021 - 23:32:00 +0000)
Model: Texas Instruments K3 J721E SoC
Board: J721EX-PM2-SOM rev E7
SYSFW ABI: 3.1 (firmware rev 0x0015 '21.5.0--v2021.05 (Terrific Llam') Trying to boot from MMC2 Starting ATF on ARM64 core...
NOTICE: BL31: v2.5(release):08.00.00.004-dirty
NOTICE: BL31: Built : 22:30:09, Aug 4 2021
U-Boot SPL 2021.01-g53e79d0e89 (Aug 04 2021 - 22:33:28 +0000)
Model: Texas Instruments K3 J721E SoC
Board: J721EX-PM2-SOM rev E7
SYSFW ABI: 3.1 (firmware rev 0x0015 '21.5.0--v2021.05 (Terrific Llam')
Detected: J7X-BASE-CPB rev E3
Detected: J7X-VSC8514-ETH rev E2
Trying to boot from MMC2
U-Boot 2021.01-g53e79d0e89 (Aug 04 2021 - 22:33:28 +0000)
SoC: J721E SR1.0
Model: Texas Instruments K3 J721E SoC
Board: J721EX-PM2-SOM rev E7
DRAM: 4 GiB
Flash: 0 Bytes
MMC: sdhci@4f80000: 0, sdhci@4fb0000: 1
In: serial@2800000
Out: serial@2800000
Err: serial@2800000
Detected: J7X-BASE-CPB rev E3
Detected: J7X-VSC8514-ETH rev E2
Net: am65_cpsw_nuss_slave ethernet@46000000: K3 CPSW: nuss_ver:
0x6BA00101 cpsw_ver: 0x6BA80100 ale_ver: 0x00293904 Ports:1
mdio_freq:1000000
eth0: ethernet@46000000
Hit any key to stop autoboot: 0
3. Over NFS, downloading the Linux default kernel image and dtb files of TI SDK PROCESSOR-SDK-LINUX-J721E_08.00.00.08, then booting the kernel, there will be below exception:
Load address: 0x88000000
Loading: #######
2.1 MiB/s
done
Bytes transferred = 97586 (17d32 hex)
## Flattened Device Tree blob at 88000000
Booting using the fdt blob at 0x88000000
Loading Device Tree to 000000008ffe5000, end 000000008ffffd31 ... OK
Starting kernel ...
ERROR: Unhandled External Abort received on 0x80000000 from S-EL1
ERROR: exception reason=0 syndrome=0xbf000000 Unhandled Exception from EL1
x0 = 0xffff800014a20000
x1 = 0x0000000000000000
x2 = 0xffff800016400008
x3 = 0x0000000000000001
x4 = 0x000000000000000b
x5 = 0xffff00080236c000
x6 = 0xffff800011b6f864
x7 = 0x000000000000ea60
x8 = 0x0000000080b5111d
x9 = 0x00000000b00d104c
x10 = 0x7f7f7f7f7f7f7f7f
x11 = 0x0101010101010101
x12 = 0xffff0008000eb29a
x13 = 0xffff0008000eba1c
x14 = 0xffffffffffffffff
x15 = 0xffff000800351330
x16 = 0x0000000080396182
x17 = 0x0000000000000020
x18 = 0x0000000000000000
x19 = 0xffff800011b6f7a4
x20 = 0x0000000000000004
x21 = 0xffff00080236c800
x22 = 0x0000000000000087
x23 = 0xffff800011b6f864
x24 = 0x0000000000000000
x25 = 0xffff8000112d3a88
x26 = 0x0000000000000001
x27 = 0x0000000000000000
x28 = 0xffff00080236c000
x29 = 0xffff800011b6f720
x30 = 0xffff8000104ea30c
scr_el3 = 0x000000000000073d
sctlr_el3 = 0x0000000030cd183f
cptr_el3 = 0x0000000000000000
tcr_el3 = 0x0000000080803520
daif = 0x00000000000002c0
mair_el3 = 0x00000000004404ff
spsr_el3 = 0x0000000020000085
elr_el3 = 0xffff8000104ea324
ttbr0_el3 = 0x0000000070010c00
esr_el3 = 0x00000000bf000000
far_el3 = 0x0000000000000000
spsr_el1 = 0x0000000040000005
elr_el1 = 0xffff800010a70a10
spsr_abt = 0x0000000000000000
spsr_und = 0x0000000000000000
spsr_irq = 0x0000000000000000
spsr_fiq = 0x0000000000000000
sctlr_el1 = 0x0000000034d4d91d
actlr_el1 = 0x0000000000000000
cpacr_el1 = 0x0000000000300000
csselr_el1 = 0x0000000000000000
sp_el1 = 0xffff800011b6f720
esr_el1 = 0x0000000000000000
ttbr0_el1 = 0x0000000083270000
ttbr1_el1 = 0x0000000082f10000
mair_el1 = 0x000c0400bb44ffff
amair_el1 = 0x0000000000000000
tcr_el1 = 0x00000034f5d07590
tpidr_el1 = 0xffff80086eab0000
tpidr_el0 = 0x0000000000000000
tpidrro_el0 = 0x0000000000000000
par_el1 = 0x0000000000000000
mpidr_el1 = 0x0000000080000000
afsr0_el1 = 0x0000000000000000
afsr1_el1 = 0x0000000000000000
contextidr_el1 = 0x0000000000000000
vbar_el1 = 0xffff800010010800
cntp_ctl_el0 = 0x0000000000000005
cntp_cval_el0 = 0x0000000b66cc8f06
cntv_ctl_el0 = 0x0000000000000000
cntv_cval_el0 = 0x0000000000000000
cntkctl_el1 = 0x00000000000000d6
sp_el0 = 0x000000007000a3d0
isr_el1 = 0x0000000000000040
dacr32_el2 = 0x0000000000000000
ifsr32_el2 = 0x0000000000000000
cpuectlr_el1 = 0x0000001b00000040
cpumerrsr_el1 = 0x0000000000000000
l2merrsr_el1 = 0x0000000000000000
4. If unplug the PCIE device from slot 1 or 2, the kernel will boot normal.
root@j7-evm:~# uname -a
Linux j7-evm 5.10.41-g4c2eade9f7 #1 SMP PREEMPT Wed Aug 4 22:47:28 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
5. If the kernel is not started via NFS, but booting the kernel from SD card, even plugged in PCIE device on slot 1 or 2, the kernel can boot fine and the PCIE devices can be enumerated fine.