aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Herring <robh@kernel.org>2014-04-01 23:55:14 -0400
committerRob Herring <robh@kernel.org>2014-04-30 01:59:20 -0400
commitc3fc952d2fbe3ec78defd70cf73d5d76d27092ec (patch)
treeefcb35807164e6e71e626c70948cb68091498373
parent1daa0c4ced334f18f458aba6ace7e01e8cdc2ecf (diff)
of: push struct boot_param_header and defines into powerpc
Now powerpc is the only user of struct boot_param_header and FDT defines, so they can be moved into the powerpc architecture code. Signed-off-by: Rob Herring <robh@kernel.org> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: linuxppc-dev@lists.ozlabs.org Tested-by: Grant Likely <grant.likely@linaro.org> Tested-by: Stephen Chivers <schivers@csc.com>
-rw-r--r--arch/powerpc/include/asm/prom.h39
-rw-r--r--include/linux/of_fdt.h37
2 files changed, 39 insertions, 37 deletions
diff --git a/arch/powerpc/include/asm/prom.h b/arch/powerpc/include/asm/prom.h
index d977b9b78696..74b79f07f041 100644
--- a/arch/powerpc/include/asm/prom.h
+++ b/arch/powerpc/include/asm/prom.h
@@ -26,6 +26,45 @@
26#include <linux/of_irq.h> 26#include <linux/of_irq.h>
27#include <linux/platform_device.h> 27#include <linux/platform_device.h>
28 28
29#define OF_DT_BEGIN_NODE 0x1 /* Start of node, full name */
30#define OF_DT_END_NODE 0x2 /* End node */
31#define OF_DT_PROP 0x3 /* Property: name off, size,
32 * content */
33#define OF_DT_NOP 0x4 /* nop */
34#define OF_DT_END 0x9
35
36#define OF_DT_VERSION 0x10
37
38/*
39 * This is what gets passed to the kernel by prom_init or kexec
40 *
41 * The dt struct contains the device tree structure, full pathes and
42 * property contents. The dt strings contain a separate block with just
43 * the strings for the property names, and is fully page aligned and
44 * self contained in a page, so that it can be kept around by the kernel,
45 * each property name appears only once in this page (cheap compression)
46 *
47 * the mem_rsvmap contains a map of reserved ranges of physical memory,
48 * passing it here instead of in the device-tree itself greatly simplifies
49 * the job of everybody. It's just a list of u64 pairs (base/size) that
50 * ends when size is 0
51 */
52struct boot_param_header {
53 __be32 magic; /* magic word OF_DT_HEADER */
54 __be32 totalsize; /* total size of DT block */
55 __be32 off_dt_struct; /* offset to structure */
56 __be32 off_dt_strings; /* offset to strings */
57 __be32 off_mem_rsvmap; /* offset to memory reserve map */
58 __be32 version; /* format version */
59 __be32 last_comp_version; /* last compatible version */
60 /* version 2 fields below */
61 __be32 boot_cpuid_phys; /* Physical CPU id we're booting on */
62 /* version 3 fields below */
63 __be32 dt_strings_size; /* size of the DT strings block */
64 /* version 17 fields below */
65 __be32 dt_struct_size; /* size of the DT structure block */
66};
67
29/* 68/*
30 * OF address retreival & translation 69 * OF address retreival & translation
31 */ 70 */
diff --git a/include/linux/of_fdt.h b/include/linux/of_fdt.h
index 1f882e1da728..5c0ab057eecf 100644
--- a/include/linux/of_fdt.h
+++ b/include/linux/of_fdt.h
@@ -17,45 +17,8 @@
17 17
18/* Definitions used by the flattened device tree */ 18/* Definitions used by the flattened device tree */
19#define OF_DT_HEADER 0xd00dfeed /* marker */ 19#define OF_DT_HEADER 0xd00dfeed /* marker */
20#define OF_DT_BEGIN_NODE 0x1 /* Start of node, full name */
21#define OF_DT_END_NODE 0x2 /* End node */
22#define OF_DT_PROP 0x3 /* Property: name off, size,
23 * content */
24#define OF_DT_NOP 0x4 /* nop */
25#define OF_DT_END 0x9
26
27#define OF_DT_VERSION 0x10
28 20
29#ifndef __ASSEMBLY__ 21#ifndef __ASSEMBLY__
30/*
31 * This is what gets passed to the kernel by prom_init or kexec
32 *
33 * The dt struct contains the device tree structure, full pathes and
34 * property contents. The dt strings contain a separate block with just
35 * the strings for the property names, and is fully page aligned and
36 * self contained in a page, so that it can be kept around by the kernel,
37 * each property name appears only once in this page (cheap compression)
38 *
39 * the mem_rsvmap contains a map of reserved ranges of physical memory,
40 * passing it here instead of in the device-tree itself greatly simplifies
41 * the job of everybody. It's just a list of u64 pairs (base/size) that
42 * ends when size is 0
43 */
44struct boot_param_header {
45 __be32 magic; /* magic word OF_DT_HEADER */
46 __be32 totalsize; /* total size of DT block */
47 __be32 off_dt_struct; /* offset to structure */
48 __be32 off_dt_strings; /* offset to strings */
49 __be32 off_mem_rsvmap; /* offset to memory reserve map */
50 __be32 version; /* format version */
51 __be32 last_comp_version; /* last compatible version */
52 /* version 2 fields below */
53 __be32 boot_cpuid_phys; /* Physical CPU id we're booting on */
54 /* version 3 fields below */
55 __be32 dt_strings_size; /* size of the DT strings block */
56 /* version 17 fields below */
57 __be32 dt_struct_size; /* size of the DT structure block */
58};
59 22
60#if defined(CONFIG_OF_FLATTREE) 23#if defined(CONFIG_OF_FLATTREE)
61 24