Commit | Line | Data |
---|---|---|
041cadca MS |
1 | /* |
2 | * Architecture specific OF callbacks. | |
3 | * | |
4 | * Copyright (C) 2011 Texas Instruments Incorporated | |
5 | * Author: Mark Salter <msalter@redhat.com> | |
6 | * | |
7 | * This program is free software; you can redistribute it and/or modify | |
8 | * it under the terms of the GNU General Public License version 2 as | |
9 | * published by the Free Software Foundation. | |
10 | * | |
11 | */ | |
12 | #include <linux/init.h> | |
13 | #include <linux/of.h> | |
14 | #include <linux/of_fdt.h> | |
15 | #include <linux/initrd.h> | |
16 | #include <linux/memblock.h> | |
17 | ||
18 | void __init early_init_devtree(void *params) | |
19 | { | |
20 | /* Setup flat device-tree pointer */ | |
21 | initial_boot_params = params; | |
22 | ||
23 | /* Retrieve various informations from the /chosen node of the | |
24 | * device-tree, including the platform type, initrd location and | |
25 | * size and more ... | |
26 | */ | |
27 | of_scan_flat_dt(early_init_dt_scan_chosen, c6x_command_line); | |
28 | ||
29 | /* Scan memory nodes and rebuild MEMBLOCKs */ | |
30 | of_scan_flat_dt(early_init_dt_scan_root, NULL); | |
31 | of_scan_flat_dt(early_init_dt_scan_memory, NULL); | |
32 | } | |
33 | ||
34 | ||
35 | #ifdef CONFIG_BLK_DEV_INITRD | |
374d5c99 | 36 | void __init early_init_dt_setup_initrd_arch(u64 start, u64 end) |
041cadca MS |
37 | { |
38 | initrd_start = (unsigned long)__va(start); | |
39 | initrd_end = (unsigned long)__va(end); | |
40 | initrd_below_start_ok = 1; | |
41 | } | |
42 | #endif | |
43 | ||
44 | void __init early_init_dt_add_memory_arch(u64 base, u64 size) | |
45 | { | |
46 | c6x_add_memory(base, size); | |
47 | } | |
48 | ||
49 | void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align) | |
50 | { | |
51 | return __va(memblock_alloc(size, align)); | |
52 | } |