RTEMS
5.0.0
Main Page
Related Pages
Modules
+
Data Structures
Data Structures
Data Structure Index
+
Data Fields
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Files
File List
+
Globals
+
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
+
Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
z
+
Variables
_
a
b
c
d
e
f
g
i
l
m
n
o
p
r
s
t
v
w
+
Typedefs
a
b
c
d
e
f
g
h
i
l
m
o
p
q
r
s
t
u
v
w
x
+
Enumerations
a
b
c
e
h
i
l
m
o
p
q
r
s
t
w
+
Enumerator
a
c
d
i
l
m
p
r
s
t
w
+
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
•
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
cpukit
include
fdt.h
1
#ifndef FDT_H
2
#define FDT_H
3
/*
4
* libfdt - Flat Device Tree manipulation
5
* Copyright (C) 2006 David Gibson, IBM Corporation.
6
* Copyright 2012 Kim Phillips, Freescale Semiconductor.
7
*
8
* libfdt is dual licensed: you can use it either under the terms of
9
* the GPL, or the BSD license, at your option.
10
*
11
* a) This library is free software; you can redistribute it and/or
12
* modify it under the terms of the GNU General Public License as
13
* published by the Free Software Foundation; either version 2 of the
14
* License, or (at your option) any later version.
15
*
16
* This library is distributed in the hope that it will be useful,
17
* but WITHOUT ANY WARRANTY; without even the implied warranty of
18
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
* GNU General Public License for more details.
20
*
21
* You should have received a copy of the GNU General Public
22
* License along with this library; if not, write to the Free
23
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
24
* MA 02110-1301 USA
25
*
26
* Alternatively,
27
*
28
* b) Redistribution and use in source and binary forms, with or
29
* without modification, are permitted provided that the following
30
* conditions are met:
31
*
32
* 1. Redistributions of source code must retain the above
33
* copyright notice, this list of conditions and the following
34
* disclaimer.
35
* 2. Redistributions in binary form must reproduce the above
36
* copyright notice, this list of conditions and the following
37
* disclaimer in the documentation and/or other materials
38
* provided with the distribution.
39
*
40
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
41
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
42
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
43
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
44
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
45
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
46
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
47
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
48
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
49
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
50
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
51
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
52
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
53
*/
54
55
#ifndef __ASSEMBLY__
56
57
struct
fdt_header
{
58
fdt32_t magic;
/* magic word FDT_MAGIC */
59
fdt32_t totalsize;
/* total size of DT block */
60
fdt32_t off_dt_struct;
/* offset to structure */
61
fdt32_t off_dt_strings;
/* offset to strings */
62
fdt32_t off_mem_rsvmap;
/* offset to memory reserve map */
63
fdt32_t version;
/* format version */
64
fdt32_t last_comp_version;
/* last compatible version */
65
66
/* version 2 fields below */
67
fdt32_t boot_cpuid_phys;
/* Which physical CPU id we're
68
booting on */
69
/* version 3 fields below */
70
fdt32_t size_dt_strings;
/* size of the strings block */
71
72
/* version 17 fields below */
73
fdt32_t size_dt_struct;
/* size of the structure block */
74
};
75
76
struct
fdt_reserve_entry
{
77
fdt64_t address;
78
fdt64_t
size
;
79
};
80
81
struct
fdt_node_header
{
82
fdt32_t tag;
83
char
name[0];
84
};
85
86
struct
fdt_property
{
87
fdt32_t tag;
88
fdt32_t len;
89
fdt32_t nameoff;
90
char
data[0];
91
};
92
93
#endif
/* !__ASSEMBLY */
94
95
#define FDT_MAGIC 0xd00dfeed
/* 4: version, 4: total size */
96
#define FDT_TAGSIZE sizeof(fdt32_t)
97
98
#define FDT_BEGIN_NODE 0x1
/* Start node: full name */
99
#define FDT_END_NODE 0x2
/* End node */
100
#define FDT_PROP 0x3
/* Property: name off,
101
size, content */
102
#define FDT_NOP 0x4
/* nop */
103
#define FDT_END 0x9
104
105
#define FDT_V1_SIZE (7*sizeof(fdt32_t))
106
#define FDT_V2_SIZE (FDT_V1_SIZE + sizeof(fdt32_t))
107
#define FDT_V3_SIZE (FDT_V2_SIZE + sizeof(fdt32_t))
108
#define FDT_V16_SIZE FDT_V3_SIZE
109
#define FDT_V17_SIZE (FDT_V16_SIZE + sizeof(fdt32_t))
110
111
#endif
/* FDT_H */
fdt_header
Definition:
fdt.h:57
fdt_reserve_entry
Definition:
fdt.h:76
fdt_node_header
Definition:
fdt.h:81
fdt_property
Definition:
fdt.h:86
size
unsigned size
Definition:
tte.h:74
Generated by
1.8.13