Hello Jan,
I'm going through the same thing currently.
The source code for bootaux is the following:
boot_private_data = 0x78000000
M4_BOOTROM_BASE_ADDR = 0x007F8000
SRC_BASE_ADDR = 0x020D8000
struct src *src_reg;
u32 stack, pc;
if (!boot_private_data)
return 1;
stack = *(u32 *)boot_private_data;
pc = *(u32 *)(boot_private_data + 4);
/* Set the stack and pc to M4 bootROM */
writel(stack, M4_BOOTROM_BASE_ADDR);
writel(pc, M4_BOOTROM_BASE_ADDR + 4);
/* Enable M4 */
src_reg = (struct src *)SRC_BASE_ADDR;
setbits_le32(&src_reg->scr, 0x00400000);
clrbits_le32(&src_reg->scr, 0x00000010);
return 0;
To do this inside a u-boot version without the bootaux command, you can do something like
=> sf probe 1:0; cp 0x78000000 0x007F8000 8; mw.l 0x020D8000 0xA0480529;
This started the M4 from QSPI2 for me.