RTEMS 6.1-rc5
Loading...
Searching...
No Matches
drvmgr_confdefs.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
9/*
10 * COPYRIGHT (c) 2009 Cobham Gaisler AB.
11 *
12 * Redistribution and use in source and binary forms, with or without
13 * modification, are permitted provided that the following conditions
14 * are met:
15 * 1. Redistributions of source code must retain the above copyright
16 * notice, this list of conditions and the following disclaimer.
17 * 2. Redistributions in binary form must reproduce the above copyright
18 * notice, this list of conditions and the following disclaimer in the
19 * documentation and/or other materials provided with the distribution.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
25 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 * POSSIBILITY OF SUCH DAMAGE.
32 */
33
34/*
35 * The configuration consist of an array with function pointers that
36 * register one or more drivers that will be used by the Driver Manger.
37 *
38 * The Functions are called in the order they are declared.
39 *
40 */
41
42#ifndef _DRIVER_MANAGER_CONFDEFS_H_
43#define _DRIVER_MANAGER_CONFDEFS_H_
44
45#include "drvmgr.h"
46
47#ifdef __cplusplus
48extern "C" {
49#endif
50
51extern drvmgr_drv_reg_func drvmgr_drivers[];
52
53#ifdef CONFIGURE_INIT
54
55/*** AMBA Plug & Play Drivers ***/
56extern void gptimer_register_drv(void);
57extern void apbuart_cons_register_drv(void);
58extern void greth_register_drv(void);
59extern void grspw_register_drv(void);
60extern void grspw2_register_drv(void);
61extern void grcan_register_drv(void);
62extern void occan_register_drv(void);
63extern void gr1553_register(void);
64extern void gr1553bc_register(void);
65extern void gr1553bm_register(void);
66extern void gr1553rt_register(void);
67extern void b1553brm_register_drv(void);
68extern void b1553rt_register_drv(void);
69extern void grtm_register_drv(void);
70extern void grtc_register_drv(void);
71extern void pcif_register_drv(void);
72extern void grpci_register_drv(void);
73extern void mctrl_register_drv(void);
74extern void l2cache_register_drv(void);
75extern void griommu_register_drv(void);
76extern void grpci2_register_drv(void);
77extern void spictrl_register_drv(void);
78extern void i2cmst_register_drv(void);
79extern void grgpio_register_drv(void);
80extern void grpwm_register_drv(void);
81extern void gradcdac_register_drv(void);
82extern void spwcuc_register(void);
83extern void grctm_register(void);
84extern void router_register_drv(void);
85extern void ahbstat_register_drv(void);
86extern void memscrub_register_drv(void);
87extern void l4stat_register_drv(void);
88extern void spwtdp_register_drv(void);
89
90
91/*** LEON2 AMBA Hard coded bus Drivers ***/
92extern void at697pci_register_drv(void);
93extern void ambapp_leon2_register(void);
94
95
96/*** PCI Bus Drivers (PCI Target drivers) ***/
97extern void gr_rasta_adcdac_register_drv(void);
98extern void gr_rasta_io_register_drv(void);
99extern void gr_rasta_tmtc_register_drv(void);
100extern void gr701_register_drv(void);
101extern void gr_tmtc_1553_register_drv(void);
102extern void gr_rasta_spw_router_register_drv(void);
103extern void gr_cpci_leon4_n2x_register_drv(void);
104extern void gr_cpci_gr740_register_drv(void);
105
106
107/* CONFIGURE DRIVER MANAGER */
108drvmgr_drv_reg_func drvmgr_drivers[] = {
109 /*** AMBA Plug & Play Drivers ***/
110#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GPTIMER
111 gptimer_register_drv,
112#endif
113#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_APBUART
114 apbuart_cons_register_drv,
115#endif
116#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRETH
117 greth_register_drv,
118#endif
119#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRSPW
120 grspw_register_drv,
121#endif
122#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRSPW2
123 grspw2_register_drv,
124#endif
125#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRCAN
126 grcan_register_drv,
127#endif
128#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_OCCAN
129 occan_register_drv,
130#endif
131#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GR1553B
132 gr1553_register,
133#endif
134#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GR1553BC
135 gr1553bc_register,
136#endif
137#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GR1553BM
138 gr1553bm_register,
139#endif
140#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GR1553RT
141 gr1553rt_register,
142#endif
143#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_B1553BRM
144 b1553brm_register_drv,
145#endif
146#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_B1553RT
147 b1553rt_register_drv,
148#endif
149#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRTM
150 grtm_register_drv,
151#endif
152#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRTC
153 grtc_register_drv,
154#endif
155#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_PCIF
156 pcif_register_drv,
157#endif
158#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRPCI
159 grpci_register_drv,
160#endif
161#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRPCI2
162 grpci2_register_drv,
163#endif
164#ifdef CONFIGURE_DRIVER_AMBAPP_MCTRL
165 mctrl_register_drv,
166#endif
167#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_L2CACHE
168 l2cache_register_drv,
169#endif
170#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRIOMMU
171 griommu_register_drv,
172#endif
173#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_SPICTRL
174 spictrl_register_drv,
175#endif
176#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_I2CMST
177 i2cmst_register_drv,
178#endif
179#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRGPIO
180 grgpio_register_drv,
181#endif
182#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRPWM
183 grpwm_register_drv,
184#endif
185#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRADCDAC
186 gradcdac_register_drv,
187#endif
188#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_SPWCUC
189 spwcuc_register,
190#endif
191#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRCTM
192 grctm_register,
193#endif
194#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_SPW_ROUTER
195 router_register_drv,
196#endif
197#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_AHBSTAT
198 ahbstat_register_drv,
199#endif
200#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_MEMSCRUB
201 memscrub_register_drv,
202#endif
203#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_L4STAT
204 l4stat_register_drv,
205#endif
206#ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_SPWTDP
207 spwtdp_register_drv,
208#endif
209
210 /*** LEON2 AMBA Drivers ***/
211#ifdef CONFIGURE_DRIVER_LEON2_AT697PCI
212 at697pci_register_drv,
213#endif
214#ifdef CONFIGURE_DRIVER_LEON2_AMBAPP
215 ambapp_leon2_register,
216#endif
217
218 /*** PCI Target Drivers ***/
219#ifdef CONFIGURE_DRIVER_PCI_GR_RASTA_ADCDAC
220 gr_rasta_adcdac_register_drv,
221#endif
222#ifdef CONFIGURE_DRIVER_PCI_GR_RASTA_IO
223 gr_rasta_io_register_drv,
224#endif
225#ifdef CONFIGURE_DRIVER_PCI_GR_RASTA_TMTC
226 gr_rasta_tmtc_register_drv,
227#endif
228#ifdef CONFIGURE_DRIVER_PCI_GR_701
229 gr701_register_drv,
230#endif
231#ifdef CONFIGURE_DRIVER_PCI_GR_TMTC_1553
232 gr_tmtc_1553_register_drv,
233#endif
234#ifdef CONFIGURE_DRIVER_PCI_GR_RASTA_SPW_ROUTER
235 gr_rasta_spw_router_register_drv,
236#endif
237#ifdef CONFIGURE_DRIVER_PCI_GR_LEON4_N2X
238 gr_cpci_leon4_n2x_register_drv,
239#endif
240#ifdef CONFIGURE_DRIVER_PCI_GR_CPCI_GR740
241 gr_cpci_gr740_register_drv,
242#endif
243
244
245/* Macros for adding custom drivers without needing to recompile
246 * kernel.
247 */
248#ifdef CONFIGURE_DRIVER_CUSTOM1
249 DRIVER_CUSTOM1_REG,
250#endif
251#ifdef CONFIGURE_DRIVER_CUSTOM2
252 DRIVER_CUSTOM2_REG,
253#endif
254#ifdef CONFIGURE_DRIVER_CUSTOM3
255 DRIVER_CUSTOM3_REG,
256#endif
257#ifdef CONFIGURE_DRIVER_CUSTOM4
258 DRIVER_CUSTOM4_REG,
259#endif
260#ifdef CONFIGURE_DRIVER_CUSTOM5
261 DRIVER_CUSTOM5_REG,
262#endif
263#ifdef CONFIGURE_DRIVER_CUSTOM6
264 DRIVER_CUSTOM6_REG,
265#endif
266#ifdef CONFIGURE_DRIVER_CUSTOM7
267 DRIVER_CUSTOM7_REG,
268#endif
269#ifdef CONFIGURE_DRIVER_CUSTOM8
270 DRIVER_CUSTOM8_REG,
271#endif
272#ifdef CONFIGURE_DRIVER_CUSTOM9
273 DRIVER_CUSTOM9_REG,
274#endif
275
276 /* End array with NULL */
277 NULL
278};
279
280#endif /* CONFIGURE_INIT */
281
282#ifdef __cplusplus
283}
284#endif
285
286#endif /* _DRIVER_MANAGER_CONFDEFS_H_ */
Driver Manager Interface.
void(* drvmgr_drv_reg_func)(void)
Definition: drvmgr.h:345