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 | |
36 | void __init early_init_dt_setup_initrd_arch(unsigned long start, | |
37 | unsigned long end) | |
38 | { | |
39 | initrd_start = (unsigned long)__va(start); | |
40 | initrd_end = (unsigned long)__va(end); | |
41 | initrd_below_start_ok = 1; | |
42 | } | |
43 | #endif | |
44 | ||
45 | void __init early_init_dt_add_memory_arch(u64 base, u64 size) | |
46 | { | |
47 | c6x_add_memory(base, size); | |
48 | } | |
49 | ||
50 | void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align) | |
51 | { | |
52 | return __va(memblock_alloc(size, align)); | |
53 | } |