blob: 7c3a6f32beda2f02213685d046cccbb849f83474 [file] [log] [blame]
David Brazdil0f672f62019-12-10 10:32:29 +00001// SPDX-License-Identifier: GPL-2.0-or-later
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00002/*
3 * Copyright (C) NEC Electronics Corporation 2004-2006
4 *
5 * This file is based on the arch/mips/ddb5xxx/common/prom.c
6 *
7 * Copyright 2001 MontaVista Software Inc.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00008 */
9#include <linux/init.h>
10#include <linux/mm.h>
11#include <linux/sched.h>
David Brazdil0f672f62019-12-10 10:32:29 +000012#include <linux/memblock.h>
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000013
14#include <asm/addrspace.h>
15#include <asm/bootinfo.h>
16#include <asm/emma/emma2rh.h>
17
18const char *get_system_type(void)
19{
20#ifdef CONFIG_NEC_MARKEINS
21 return "NEC EMMA2RH Mark-eins";
22#else
23#error Unknown NEC board
24#endif
25}
26
27/* [jsun@junsun.net] PMON passes arguments in C main() style */
28void __init prom_init(void)
29{
30 int argc = fw_arg0;
31 char **arg = (char **)fw_arg1;
32 int i;
33
34 /* if user passes kernel args, ignore the default one */
35 if (argc > 1)
36 arcs_cmdline[0] = '\0';
37
38 /* arg[0] is "g", the rest is boot parameters */
39 for (i = 1; i < argc; i++) {
40 if (strlen(arcs_cmdline) + strlen(arg[i]) + 1
41 >= sizeof(arcs_cmdline))
42 break;
43 strcat(arcs_cmdline, arg[i]);
44 strcat(arcs_cmdline, " ");
45 }
46
47#ifdef CONFIG_NEC_MARKEINS
48 add_memory_region(0, EMMA2RH_RAM_SIZE, BOOT_MEM_RAM);
49#else
50#error Unknown NEC board
51#endif
52}
53
54void __init prom_free_prom_memory(void)
55{
56}