prom.h (41be702a542a0d14bb0b1c16e824fa9ed27616ec) prom.h (c3fc952d2fbe3ec78defd70cf73d5d76d27092ec)
1#ifndef _POWERPC_PROM_H
2#define _POWERPC_PROM_H
3#ifdef __KERNEL__
4
5/*
6 * Definitions for talking to the Open Firmware PROM on
7 * Power Macintosh computers.
8 *

--- 12 unchanged lines hidden (view full) ---

21
22/* These includes should be removed once implicit includes are cleaned up. */
23#include <linux/of.h>
24#include <linux/of_fdt.h>
25#include <linux/of_address.h>
26#include <linux/of_irq.h>
27#include <linux/platform_device.h>
28
1#ifndef _POWERPC_PROM_H
2#define _POWERPC_PROM_H
3#ifdef __KERNEL__
4
5/*
6 * Definitions for talking to the Open Firmware PROM on
7 * Power Macintosh computers.
8 *

--- 12 unchanged lines hidden (view full) ---

21
22/* These includes should be removed once implicit includes are cleaned up. */
23#include <linux/of.h>
24#include <linux/of_fdt.h>
25#include <linux/of_address.h>
26#include <linux/of_irq.h>
27#include <linux/platform_device.h>
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
29/*
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
68/*
30 * OF address retreival & translation
31 */
32
33/* Parse the ibm,dma-window property of an OF node into the busno, phys and
34 * size parameters.
35 */
36void of_parse_dma_window(struct device_node *dn, const __be32 *dma_window,
37 unsigned long *busno, unsigned long *phys,

--- 95 unchanged lines hidden ---
69 * OF address retreival & translation
70 */
71
72/* Parse the ibm,dma-window property of an OF node into the busno, phys and
73 * size parameters.
74 */
75void of_parse_dma_window(struct device_node *dn, const __be32 *dma_window,
76 unsigned long *busno, unsigned long *phys,

--- 95 unchanged lines hidden ---