diff --git a/arch/arm/src/sama5/sam_freerun.c b/arch/arm/src/sama5/sam_freerun.c index 514e227781..f7fd956508 100644 --- a/arch/arm/src/sama5/sam_freerun.c +++ b/arch/arm/src/sama5/sam_freerun.c @@ -67,11 +67,15 @@ ****************************************************************************/ #ifdef CONFIG_SAMA5_TC_DEBUG -# define tcdbg dbg -# define tcvdbg vdbg +# define tcdbg dbg +# define tcvdbg vdbg +# define tclldbg lldbg +# define tcllvdbg llvdbg #else # define tcdbg(x...) # define tcvdbg(x...) +# define tclldbg(x...) +# define tcllvdbg(x...) #endif /**************************************************************************** @@ -316,8 +320,6 @@ int sam_freerun_counter(struct sam_freerun_s *freerun, struct timespec *ts) int sam_freerun_uninitialize(struct sam_freerun_s *freerun) { - irqstate_t flags; - /* Now we can disable the timer interrupt and disable the timer. */ sam_tc_attach(freerun->handle, NULL, NULL, 0); @@ -326,7 +328,6 @@ int sam_freerun_uninitialize(struct sam_freerun_s *freerun) /* Free the timer */ sam_tc_free(freerun->handle); - irqrestore(flags); return OK; } diff --git a/arch/arm/src/sama5/sam_oneshot.c b/arch/arm/src/sama5/sam_oneshot.c index 997e04f048..552cee10d5 100644 --- a/arch/arm/src/sama5/sam_oneshot.c +++ b/arch/arm/src/sama5/sam_oneshot.c @@ -67,11 +67,15 @@ ****************************************************************************/ #ifdef CONFIG_SAMA5_TC_DEBUG -# define tcdbg dbg -# define tcvdbg vdbg +# define tcdbg dbg +# define tcvdbg vdbg +# define tclldbg lldbg +# define tcllvdbg llvdbg #else # define tcdbg(x...) # define tcvdbg(x...) +# define tclldbg(x...) +# define tcllvdbg(x...) #endif /**************************************************************************** diff --git a/arch/arm/src/sama5/sam_tc.c b/arch/arm/src/sama5/sam_tc.c index d0495382c2..942f1912be 100644 --- a/arch/arm/src/sama5/sam_tc.c +++ b/arch/arm/src/sama5/sam_tc.c @@ -90,9 +90,13 @@ #ifdef CONFIG_SAMA5_TC_DEBUG # define tcdbg dbg # define tcvdbg vdbg +# define tclldbg llbg +# define tcllvdbg llvdbg #else # define tcdbg(x...) # define tcvdbg(x...) +# define tclldbg(x...) +# define tcllvdbg(x...) #endif /**************************************************************************** @@ -1138,6 +1142,7 @@ TC_HANDLE sam_tc_allocate(int channel, int mode) sam_chan_putreg(chan, SAM_TC_CMR_OFFSET, mode); sam_regdump(chan, "Allocated"); + sam_givesem(chan->tc); } /* Return an opaque reference to the channel */ diff --git a/arch/arm/src/sama5/sam_tickless.c b/arch/arm/src/sama5/sam_tickless.c index ce728a454a..36b1759f87 100644 --- a/arch/arm/src/sama5/sam_tickless.c +++ b/arch/arm/src/sama5/sam_tickless.c @@ -149,11 +149,15 @@ #endif #ifdef CONFIG_SAMA5_TC_DEBUG -# define tcdbg dbg -# define tcvdbg vdbg +# define tcdbg dbg +# define tcvdbg vdbg +# define tclldbg lldbg +# define tcllvdbg llvdbg #else # define tcdbg(x...) # define tcvdbg(x...) +# define tclldbg(x...) +# define tcllvdbg(x...) #endif /**************************************************************************** @@ -243,7 +247,7 @@ void up_timer_initialize(void) CONFIG_USEC_PER_TICK); if (ret < 0) { - tcdbg("ERROR: sam_oneshot_initialize failed\n"); + tclldbg("ERROR: sam_oneshot_initialize failed\n"); PANIC(); } @@ -254,7 +258,7 @@ void up_timer_initialize(void) CONFIG_USEC_PER_TICK); if (ret < 0) { - tcdbg("ERROR: sam_freerun_initialize failed\n"); + tclldbg("ERROR: sam_freerun_initialize failed\n"); PANIC(); } }