summaryrefslogtreecommitdiffstats
path: root/arch/mips/boards/board-dt-2nd.S
blob: a1465f09e36e6697aae6335b71724d4b256c3b7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Startup Code for generic MIPS device tree 2nd stage image
 *
 * Copyright (C) 2024 Antony Pavlov <antonynpavlov@gmail.com>
 */

#include <asm/asm.h>
#include <asm/pbl_macros.h>
#include <linux/sizes.h>

ENTRY_FUNCTION(start_dt_2nd)

	/* save device tree address in v1 */
	move	v1, a1

	mips_cpu_setup

	copy_to_link_location	start_dt_2nd

	stack_setup

	/* pbl_main_entry() computes fdt_len by itself
	 * if fdt == fdt_end */
	move	a0, v1 /* fdt */
	move	a1, v1 /* fdt_end */
	PTR_LI	a2, SZ_256M /* ram_size */
	PTR_LA	v0, pbl_main_entry
	jal	v0
	 nop

	/* No return */
1:
	b	1b
	 nop