[PATCH 33.1 2/5] LEON3: clock driver use new AMBAPP layer
Daniel Hellstrom
daniel at gaisler.com
Tue Apr 10 11:33:26 UTC 2012
Signed-off-by: Daniel Hellstrom <daniel at gaisler.com>
---
c/src/lib/libbsp/sparc/leon3/clock/ckinit.c | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c b/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c
index 3cdbb20..dacfd2e 100644
--- a/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c
+++ b/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c
@@ -22,6 +22,7 @@
#include <bsp.h>
#include <bspopts.h>
+#include <ambapp.h>
#if SIMSPARC_FAST_IDLE==1
#define CLOCK_DRIVER_USE_FAST_IDLE
@@ -59,14 +60,15 @@ static int clkirq;
#define Clock_driver_support_find_timer() \
do { \
- int cnt; \
- amba_apb_device dev; \
+ struct ambapp_dev *adev; \
\
- /* Find LEON3 GP Timer */ \
- cnt = amba_find_apbslv(&amba_conf,VENDOR_GAISLER,GAISLER_GPTIMER,&dev); \
- if ( cnt > 0 ) { \
+ /* Find first LEON3 GP Timer */ \
+ adev = (void *)ambapp_for_each(&ambapp_plb, (OPTIONS_ALL|OPTIONS_APB_SLVS),\
+ VENDOR_GAISLER, GAISLER_GPTIMER, ambapp_find_by_idx, NULL); \
+ if (adev) { \
/* Found APB GPTIMER Timer */ \
- LEON3_Timer_Regs = (volatile LEON3_Timer_Regs_Map *) dev.start; \
+ LEON3_Timer_Regs = (volatile LEON3_Timer_Regs_Map *) \
+ DEV_TO_APB(adev)->start; \
clkirq = (LEON3_Timer_Regs->status & 0xf8) >> 3; \
\
Adjust_clkirq_for_node(); \
--
1.7.0.4
More information about the devel
mailing list