summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc/shared/can/occan_pci.c
diff options
context:
space:
mode:
authorDaniel Hellstrom <daniel@gaisler.com>2011-12-20 15:58:05 +0100
committerDaniel Hellstrom <daniel@gaisler.com>2015-04-17 01:10:17 +0200
commite67b2b8d0552068d5d2859c02ffb5c2e110056de (patch)
tree161f7d400a93c7d54569e8b34ceefa45fcaa0aff /c/src/lib/libbsp/sparc/shared/can/occan_pci.c
parentLEON2: added support for LEON2-GRLIB systems (diff)
downloadrtems-e67b2b8d0552068d5d2859c02ffb5c2e110056de.tar.bz2
LEON: updated and added PCI peripherals for LEON BSPs
The CCHIP driver is replaced with the GR_701 driver. The RASTA driver is replaced by the GR-RASTA-IO driver. All drivers are now compatible with both LEON2 and LEON3, drivers were initialized directly by the PCI-board drivers are now initialized by the driver manager and therefore does not require the double code created by including for example grcan.c into grcan_rasta.c. The other drivers needs to be updated to the driver manager framework however. Added support for: * GR-701 (only LEON2 before) * GR-RASTA-IO (only LEON2 before) * GR-RASTA-ADCDAC * GR-RASTA-TMTC * GR-RASTA-SPW-ROUTER * GR-TMTC-1553
Diffstat (limited to 'c/src/lib/libbsp/sparc/shared/can/occan_pci.c')
-rw-r--r--c/src/lib/libbsp/sparc/shared/can/occan_pci.c65
1 files changed, 0 insertions, 65 deletions
diff --git a/c/src/lib/libbsp/sparc/shared/can/occan_pci.c b/c/src/lib/libbsp/sparc/shared/can/occan_pci.c
deleted file mode 100644
index 12273c99fc..0000000000
--- a/c/src/lib/libbsp/sparc/shared/can/occan_pci.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/* PCI cannot do byte accesses to addresses aligned byte wise
- * Use alternative reg map.
- */
-#define OCCAN_WORD_REGS
-
-#include <occan_pci.h>
-
-/* Set registered device name */
-#define OCCAN_DEVNAME "/dev/occanpci0"
-#define OCCAN_DEVNAME_NO(devstr,no) ((devstr)[13]='0'+(no))
-
-/* Any non-static function will begin with */
-#define OCCAN_PREFIX(name) occanpci##name
-
-/* do nothing, assume that the interrupt handler is called
- * setup externally calling b1553_interrupt_handler.
- */
-#define OCCAN_REG_INT(handler,irq,arg) \
- if ( occan_pci_int_reg ) \
- occan_pci_int_reg(handler,irq,arg);
-
-void (*occan_pci_int_reg)(void *handler, int irq, void *arg) = 0;
-
-void occanpci_interrupt_handler(int irq, void *arg);
-
-/* AMBA Bus is clocked using the PCI clock (33.3MHz) */
-#define SYS_FREQ_HZ 33333333
-
-/* Enable two redundant channels */
-#define REDUNDANT_CHANNELS 2
-
-#define OCCAN_SET_CHANNEL(priv,channel) occanpci_set_channel(priv,channel)
-
-#include "occan.c"
-
-/* Define method that sets redundant channel
- * The channel select register:
- * 0x00 = byte regs
- * 0x40 = channel select
- * 0x80 = word regs
- */
-static void inline occanpci_set_channel(occan_priv *priv, int channel){
- unsigned int *chan_sel = (unsigned int *)(((unsigned int)priv->regs & ~0xff)+0x40);
- if ( channel == 0 )
- *chan_sel = 0;
- else
- *chan_sel = 0xffffffff;
-}
-
-int occan_pci_register(struct ambapp_bus *bus)
-{
- /* Setup configuration */
-
- /* Register the driver */
- return OCCAN_PREFIX(_register)(bus);
-}
-
-
-/* Call this from PCI interrupt handler
- * irq = the irq number of the HW device local to that IRQMP controller
- *
- */
-void occanpci_interrupt_handler(int irq, void *arg){
- occan_interrupt(arg);
-}