Tool/software:
Hello,
i try to boot linux (on a53) and a bare metal application (on r5 ) in parallel from a custom ospi bootloader.
The custom bootloader is based on SBL_OSPI and was extended with parts from SBL_OSPI_LINUX for the linux boot.
I have a linux app image in ospi flash which boots a linux on sd card. Direct boot of the linux from the sd card ( set boot jumper to SDCARD boot) succeeds.
When started from ospi bootloader, the linux boot fails on the initialization of the interrupt controller and ennded up in a loop initializing am65-cpsw-nuss ethernet:
[ 0.914500] ti-sci 44043000.system-controller: ABI: 4.0 (firmware rev 0x000a '10.1.7--v10.01.07 (Fiery Fox)') [ 1.026931] pca953x 0-0038: supply vcc not found, using dummy regulator [ 1.034036] pca953x 0-0038: using no AI [ 1.061276] omap_i2c 20000000.i2c: bus 0 rev0.12 at 400 kHz [ 1.069359] pca953x 1-0022: supply vcc not found, using dummy regulator [ 1.076421] pca953x 1-0022: using AI [ 1.101798] omap_i2c 20010000.i2c: bus 1 rev0.12 at 400 kHz [ 1.108001] ti-sci-intr 4210000.interrupt-controller: Destination irq resource allocation failed [ 1.117032] ti-sci-intr: probe of 4210000.interrupt-controller failed with error -22 [ 1.125841] ti-sci-intr bus@f4000:interrupt-controller@a00000: Destination irq resource allocation failed [ 1.135668] ti-sci-intr: probe of bus@f4000:interrupt-controller@a00000 failed with error -22 [ 1.144875] ti-sci-inta 48000000.interrupt-controller: VINT resource allocation failed [ 1.153008] ti-sci-inta: probe of 48000000.interrupt-controller failed with error -22 [ 1.161685] ti-udma 485c0100.dma-controller: Number of rings: 68 [ 1.168524] ti-udma 485c0000.dma-controller: Number of rings: 288 [ 1.176488] printk: console [ttyS2] disabled [ 1.181376] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 30, base_baud = 3000000) is a 8250 [ 1.190222] printk: console [ttyS2] enabled [ 1.190222] printk: console [ttyS2] enabled [ 1.198718] printk: bootconsole [ns16550a0] disabled [ 1.198718] printk: bootconsole [ns16550a0] disabled [ 1.217052] davinci_mdio 8000f00.mdio: Configuring MDIO in manual mode [ 1.260362] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000 [ 1.270834] davinci_mdio 8000f00.mdio: phy[0]: device 8000f00.mdio:00, driver TI DP83867 [ 1.279026] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA00903, cpsw version 0x6BA80903 Ports: 3 quirks:00000002 [ 1.291964] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.4 [ 1.299102] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512 [ 1.309081] mmc0: CQHCI version 5.10 [ 1.310061] ti-udma 485c0100.dma-controller: Number of rings: 68 [ 1.320436] ti-udma 485c0000.dma-controller: Number of rings: 288 [ 1.330444] davinci_mdio 8000f00.mdio: Configuring MDIO in manual mode [ 1.359045] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit [ 1.376350] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000 [ 1.386817] davinci_mdio 8000f00.mdio: phy[0]: device 8000f00.mdio:00, driver TI DP83867 [ 1.395031] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA00903, cpsw version 0x6BA80903 Ports: 3 quirks:00000002 [ 1.407984] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.4 [ 1.415159] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512 [ 1.424061] ti-udma 485c0100.dma-controller: Number of rings: 68 [ 1.430611] mmc1: CQHCI version 5.10 [ 1.431261] ti-udma 485c0000.dma-controller: Number of rings: 288 [ 1.444397] davinci_mdio 8000f00.mdio: Configuring MDIO in manual mode [ 1.477581] mmc0: Command Queue Engine enabled [ 1.482104] mmc0: new HS200 MMC card at address 0001 [ 1.482174] mmc1: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit [ 1.488037] mmcblk0: mmc0:0001 S0J56X 14.8 GiB [ 1.496397] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000 [ 1.507313] mmcblk0: p1 p2 p3 p4 < p5 > [ 1.510118] davinci_mdio 8000f00.mdio: phy[0]: device 8000f00.mdio:00, driver TI DP83867 [ 1.512711] mmcblk0boot0: mmc0:0001 S0J56X 31.5 MiB [ 1.519527] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA00903, cpsw version 0x6BA80903 Ports: 3 quirks:00000002
To make sure that the initialization of the bare metal app is not the problem, i added a empty application which does nothing. So i assume that the problem is the custom bootloader.
I am not sure how the SBL Bootloader could prevent linux from initializing the interupt controller.
I am grateful for any ideas.
Alex
I would be