blob: 0e1c6f98dbce4851daf251632aafcf7258d2624a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
/**
* @file
* @ingroup spw
* @brief Macros used for GRSPW controller via PCI
*/
/*
* COPYRIGHT (c) 2006.
* Gaisler Research
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.org/license/LICENSE.
*
*/
#ifndef __GRSPW_PCI_H__
#define __GRSPW_PCI_H__
#include <grspw.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Register GRSPW Driver
* bus = &ambapp_plb for LEON3
*
* Memory setup:
* memarea = 128k aligned pointer to memory (if zero malloc will be used) (as the CPU sees it)
* hw_address = address that HW must use to access memarea. (used in the translation process)
*/
int grspw_pci_register (struct ambapp_bus *bus,
unsigned int memarea, unsigned int hw_address);
/* This function must be called on BRM interrupt. Called from the
* PCI interrupt handler. irq = AMBA IRQ MASK assigned to the BRM device,
* is found by reading pending register on IRQMP connected to BRM
* device.
*
* Return 0=not handled. nono-zero=handled
*/
unsigned int grspw_pci_interrupt_handler (int irq, void *arg);
extern void (*grspw_pci_int_reg) (void *handler, int irq, void *arg);
#ifdef __cplusplus
}
#endif
#endif /* __GRSPW_PCI_H__ */
|