Hello, after a recent image update, the board stops booting at the same point. See below.
This is after flashing but before kernel update. Re-flashing makes no difference. Any ideas for a fix?
Thanks
…
…
[ 2.997389] microchip-pcie 3000000000.pcie: host bridge /fabric-pcie-bus@3000000000/pcie@3000000000 ranges:
[ 3.008209] microchip-pcie 3000000000.pcie: MEM 0x3009000000…0x3017ffffff → 0x0009000000
[ 3.017921] microchip-pcie 3000000000.pcie: IO 0x3008000000…0x3008ffffff → 0x0008000000
[ 3.027556] microchip-pcie 3000000000.pcie: MEM 0x3018000000…0x3087ffffff → 0x0018000000
[ 3.037199] microchip-pcie 3000000000.pcie: IB MEM 0x0080000000…0x0083ffffff → 0x0080000000
[ 3.046862] microchip-pcie 3000000000.pcie: IB MEM 0x00c4000000…0x00c9ffffff → 0x0084000000
[ 3.056514] microchip-pcie 3000000000.pcie: IB MEM 0x008a000000…0x0091ffffff → 0x008a000000
[ 3.066159] microchip-pcie 3000000000.pcie: IB MEM 0x1412000000…0x1421ffffff → 0x0092000000
[ 3.075785] microchip-pcie 3000000000.pcie: IB MEM 0x1022000000…0x107fffffff → 0x00a2000000
[ 87.085272] rcu: INFO: rcu_sched detected stalls on CPUs/tasks:
[ 87.091792] rcu: 0-…0: (8 ticks this GP) idle=ee34/1/0x4000000000000000 softirq=32/32 fqs=4270
[ 87.101564] (detected by 3, t=21021 jiffies, g=-1151, q=3 ncpus=4)
[ 87.108463] Task dump for CPU 0:
[ 87.112005] task:swapper/0 state:R running task stack:0 pid:1 ppid:0 flags:0x00000008
[ 87.122924] Call Trace:
[ 87.125606] [] __schedule+0x280/0x840
You need to break the boot process in u-boot
and then use fdt
to disable PCIe by setting it back to disabled.
Then you need to switch to a Gateware w/o active PCIe component.
What Gateware variant are you currently employing?
Thanks for the reply.
I need some further guidance due to the following:
RISC-V # fdt addr 0x08a000000 0x80bd
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
What addr should I use?
I don’t understand… Is your original problem solved or not?
What are you trying to achieve by using fdt addr
?
The original problem is still there.
My understanding of fdt usage is that you have to set an address first. Thats what is reported.
I may be demonstrating my ignorance of uboot but if you can guide me further, that would be great.
Thanks.
You shouldn’t have to use fdt addr
at all.
fdt print
will dump the whole DT for you to look at,
but come to think of it, you shouldn’t need fdt
either.
This is the boot script:
setenv fdt_high 0xffffffffffffffff
setenv initrd_high 0xffffffffffffffff
load mmc 0:2 ${scriptaddr} beaglev_fire.itb;
bootm start ${scriptaddr}#kernel_dtb;
bootm loados ${scriptaddr};
# Try to load a ramdisk if available inside fitImage
bootm ramdisk;
bootm prep;
fdt set /soc/ethernet@20112000 mac-address ${icicle_mac_addr0};
fdt set /soc/ethernet@20110000 mac-address ${icicle_mac_addr1};
run design_overlays;
bootm go;
If you do all the steps, except for run design_overlays
, it should get you back into Linux.
Worked and back in Linux.
Thank you for your help.