diff options
author | Daniel Hellstrom <daniel@gaisler.com> | 2012-04-17 16:25:42 +0200 |
---|---|---|
committer | Gedare Bloom <gedare@rtems.org> | 2012-04-17 22:01:47 -0400 |
commit | 7a01a888a72e5e4d65beb781ef12b093cfec10e8 (patch) | |
tree | 303b4eb0f7d683bcab42ebeb95e146a2a4d98eb4 /c/src/lib/libbsp/sparc/shared/spw | |
parent | LEON3: Network initialization code updated to new AMBAPP layer (diff) | |
download | rtems-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.c | 35 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/shared/spw/grspw_pci.c | 2 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/shared/spw/grspw_rasta.c | 2 |
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 ) { |