diff options
Diffstat (limited to 'blob/fw_payload.S')
-rw-r--r-- | blob/fw_payload.S | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/blob/fw_payload.S b/blob/fw_payload.S index c601529..b6f3cb9 100644 --- a/blob/fw_payload.S +++ b/blob/fw_payload.S @@ -11,11 +11,22 @@ .align 3 .section .entry, "ax", %progbits + .global fw_prev_arg1 +fw_prev_arg1: + /* We return previous arg1 in 'a0' */ +#ifdef FW_PAYLOAD_FDT_PATH + la a0, fdt_bin +#else + add a0, zero, zero +#endif + ret + + .align 3 + .section .entry, "ax", %progbits .global fw_next_arg1 fw_next_arg1: - /* We return FDT destination address in 'a0' */ + /* We return next arg1 in 'a0' */ #ifdef FW_PAYLOAD_FDT_ADDR - /* a0 = destination FDT start address */ li a0, FW_PAYLOAD_FDT_ADDR #else add a0, zero, zero @@ -33,8 +44,16 @@ fw_next_addr: #define str(s) #s #define stringify(s) str(s) +#ifdef FW_PAYLOAD_FDT_PATH + .align 3 + .section .text, "ax", %progbits + .globl fdt_bin +fdt_bin: + .incbin stringify(FW_PAYLOAD_FDT_PATH) +#endif + .section .payload, "ax", %progbits - .globl payload_bin + .globl payload_bin payload_bin: #ifndef FW_PAYLOAD_PATH wfi |