summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc/shared/can
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/can
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/can')
-rw-r--r--c/src/lib/libbsp/sparc/shared/can/grcan.c18
-rw-r--r--c/src/lib/libbsp/sparc/shared/can/grcan_rasta.c2
-rw-r--r--c/src/lib/libbsp/sparc/shared/can/occan.c20
-rw-r--r--c/src/lib/libbsp/sparc/shared/can/occan_pci.c2
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 */