/*
 * SPDX-License-Identifier: BSD-2-Clause
 *
 * Copyright (c) 2019 Western Digital Corporation or its affiliates.
 *
 * Authors:
 *   Anup Patel <anup.patel@wdc.com>
 */

#include "fw_base.S"

	.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 next arg1 in 'a0' */
#ifdef FW_PAYLOAD_FDT_ADDR
	li	a0, FW_PAYLOAD_FDT_ADDR
#else
	add	a0, zero, zero
#endif
	ret

	.align 3
	.section .entry, "ax", %progbits
	.global fw_next_addr
fw_next_addr:
	/* We return next address in 'a0' */
	la	a0, payload_bin
	ret

#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
payload_bin:
#ifndef FW_PAYLOAD_PATH
	wfi
	j	payload_bin
#else
	.incbin	stringify(FW_PAYLOAD_PATH)
#endif
