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/can | |
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/can')
-rw-r--r-- | c/src/lib/libbsp/sparc/shared/can/grcan.c | 18 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/shared/can/grcan_rasta.c | 2 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/shared/can/occan.c | 20 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/shared/can/occan_pci.c | 2 |
4 files changed, 24 insertions, 18 deletions
diff --git a/c/src/lib/libbsp/sparc/shared/can/grcan.c b/c/src/lib/libbsp/sparc/shared/can/grcan.c index fb48550365..3b0a14afac 100644 --- a/c/src/lib/libbsp/sparc/shared/can/grcan.c +++ b/c/src/lib/libbsp/sparc/shared/can/grcan.c @@ -212,7 +212,7 @@ struct grcan_priv { static int grcan_core_cnt; struct grcan_priv *grcans; -static amba_confarea_type *amba_bus; +static struct ambapp_bus *amba_bus; struct grcan_device_info *grcan_cores; static int grcan_core_cnt; @@ -1050,7 +1050,7 @@ static rtems_device_driver grcan_initialize( { int minor; struct grcan_priv *pDev; - amba_apb_device dev; + struct ambapp_apb_info dev; rtems_status_code status; char fs_name[20]; unsigned int sys_freq_hz; @@ -1062,10 +1062,12 @@ static rtems_device_driver grcan_initialize( /* find GRCAN cores */ if ( !grcan_cores ) { - grcan_core_cnt = amba_get_number_apbslv_devices(amba_bus,VENDOR_GAISLER,deviceid); + grcan_core_cnt = ambapp_get_number_apbslv_devices(amba_bus, VENDOR_GAISLER, + deviceid); if ( grcan_core_cnt < 1 ){ deviceid = GAISLER_GRCAN; - grcan_core_cnt = amba_get_number_apbslv_devices(amba_bus,VENDOR_GAISLER,deviceid); + grcan_core_cnt = ambapp_get_number_apbslv_devices(amba_bus, VENDOR_GAISLER, + deviceid); if ( grcan_core_cnt < 1 ) { DBG("GRCAN: Using AMBA Plug&Play, found %d cores\n",grcan_core_cnt); return RTEMS_UNSATISFIED; @@ -1094,10 +1096,10 @@ static rtems_device_driver grcan_initialize( #if defined(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) + if (ambapp_find_apbslv (&ambapp_plb, VENDOR_GAISLER, GAISLER_GPTIMER, &gptimer) == 1) { tregs = (LEON3_Timer_Regs_Map *) gptimer.start; sys_freq_hz = (tregs->scaler_reload + 1) * 1000 * 1000; @@ -1132,7 +1134,7 @@ static rtems_device_driver grcan_initialize( /* Find core address & IRQ */ if ( !grcan_cores ) { - amba_find_next_apbslv(amba_bus,VENDOR_GAISLER,deviceid,&dev,minor); + ambapp_find_apbslv_next(amba_bus, VENDOR_GAISLER, deviceid, &dev, minor); pDev->irq = dev.irq; pDev->regs = (struct grcan_regs *)dev.start; }else{ @@ -1799,7 +1801,7 @@ int GRCAN_PREFIX(_register_abs)(struct grcan_device_info *devices, int dev_cnt) } /* Use prescanned AMBA Plug&Play information to find all GRCAN cores */ -int GRCAN_PREFIX(_register)(amba_confarea_type *abus) +int GRCAN_PREFIX(_register)(struct ambapp_bus *abus) { FUNCDBG(); diff --git a/c/src/lib/libbsp/sparc/shared/can/grcan_rasta.c b/c/src/lib/libbsp/sparc/shared/can/grcan_rasta.c index f9b126f552..7fad48e16e 100644 --- a/c/src/lib/libbsp/sparc/shared/can/grcan_rasta.c +++ b/c/src/lib/libbsp/sparc/shared/can/grcan_rasta.c @@ -77,7 +77,7 @@ unsigned int grcan_rasta_rambase; #include "grcan.c" -int grcan_rasta_ram_register(amba_confarea_type *abus, int rambase) +int grcan_rasta_ram_register(struct ambapp_bus *abus, int rambase) { grcan_rasta_rambase = rambase; diff --git a/c/src/lib/libbsp/sparc/shared/can/occan.c b/c/src/lib/libbsp/sparc/shared/can/occan.c index 78c901a1e7..4fb932dc61 100644 --- a/c/src/lib/libbsp/sparc/shared/can/occan.c +++ b/c/src/lib/libbsp/sparc/shared/can/occan.c @@ -282,7 +282,7 @@ static void occan_interrupt_handler(rtems_vector_number v); #endif static int can_cores; static occan_priv *cans; -static amba_confarea_type *amba_bus; +static struct ambapp_bus *amba_bus; static unsigned int sys_freq_hz; @@ -914,7 +914,7 @@ static int pelican_speed_auto(occan_priv *priv){ static rtems_device_driver occan_initialize(rtems_device_major_number major, rtems_device_minor_number unused, void *arg){ int dev_cnt,minor,subcore_cnt,devi,subi,subcores; - amba_ahb_device ambadev; + struct ambapp_ahb_info ambadev; occan_priv *can; char fs_name[20]; rtems_status_code status; @@ -922,7 +922,8 @@ static rtems_device_driver occan_initialize(rtems_device_major_number major, rte strcpy(fs_name,OCCAN_DEVNAME); /* find device on amba bus */ - dev_cnt = amba_get_number_ahbslv_devices(amba_bus,VENDOR_GAISLER,GAISLER_OCCAN); + dev_cnt = ambapp_get_number_ahbslv_devices(amba_bus, VENDOR_GAISLER, + GAISLER_CANAHB); if ( dev_cnt < 1 ){ /* Failed to find any CAN cores! */ printk("OCCAN: Failed to find any CAN cores\n\r"); @@ -934,10 +935,11 @@ static rtems_device_driver occan_initialize(rtems_device_major_number major, rte #if defined(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_hz = (tregs->scaler_reload+1)*1000*1000; DBG("OCCAN: detected %dHZ system frequency\n\r",sys_freq_hz); @@ -973,7 +975,8 @@ static rtems_device_driver occan_initialize(rtems_device_major_number major, rte */ for(subcore_cnt=devi=0; devi<dev_cnt; devi++){ - amba_find_next_ahbslv(amba_bus,VENDOR_GAISLER,GAISLER_OCCAN,&ambadev,devi); + ambapp_find_ahbslv_next(amba_bus, VENDOR_GAISLER, + GAISLER_CANAHB, &ambadev, devi); subcore_cnt += (ambadev.ver & 0x7)+1; } @@ -987,7 +990,8 @@ static rtems_device_driver occan_initialize(rtems_device_major_number major, rte for(devi=0; devi<dev_cnt; devi++){ /* Get AHB device info */ - amba_find_next_ahbslv(amba_bus,VENDOR_GAISLER,GAISLER_OCCAN,&ambadev,devi); + ambapp_find_ahbslv_next(amba_bus, VENDOR_GAISLER, + GAISLER_CANAHB, &ambadev, devi); subcores = (ambadev.ver & 0x7)+1; DBG("OCCAN: on dev %d found %d sub cores\n\r",devi,subcores); @@ -1802,7 +1806,7 @@ static void occan_interrupt_handler(rtems_vector_number v){ static rtems_driver_address_table occan_driver = OCCAN_DRIVER_TABLE_ENTRY; -int OCCAN_PREFIX(_register)(amba_confarea_type *bus){ +int OCCAN_PREFIX(_register)(struct ambapp_bus *bus){ rtems_status_code r; rtems_device_major_number m; diff --git a/c/src/lib/libbsp/sparc/shared/can/occan_pci.c b/c/src/lib/libbsp/sparc/shared/can/occan_pci.c index 2dd2e5be21..b27beb11c5 100644 --- a/c/src/lib/libbsp/sparc/shared/can/occan_pci.c +++ b/c/src/lib/libbsp/sparc/shared/can/occan_pci.c @@ -46,7 +46,7 @@ static void inline occanpci_set_channel(occan_priv *priv, int channel){ *chan_sel = 0xffffffff; } -int occan_pci_register(amba_confarea_type *bus) +int occan_pci_register(struct ambapp_bus *bus) { /* Setup configuration */ |