RTEMS CPU Kit with SuperCore  4.11.3
drvmgr_confdefs.h
Go to the documentation of this file.
1 /* Driver Manager Configuration file.
2  *
3  * COPYRIGHT (c) 2009 Cobham Gaisler AB.
4  *
5  * The license and distribution terms for this file may be
6  * found in the file LICENSE in this distribution or at
7  * http://www.rtems.org/license/LICENSE.
8  */
9 
10 /*
11  * The configuration consist of an array with function pointers that
12  * register one or more drivers that will be used by the Driver Manger.
13  *
14  * The Functions are called in the order they are declared.
15  *
16  */
17 
18 #ifndef _DRIVER_MANAGER_CONFDEFS_H_
19 #define _DRIVER_MANAGER_CONFDEFS_H_
20 
21 #include "drvmgr.h"
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 extern drvmgr_drv_reg_func drvmgr_drivers[];
28 
29 #ifdef CONFIGURE_INIT
30 
31 /*** AMBA Plug & Play Drivers ***/
32 extern void gptimer_register_drv(void);
33 extern void apbuart_cons_register_drv(void);
34 extern void greth_register_drv(void);
35 extern void grspw_register_drv(void);
36 extern void grspw2_register_drv(void);
37 extern void grcan_register_drv(void);
38 extern void occan_register_drv(void);
39 extern void gr1553_register(void);
40 extern void gr1553bc_register(void);
41 extern void gr1553bm_register(void);
42 extern void gr1553rt_register(void);
43 extern void b1553brm_register_drv(void);
44 extern void b1553rt_register_drv(void);
45 extern void grtm_register_drv(void);
46 extern void grtc_register_drv(void);
47 extern void pcif_register_drv(void);
48 extern void grpci_register_drv(void);
49 extern void mctrl_register_drv(void);
50 extern void grpci2_register_drv(void);
51 extern void spictrl_register_drv(void);
52 extern void i2cmst_register_drv(void);
53 extern void grgpio_register_drv(void);
54 extern void grpwm_register_drv(void);
55 extern void gradcdac_register_drv(void);
56 extern void spwcuc_register(void);
57 extern void grctm_register(void);
58 extern void router_register_drv(void);
59 extern void ahbstat_register_drv(void);
60 
61 
62 /*** LEON2 AMBA Hard coded bus Drivers ***/
63 extern void at697pci_register_drv(void);
64 extern void ambapp_leon2_register(void);
65 
66 
67 /*** PCI Bus Drivers (PCI Target drivers) ***/
68 extern void gr_rasta_adcdac_register_drv(void);
69 extern void gr_rasta_io_register_drv(void);
70 extern void gr_rasta_tmtc_register_drv(void);
71 extern void gr701_register_drv(void);
72 extern void gr_tmtc_1553_register_drv(void);
73 extern void gr_rasta_spw_router_register_drv(void);
74 extern void gr_cpci_leon4_n2x_register_drv(void);
75 
76 
77 /* CONFIGURE DRIVER MANAGER */
78 drvmgr_drv_reg_func drvmgr_drivers[] = {
79  /*** AMBA Plug & Play Drivers ***/
80 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GPTIMER
81  gptimer_register_drv,
82 #endif
83 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_APBUART
84  apbuart_cons_register_drv,
85 #endif
86 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRETH
87  greth_register_drv,
88 #endif
89 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRSPW
90  grspw_register_drv,
91 #endif
92 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRSPW2
93  grspw2_register_drv,
94 #endif
95 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRCAN
96  grcan_register_drv,
97 #endif
98 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_OCCAN
99  occan_register_drv,
100 #endif
101 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GR1553B
102  gr1553_register,
103 #endif
104 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GR1553BC
105  gr1553bc_register,
106 #endif
107 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GR1553BM
108  gr1553bm_register,
109 #endif
110 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GR1553RT
111  gr1553rt_register,
112 #endif
113 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_B1553BRM
114  b1553brm_register_drv,
115 #endif
116 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_B1553RT
117  b1553rt_register_drv,
118 #endif
119 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRTM
120  grtm_register_drv,
121 #endif
122 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRTC
123  grtc_register_drv,
124 #endif
125 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_PCIF
126  pcif_register_drv,
127 #endif
128 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRPCI
129  grpci_register_drv,
130 #endif
131 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRPCI2
132  grpci2_register_drv,
133 #endif
134 #ifdef CONFIGURE_DRIVER_AMBAPP_MCTRL
135  mctrl_register_drv,
136 #endif
137 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_SPICTRL
138  spictrl_register_drv,
139 #endif
140 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_I2CMST
141  i2cmst_register_drv,
142 #endif
143 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRGPIO
144  grgpio_register_drv,
145 #endif
146 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRPWM
147  grpwm_register_drv,
148 #endif
149 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRADCDAC
150  gradcdac_register_drv,
151 #endif
152 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_SPWCUC
153  spwcuc_register,
154 #endif
155 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRCTM
156  grctm_register,
157 #endif
158 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_SPW_ROUTER
159  router_register_drv,
160 #endif
161 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_AHBSTAT
162  ahbstat_register_drv,
163 #endif
164 
165  /*** LEON2 AMBA Drivers ***/
166 #ifdef CONFIGURE_DRIVER_LEON2_AT697PCI
167  at697pci_register_drv,
168 #endif
169 #ifdef CONFIGURE_DRIVER_LEON2_AMBAPP
170  ambapp_leon2_register,
171 #endif
172 
173  /*** PCI Target Drivers ***/
174 #ifdef CONFIGURE_DRIVER_PCI_GR_RASTA_ADCDAC
175  gr_rasta_adcdac_register_drv,
176 #endif
177 #ifdef CONFIGURE_DRIVER_PCI_GR_RASTA_IO
178  gr_rasta_io_register_drv,
179 #endif
180 #ifdef CONFIGURE_DRIVER_PCI_GR_RASTA_TMTC
181  gr_rasta_tmtc_register_drv,
182 #endif
183 #ifdef CONFIGURE_DRIVER_PCI_GR_701
184  gr701_register_drv,
185 #endif
186 #ifdef CONFIGURE_DRIVER_PCI_GR_TMTC_1553
187  gr_tmtc_1553_register_drv,
188 #endif
189 #ifdef CONFIGURE_DRIVER_PCI_GR_RASTA_SPW_ROUTER
190  gr_rasta_spw_router_register_drv,
191 #endif
192 #ifdef CONFIGURE_DRIVER_PCI_GR_LEON4_N2X
193  gr_cpci_leon4_n2x_register_drv,
194 #endif
195 
196 
197 /* Macros for adding custom drivers without needing to recompile
198  * kernel.
199  */
200 #ifdef CONFIGURE_DRIVER_CUSTOM1
201  DRIVER_CUSTOM1_REG,
202 #endif
203 #ifdef CONFIGURE_DRIVER_CUSTOM2
204  DRIVER_CUSTOM2_REG,
205 #endif
206 #ifdef CONFIGURE_DRIVER_CUSTOM3
207  DRIVER_CUSTOM3_REG,
208 #endif
209 #ifdef CONFIGURE_DRIVER_CUSTOM4
210  DRIVER_CUSTOM4_REG,
211 #endif
212 #ifdef CONFIGURE_DRIVER_CUSTOM5
213  DRIVER_CUSTOM5_REG,
214 #endif
215 #ifdef CONFIGURE_DRIVER_CUSTOM6
216  DRIVER_CUSTOM6_REG,
217 #endif
218 #ifdef CONFIGURE_DRIVER_CUSTOM7
219  DRIVER_CUSTOM7_REG,
220 #endif
221 #ifdef CONFIGURE_DRIVER_CUSTOM8
222  DRIVER_CUSTOM8_REG,
223 #endif
224 #ifdef CONFIGURE_DRIVER_CUSTOM9
225  DRIVER_CUSTOM9_REG,
226 #endif
227 
228  /* End array with NULL */
229  {NULL}
230 };
231 
232 #endif /* CONFIGURE_INIT */
233 
234 #ifdef __cplusplus
235 }
236 #endif
237 
238 #endif /* _DRIVER_MANAGER_CONFDEFS_H_ */
void(* drvmgr_drv_reg_func)(void)
Structure defines a function pointer called when driver manager is ready for drivers to register them...
Definition: drvmgr.h:319