Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
c6x
kernel
devicetree.c
Go to the documentation of this file.
1
/*
2
* Architecture specific OF callbacks.
3
*
4
* Copyright (C) 2011 Texas Instruments Incorporated
5
* Author: Mark Salter <
[email protected]
>
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
}
Generated on Thu Jan 10 2013 13:04:50 for Linux Kernel by
1.8.2