1 // SPDX-License-Identifier: GPL-2.0-only
3 * MIPS support for CONFIG_OF device tree support
5 * Copyright (C) 2010 Cisco Systems Inc. <dediao@cisco.com>
8 #include <linux/init.h>
9 #include <linux/export.h>
10 #include <linux/errno.h>
11 #include <linux/types.h>
12 #include <linux/memblock.h>
13 #include <linux/debugfs.h>
15 #include <linux/of_fdt.h>
16 #include <linux/of_platform.h>
18 #include <asm/bootinfo.h>
22 static char mips_machine_name
[64] = "Unknown";
24 __init
void mips_set_machine_name(const char *name
)
29 strscpy(mips_machine_name
, name
, sizeof(mips_machine_name
));
30 pr_info("MIPS: machine is %s\n", mips_get_machine_name());
32 dump_stack_set_arch_desc(name
);
35 char *mips_get_machine_name(void)
37 return mips_machine_name
;
42 void __init
__dt_setup_arch(void *bph
)
44 if (!early_init_dt_scan(bph
, __pa(bph
)))
47 mips_set_machine_name(of_flat_dt_get_machine_name());
50 int __init
__dt_register_buses(const char *bus0
, const char *bus1
)
52 static struct of_device_id of_ids
[3];
54 if (!of_have_populated_dt())
55 panic("device tree not present");
57 strscpy(of_ids
[0].compatible
, bus0
, sizeof(of_ids
[0].compatible
));
59 strscpy(of_ids
[1].compatible
, bus1
,
60 sizeof(of_ids
[1].compatible
));
63 if (of_platform_populate(NULL
, of_ids
, NULL
, NULL
))
64 panic("failed to populate DT");
69 void __weak __init
device_tree_init(void)
71 unflatten_and_copy_device_tree();