Rev 191 | Rev 207 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 191 | Rev 193 | ||
---|---|---|---|
Line 45... | Line 45... | ||
45 | __u32 nargs; /**< Number of in arguments */ |
45 | __u32 nargs; /**< Number of in arguments */ |
46 | __u32 nret; /**< Number of out arguments */ |
46 | __u32 nret; /**< Number of out arguments */ |
47 | ofw_arg_t args[MAX_OFW_ARGS]; /**< List of arguments */ |
47 | ofw_arg_t args[MAX_OFW_ARGS]; /**< List of arguments */ |
48 | } ofw_args_t; |
48 | } ofw_args_t; |
49 | 49 | ||
50 | /** OpenFirmware device address range structure |
- | |
51 | * |
- | |
52 | */ |
- | |
53 | typedef struct { |
- | |
54 | __u32 space; |
- | |
55 | __u32 address; |
- | |
56 | __u32 size; |
- | |
57 | } address_range_t; |
- | |
58 | - | ||
59 | /** OpenFirmware device interrupt structure |
- | |
60 | * |
- | |
61 | */ |
- | |
62 | typedef struct { |
- | |
63 | __u32 line; /**< Interrupt number */ |
- | |
64 | __u32 flags; /**< Interrupt flags/logic */ |
- | |
65 | } interrupt_info_t; |
- | |
66 | - | ||
67 | /** OpenFirmware property structure |
- | |
68 | * |
- | |
69 | */ |
- | |
70 | typedef struct property_t { |
- | |
71 | char *name; /**< Property name */ |
- | |
72 | __u32 length; /**< Value length */ |
- | |
73 | char *value; /**< Property value */ |
- | |
74 | struct property_t *next; /**< Next property in list */ |
- | |
75 | } property_t; |
- | |
76 | - | ||
77 | /** OpenFirmware device descritor |
- | |
78 | * |
- | |
79 | */ |
- | |
80 | typedef struct device_node_t { |
- | |
81 | char *name; /**< Device name */ |
- | |
82 | char *type; /**< Device type */ |
- | |
83 | phandle node; /**< Device handle */ |
- | |
84 | - | ||
85 | __u32 n_addrs; /**< Number of address ranges */ |
- | |
86 | address_range_t *addrs; /**< Address ranges list */ |
- | |
87 | - | ||
88 | __u32 n_intrs; /**< Number of interrupts */ |
- | |
89 | interrupt_info_t *intrs; /**< Interrupts list */ |
- | |
90 | - | ||
91 | char *full_name; /**< Device full name */ |
- | |
92 | - | ||
93 | property_t *properties; /**< Device properties */ |
- | |
94 | - | ||
95 | struct device_node_t *parent; /**< Parent device */ |
- | |
96 | struct device_node_t *child; /**< First child in tree */ |
- | |
97 | struct device_node_t *sibling; /**< Next device on tree level */ |
- | |
98 | struct device_node_t *next; /**< Next device of the same type */ |
- | |
99 | struct device_node_t *next_all; /**< Next device in list of all nodes */ |
- | |
100 | } device_node_t; |
- | |
101 | - | ||
102 | typedef void (*ofw_entry)(ofw_args_t *); |
50 | typedef void (*ofw_entry)(ofw_args_t *); |
103 | 51 | ||
104 | extern ofw_entry ofw; |
52 | extern ofw_entry ofw; |
105 | 53 | ||
106 | extern void ofw_init(void); |
54 | extern void ofw_init(void); |