summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc/shared/spw
diff options
context:
space:
mode:
authorDaniel Hellstrom <daniel@gaisler.com>2012-04-17 16:25:42 +0200
committerGedare Bloom <gedare@rtems.org>2012-04-17 22:01:47 -0400
commit7a01a888a72e5e4d65beb781ef12b093cfec10e8 (patch)
tree303b4eb0f7d683bcab42ebeb95e146a2a4d98eb4 /c/src/lib/libbsp/sparc/shared/spw
parentLEON3: Network initialization code updated to new AMBAPP layer (diff)
downloadrtems-7a01a888a72e5e4d65beb781ef12b093cfec10e8.tar.bz2
LEON: updated drivers to use new AMBAPP Layer
The drivers are updated to use the new AMBA layer, however the backwards-compatibility interface (ambapp_old) is used. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
Diffstat (limited to 'c/src/lib/libbsp/sparc/shared/spw')
-rw-r--r--c/src/lib/libbsp/sparc/shared/spw/grspw.c35
-rw-r--r--c/src/lib/libbsp/sparc/shared/spw/grspw_pci.c2
-rw-r--r--c/src/lib/libbsp/sparc/shared/spw/grspw_rasta.c2
3 files changed, 17 insertions, 22 deletions
diff --git a/c/src/lib/libbsp/sparc/shared/spw/grspw.c b/c/src/lib/libbsp/sparc/shared/spw/grspw.c
index 6a9da79dfa..8ab502023b 100644
--- a/c/src/lib/libbsp/sparc/shared/spw/grspw.c
+++ b/c/src/lib/libbsp/sparc/shared/spw/grspw.c
@@ -370,9 +370,9 @@ static rtems_device_driver grspw_control(
grspw_control }
static rtems_driver_address_table grspw_driver = GRSPW_DRIVER_TABLE_ENTRY;
-static amba_confarea_type *amba_bus;
+static struct ambapp_bus *amba_bus;
-int GRSPW_PREFIX(_register)(amba_confarea_type *bus)
+int GRSPW_PREFIX(_register)(struct ambapp_bus *bus)
{
rtems_status_code r;
rtems_device_major_number m;
@@ -389,10 +389,11 @@ int GRSPW_PREFIX(_register)(amba_confarea_type *bus)
#ifdef LEON3
/* LEON3: find timer address via AMBA Plug&Play info */
{
- amba_apb_device gptimer;
+ struct ambapp_apb_info gptimer;
LEON3_Timer_Regs_Map *tregs;
- if ( amba_find_apbslv(&amba_conf,VENDOR_GAISLER,GAISLER_GPTIMER,&gptimer) == 1 ){
+ if ( ambapp_find_apbslv(&ambapp_plb, VENDOR_GAISLER,
+ GAISLER_GPTIMER, &gptimer) == 1 ) {
tregs = (LEON3_Timer_Regs_Map *)gptimer.start;
sys_freq_khz = (tregs->scaler_reload+1)*1000;
SPACEWIRE_DBG("GRSPW: detected %dkHZ system frequency\n\r",sys_freq_khz);
@@ -609,7 +610,7 @@ static rtems_device_driver grspw_initialize(
char c;
GRSPW_DEV *pDev;
char console_name[20];
- amba_apb_device dev;
+ struct ambapp_apb_info dev;
SPACEWIRE_DBG2("spacewire driver initialization\n");
@@ -620,19 +621,10 @@ static rtems_device_driver grspw_initialize(
i=0; spw_cores = 0; spw_cores2 = 0;
/* get number of GRSPW cores */
- spw_cores = amba_get_number_apbslv_devices(amba_bus,VENDOR_GAISLER,GAISLER_SPACEWIRE);
- spw_cores2 = amba_get_number_apbslv_devices(amba_bus,VENDOR_GAISLER,GAISLER_GRSPW2);
-#if 0
- if ( spw_cores > SPACEWIRE_MAX_CORENR )
- spw_cores = SPACEWIRE_MAX_CORENR;
-
- while (i < amba_conf.apbslv.devnr) {
- conf = amba_get_confword(amba_conf.apbslv, i, 0);
- if ((amba_vendor(conf) == VENDOR_GAISLER) && (amba_device(conf) == GAISLER_SPACEWIRE))
- spw_cores++;
- i++;
- }
-#endif
+ spw_cores = ambapp_get_number_apbslv_devices(amba_bus, VENDOR_GAISLER,
+ GAISLER_SPW);
+ spw_cores2 = ambapp_get_number_apbslv_devices(amba_bus, VENDOR_GAISLER,
+ GAISLER_SPW2);
if ( (spw_cores+spw_cores2) < 1 ){
/* No GRSPW cores around... */
@@ -653,10 +645,13 @@ static rtems_device_driver grspw_initialize(
/* Get device */
if ( spw_cores > minor ) {
- amba_find_next_apbslv(amba_bus,VENDOR_GAISLER,GAISLER_SPACEWIRE,&dev,minor);
+ ambapp_find_apbslv_next(amba_bus, VENDOR_GAISLER,
+ GAISLER_SPW, &dev, minor);
pDev->core_ver = 1;
} else {
- amba_find_next_apbslv(amba_bus,VENDOR_GAISLER,GAISLER_GRSPW2,&dev,minor-spw_cores);
+ ambapp_find_apbslv_next(amba_bus, VENDOR_GAISLER,
+ GAISLER_SPW2, &dev,
+ minor - spw_cores);
pDev->core_ver = 2;
}
diff --git a/c/src/lib/libbsp/sparc/shared/spw/grspw_pci.c b/c/src/lib/libbsp/sparc/shared/spw/grspw_pci.c
index a8003be8f9..2a9a8d6094 100644
--- a/c/src/lib/libbsp/sparc/shared/spw/grspw_pci.c
+++ b/c/src/lib/libbsp/sparc/shared/spw/grspw_pci.c
@@ -79,7 +79,7 @@ int grspwpci_interrupt_handler(int irq, void *arg);
*/
int grspw_pci_register(
- amba_confarea_type *bus,
+ struct ambapp_bus *bus,
unsigned int memarea,
unsigned int hw_address
)
diff --git a/c/src/lib/libbsp/sparc/shared/spw/grspw_rasta.c b/c/src/lib/libbsp/sparc/shared/spw/grspw_rasta.c
index 6cd5698f44..9bf9437c4d 100644
--- a/c/src/lib/libbsp/sparc/shared/spw/grspw_rasta.c
+++ b/c/src/lib/libbsp/sparc/shared/spw/grspw_rasta.c
@@ -88,7 +88,7 @@ unsigned int grspw_rasta_memarea_address;
*/
int grspw_rasta_register(
- amba_confarea_type *bus,
+ struct ambapp_bus *bus,
unsigned int ram_base
)
{