[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