Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:24:11

0001 /* SPDX-License-Identifier: BSD-2-Clause */
0002 
0003 /**
0004  * @file
0005  *
0006  * @brief Driver Manager Configuration file.
0007  */
0008 
0009 /*
0010  * COPYRIGHT (c) 2009 Cobham Gaisler AB.
0011  *
0012  * Redistribution and use in source and binary forms, with or without
0013  * modification, are permitted provided that the following conditions
0014  * are met:
0015  * 1. Redistributions of source code must retain the above copyright
0016  *    notice, this list of conditions and the following disclaimer.
0017  * 2. Redistributions in binary form must reproduce the above copyright
0018  *    notice, this list of conditions and the following disclaimer in the
0019  *    documentation and/or other materials provided with the distribution.
0020  *
0021  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
0022  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
0023  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
0024  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
0025  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
0026  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
0027  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
0028  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
0029  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
0030  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
0031  * POSSIBILITY OF SUCH DAMAGE.
0032  */
0033 
0034 /*
0035  *  The configuration consist of an array with function pointers that
0036  *  register one or more drivers that will be used by the Driver Manger.
0037  *
0038  *  The Functions are called in the order they are declared.
0039  *
0040  */
0041 
0042 #ifndef _DRIVER_MANAGER_CONFDEFS_H_
0043 #define _DRIVER_MANAGER_CONFDEFS_H_
0044 
0045 #include "drvmgr.h"
0046 
0047 #ifdef __cplusplus
0048 extern "C" {
0049 #endif
0050 
0051 extern drvmgr_drv_reg_func drvmgr_drivers[];
0052 
0053 #ifdef CONFIGURE_INIT
0054 
0055 /*** AMBA Plug & Play Drivers ***/
0056 extern void gptimer_register_drv(void);
0057 extern void apbuart_cons_register_drv(void);
0058 extern void greth_register_drv(void);
0059 extern void grspw_register_drv(void);
0060 extern void grspw2_register_drv(void);
0061 extern void grcan_register_drv(void);
0062 extern void occan_register_drv(void);
0063 extern void gr1553_register(void);
0064 extern void gr1553bc_register(void);
0065 extern void gr1553bm_register(void);
0066 extern void gr1553rt_register(void);
0067 extern void b1553brm_register_drv(void);
0068 extern void b1553rt_register_drv(void);
0069 extern void grtm_register_drv(void);
0070 extern void grtc_register_drv(void);
0071 extern void pcif_register_drv(void);
0072 extern void grpci_register_drv(void);
0073 extern void mctrl_register_drv(void);
0074 extern void l2cache_register_drv(void);
0075 extern void griommu_register_drv(void);
0076 extern void grpci2_register_drv(void);
0077 extern void spictrl_register_drv(void);
0078 extern void i2cmst_register_drv(void);
0079 extern void grgpio_register_drv(void);
0080 extern void grpwm_register_drv(void);
0081 extern void gradcdac_register_drv(void);
0082 extern void spwcuc_register(void);
0083 extern void grctm_register(void);
0084 extern void router_register_drv(void);
0085 extern void ahbstat_register_drv(void);
0086 extern void memscrub_register_drv(void);
0087 extern void l4stat_register_drv(void);
0088 extern void spwtdp_register_drv(void);
0089 
0090 
0091 /*** LEON2 AMBA Hard coded bus Drivers ***/
0092 extern void at697pci_register_drv(void);
0093 extern void ambapp_leon2_register(void);
0094 
0095 
0096 /*** PCI Bus Drivers (PCI Target drivers) ***/
0097 extern void gr_rasta_adcdac_register_drv(void);
0098 extern void gr_rasta_io_register_drv(void);
0099 extern void gr_rasta_tmtc_register_drv(void);
0100 extern void gr701_register_drv(void);
0101 extern void gr_tmtc_1553_register_drv(void);
0102 extern void gr_rasta_spw_router_register_drv(void);
0103 extern void gr_cpci_leon4_n2x_register_drv(void);
0104 extern void gr_cpci_gr740_register_drv(void);
0105 
0106 
0107 /* CONFIGURE DRIVER MANAGER */
0108 drvmgr_drv_reg_func drvmgr_drivers[] = {
0109     /*** AMBA Plug & Play Drivers ***/
0110 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GPTIMER
0111     gptimer_register_drv,
0112 #endif
0113 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_APBUART
0114     apbuart_cons_register_drv,
0115 #endif
0116 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRETH
0117     greth_register_drv,
0118 #endif
0119 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRSPW
0120     grspw_register_drv,
0121 #endif
0122 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRSPW2
0123     grspw2_register_drv,
0124 #endif
0125 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRCAN
0126     grcan_register_drv,
0127 #endif
0128 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_OCCAN
0129     occan_register_drv,
0130 #endif
0131 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GR1553B
0132     gr1553_register,
0133 #endif
0134 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GR1553BC
0135     gr1553bc_register,
0136 #endif
0137 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GR1553BM
0138     gr1553bm_register,
0139 #endif
0140 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GR1553RT
0141     gr1553rt_register,
0142 #endif
0143 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_B1553BRM
0144     b1553brm_register_drv,
0145 #endif
0146 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_B1553RT
0147     b1553rt_register_drv,
0148 #endif
0149 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRTM
0150     grtm_register_drv,
0151 #endif
0152 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRTC
0153     grtc_register_drv,
0154 #endif
0155 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_PCIF
0156     pcif_register_drv,
0157 #endif
0158 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRPCI
0159     grpci_register_drv,
0160 #endif
0161 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRPCI2
0162     grpci2_register_drv,
0163 #endif
0164 #ifdef CONFIGURE_DRIVER_AMBAPP_MCTRL
0165     mctrl_register_drv,
0166 #endif
0167 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_L2CACHE
0168     l2cache_register_drv,
0169 #endif
0170 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRIOMMU
0171     griommu_register_drv,
0172 #endif
0173 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_SPICTRL
0174     spictrl_register_drv,
0175 #endif
0176 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_I2CMST
0177     i2cmst_register_drv,
0178 #endif
0179 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRGPIO
0180     grgpio_register_drv,
0181 #endif
0182 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRPWM
0183     grpwm_register_drv,
0184 #endif
0185 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRADCDAC
0186     gradcdac_register_drv,
0187 #endif
0188 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_SPWCUC
0189     spwcuc_register,
0190 #endif
0191 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_GRCTM
0192     grctm_register,
0193 #endif
0194 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_SPW_ROUTER
0195     router_register_drv,
0196 #endif
0197 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_AHBSTAT
0198     ahbstat_register_drv,
0199 #endif
0200 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_MEMSCRUB
0201     memscrub_register_drv,
0202 #endif
0203 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_L4STAT
0204     l4stat_register_drv,
0205 #endif
0206 #ifdef CONFIGURE_DRIVER_AMBAPP_GAISLER_SPWTDP
0207     spwtdp_register_drv,
0208 #endif
0209 
0210     /*** LEON2 AMBA Drivers ***/
0211 #ifdef CONFIGURE_DRIVER_LEON2_AT697PCI
0212     at697pci_register_drv,
0213 #endif
0214 #ifdef CONFIGURE_DRIVER_LEON2_AMBAPP
0215     ambapp_leon2_register,
0216 #endif
0217 
0218     /*** PCI Target Drivers ***/
0219 #ifdef CONFIGURE_DRIVER_PCI_GR_RASTA_ADCDAC
0220     gr_rasta_adcdac_register_drv,
0221 #endif
0222 #ifdef CONFIGURE_DRIVER_PCI_GR_RASTA_IO
0223     gr_rasta_io_register_drv,
0224 #endif
0225 #ifdef CONFIGURE_DRIVER_PCI_GR_RASTA_TMTC
0226     gr_rasta_tmtc_register_drv,
0227 #endif
0228 #ifdef CONFIGURE_DRIVER_PCI_GR_701
0229     gr701_register_drv,
0230 #endif
0231 #ifdef CONFIGURE_DRIVER_PCI_GR_TMTC_1553
0232     gr_tmtc_1553_register_drv,
0233 #endif
0234 #ifdef CONFIGURE_DRIVER_PCI_GR_RASTA_SPW_ROUTER
0235     gr_rasta_spw_router_register_drv,
0236 #endif
0237 #ifdef CONFIGURE_DRIVER_PCI_GR_LEON4_N2X
0238     gr_cpci_leon4_n2x_register_drv,
0239 #endif
0240 #ifdef CONFIGURE_DRIVER_PCI_GR_CPCI_GR740
0241     gr_cpci_gr740_register_drv,
0242 #endif
0243 
0244 
0245 /* Macros for adding custom drivers without needing to recompile
0246  * kernel.
0247  */
0248 #ifdef CONFIGURE_DRIVER_CUSTOM1
0249     DRIVER_CUSTOM1_REG,
0250 #endif
0251 #ifdef CONFIGURE_DRIVER_CUSTOM2
0252     DRIVER_CUSTOM2_REG,
0253 #endif
0254 #ifdef CONFIGURE_DRIVER_CUSTOM3
0255     DRIVER_CUSTOM3_REG,
0256 #endif
0257 #ifdef CONFIGURE_DRIVER_CUSTOM4
0258     DRIVER_CUSTOM4_REG,
0259 #endif
0260 #ifdef CONFIGURE_DRIVER_CUSTOM5
0261     DRIVER_CUSTOM5_REG,
0262 #endif
0263 #ifdef CONFIGURE_DRIVER_CUSTOM6
0264     DRIVER_CUSTOM6_REG,
0265 #endif
0266 #ifdef CONFIGURE_DRIVER_CUSTOM7
0267     DRIVER_CUSTOM7_REG,
0268 #endif
0269 #ifdef CONFIGURE_DRIVER_CUSTOM8
0270     DRIVER_CUSTOM8_REG,
0271 #endif
0272 #ifdef CONFIGURE_DRIVER_CUSTOM9
0273     DRIVER_CUSTOM9_REG,
0274 #endif
0275 
0276     /* End array with NULL */
0277     NULL
0278 };
0279 
0280 #endif /* CONFIGURE_INIT */
0281 
0282 #ifdef __cplusplus
0283 }
0284 #endif
0285 
0286 #endif /* _DRIVER_MANAGER_CONFDEFS_H_ */