--- c/src/lib/libbsp/sparc/Makefile.am | 1 + c/src/lib/libbsp/sparc/leon2/Makefile.am | 1 + c/src/lib/libbsp/sparc/leon2/preinstall.am | 4 ++ c/src/lib/libbsp/sparc/leon3/Makefile.am | 1 + c/src/lib/libbsp/sparc/leon3/preinstall.am | 4 ++ .../sparc/shared/include/gr_rasta_spw_router.h | 45 ++++++++++++++++++++ .../libbsp/sparc/shared/pci/gr_rasta_spw_router.c | 11 ++--- 7 files changed, 60 insertions(+), 7 deletions(-) create mode 100644 c/src/lib/libbsp/sparc/shared/include/gr_rasta_spw_router.h
diff --git a/c/src/lib/libbsp/sparc/Makefile.am b/c/src/lib/libbsp/sparc/Makefile.am index 25eb099..ca93999 100644 --- a/c/src/lib/libbsp/sparc/Makefile.am +++ b/c/src/lib/libbsp/sparc/Makefile.am @@ -52,6 +52,7 @@ EXTRA_DIST += shared/pci/pci_memreg_sparc_be.c EXTRA_DIST += shared/include/gr_701.h EXTRA_DIST += shared/include/gr_rasta_adcdac.h EXTRA_DIST += shared/include/gr_rasta_io.h +EXTRA_DIST += shared/include/gr_rasta_spw_router.h EXTRA_DIST += shared/include/gr_rasta_tmtc.h EXTRA_DIST += shared/include/gr_tmtc_1553.h EXTRA_DIST += shared/include/gr_leon4_n2x.h diff --git a/c/src/lib/libbsp/sparc/leon2/Makefile.am b/c/src/lib/libbsp/sparc/leon2/Makefile.am index 927d539..1624ea5 100644 --- a/c/src/lib/libbsp/sparc/leon2/Makefile.am +++ b/c/src/lib/libbsp/sparc/leon2/Makefile.am @@ -111,6 +111,7 @@ libbsp_a_SOURCES += pci/at697_pci.c include_HEADERS += ../../sparc/shared/include/gr_701.h include_HEADERS += ../../sparc/shared/include/gr_rasta_adcdac.h include_HEADERS += ../../sparc/shared/include/gr_rasta_io.h +include_HEADERS += ../../sparc/shared/include/gr_rasta_spw_router.h include_HEADERS += ../../sparc/shared/include/gr_rasta_tmtc.h include_HEADERS += ../../sparc/shared/include/gr_leon4_n2x.h libbsp_a_SOURCES += ../../sparc/shared/pci/gr_701.c diff --git a/c/src/lib/libbsp/sparc/leon2/preinstall.am b/c/src/lib/libbsp/sparc/leon2/preinstall.am index 5874ac7..ada9a3b 100644 --- a/c/src/lib/libbsp/sparc/leon2/preinstall.am +++ b/c/src/lib/libbsp/sparc/leon2/preinstall.am @@ -141,6 +141,10 @@ $(PROJECT_INCLUDE)/gr_rasta_io.h: ../../sparc/shared/include/gr_rasta_io.h $(PRO $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/gr_rasta_io.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/gr_rasta_io.h +$(PROJECT_INCLUDE)/gr_rasta_spw_router.h: ../../sparc/shared/include/gr_rasta_spw_router.h $(PROJECT_INCLUDE)/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/gr_rasta_spw_router.h +PREINSTALL_FILES += $(PROJECT_INCLUDE)/gr_rasta_spw_router.h + $(PROJECT_INCLUDE)/gr_rasta_tmtc.h: ../../sparc/shared/include/gr_rasta_tmtc.h $(PROJECT_INCLUDE)/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/gr_rasta_tmtc.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/gr_rasta_tmtc.h diff --git a/c/src/lib/libbsp/sparc/leon3/Makefile.am b/c/src/lib/libbsp/sparc/leon3/Makefile.am index 924c112..a61549f 100644 --- a/c/src/lib/libbsp/sparc/leon3/Makefile.am +++ b/c/src/lib/libbsp/sparc/leon3/Makefile.am @@ -119,6 +119,7 @@ libbsp_a_SOURCES += ../../sparc/shared/pci/pci_memreg_sparc_be.c include_HEADERS += ../../sparc/shared/include/gr_701.h include_HEADERS += ../../sparc/shared/include/gr_rasta_adcdac.h include_HEADERS += ../../sparc/shared/include/gr_rasta_io.h +include_HEADERS += ../../sparc/shared/include/gr_rasta_spw_router.h include_HEADERS += ../../sparc/shared/include/gr_rasta_tmtc.h include_HEADERS += ../../sparc/shared/include/gr_tmtc_1553.h include_HEADERS += ../../sparc/shared/include/gr_leon4_n2x.h diff --git a/c/src/lib/libbsp/sparc/leon3/preinstall.am b/c/src/lib/libbsp/sparc/leon3/preinstall.am index e506354..3d92b37 100644 --- a/c/src/lib/libbsp/sparc/leon3/preinstall.am +++ b/c/src/lib/libbsp/sparc/leon3/preinstall.am @@ -157,6 +157,10 @@ $(PROJECT_INCLUDE)/gr_rasta_io.h: ../../sparc/shared/include/gr_rasta_io.h $(PRO $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/gr_rasta_io.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/gr_rasta_io.h +$(PROJECT_INCLUDE)/gr_rasta_spw_router.h: ../../sparc/shared/include/gr_rasta_spw_router.h $(PROJECT_INCLUDE)/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/gr_rasta_spw_router.h +PREINSTALL_FILES += $(PROJECT_INCLUDE)/gr_rasta_spw_router.h + $(PROJECT_INCLUDE)/gr_rasta_tmtc.h: ../../sparc/shared/include/gr_rasta_tmtc.h $(PROJECT_INCLUDE)/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/gr_rasta_tmtc.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/gr_rasta_tmtc.h diff --git a/c/src/lib/libbsp/sparc/shared/include/gr_rasta_spw_router.h b/c/src/lib/libbsp/sparc/shared/include/gr_rasta_spw_router.h new file mode 100644 index 0000000..ba98957 --- /dev/null +++ b/c/src/lib/libbsp/sparc/shared/include/gr_rasta_spw_router.h @@ -0,0 +1,45 @@ +/* GR-RASTA-SPW-ROUTER PCI Peripheral driver + * + * COPYRIGHT (c) 2015. + * Cobham Gaisler. + * + * The license and distribution terms for this file may be + * found in found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + */ + +#ifndef __GR_RASTA_SPW_ROUTER_H__ +#define __GR_RASTA_SPW_ROUTER_H__ + +#include <drvmgr/drvmgr.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/* An array of pointers to GR-RASTA-SPW-ROUTER resources. The resources will be + * used by the drivers controlling the cores on the GR-RASTA-SPW-ROUTER target + * AMBA bus. + * + * The gr_rasta_spw_router_resources is declared weak so that the user can + * override the default configuration. The array must be terminated with a + * NULL resource. + */ +extern struct drvmgr_bus_res *gr_rasta_spw_router_resources[]; + +/* Options to gr_rasta_spw_router_print function */ +#define RASTA_SPW_ROUTER_OPTIONS_AMBA 0x01 /* Print AMBA bus devices */ +#define RASTA_SPW_ROUTER_OPTIONS_IRQ 0x02 /* Print current IRQ setup */ + +/* Print information about GR-CPCI-LEON4-N2X PCI board */ +void gr_rasta_spw_router_print(int options); + +/* Register GR-RASTA-SPW-ROUTER driver to Driver Manager */ +void gr_rasta_spw_router_register_drv(void); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/c/src/lib/libbsp/sparc/shared/pci/gr_rasta_spw_router.c b/c/src/lib/libbsp/sparc/shared/pci/gr_rasta_spw_router.c index 027c1d4..3b40993 100644 --- a/c/src/lib/libbsp/sparc/shared/pci/gr_rasta_spw_router.c +++ b/c/src/lib/libbsp/sparc/shared/pci/gr_rasta_spw_router.c @@ -29,8 +29,7 @@ #include <drvmgr/ambapp_bus.h> #include <drvmgr/pci_bus.h> #include <genirq.h> - -/*#include <gr_rasta_spw_router.h> */ +#include <gr_rasta_spw_router.h> /* Determines which PCI address the AHB masters will access, it should be * set so that the masters can access the CPU RAM. Default is base of CPU RAM, @@ -45,9 +44,6 @@ extern unsigned int _RAM_START; #define GRPCI2_BAR0_TO_AHB_MAP 0x04 /* Fixme */ #define GRPCI2_PCI_CONFIG 0x20 /* Fixme */ -#define RASTA_SPW_ROUTER_OPTIONS_AMBA 0x01 /* Print AMBA bus devices */ /* Fixme */ -#define RASTA_SPW_ROUTER_OPTIONS_IRQ 0x02 /* Print current IRQ setup */ /* Fixme */ - /* #define DEBUG 1 */ @@ -62,6 +58,7 @@ extern unsigned int _RAM_START; int gr_rasta_spw_router_init1(struct drvmgr_dev *dev); int gr_rasta_spw_router_init2(struct drvmgr_dev *dev); +void gr_rasta_spw_router_isr(void *arg); struct grpci2_regs { volatile unsigned int ctrl; @@ -235,7 +232,7 @@ void gr_rasta_spw_router_isr(void *arg) DBG("RASTA-SPW_ROUTER-IRQ: 0x%x\n", tmp); } -int gr_rasta_spw_router_hw_init(struct gr_rasta_spw_router_priv *priv) +static int gr_rasta_spw_router_hw_init(struct gr_rasta_spw_router_priv *priv) { int i; uint32_t data; @@ -372,7 +369,7 @@ int gr_rasta_spw_router_hw_init(struct gr_rasta_spw_router_priv *priv) return 0; } -int gr_rasta_spw_router_hw_init2(struct gr_rasta_spw_router_priv *priv) +static int gr_rasta_spw_router_hw_init2(struct gr_rasta_spw_router_priv *priv) { /* Enable DMA by enabling PCI target as master */ pci_master_enable(priv->pcidev); -- 1.7.0.4 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel