Hi,

I'm trying to set up a fast timer interrupt using CLK_M_OSC as clock source 
for DMTimer2. For initialising this I'm calling DMTimer2ModuleClkConfig() 
from Starterware code which itself seems to select CLK_M_OSC as source for 
the timer clock using following code:

/* Select the clock source for the Timer2 instance. */
HWREG(SOC_CM_DPLL_REGS + CM_DPLL_CLKSEL_TIMER2_CLK) &=
~(CM_DPLL_CLKSEL_TIMER2_CLK_CLKSEL);

HWREG(SOC_CM_DPLL_REGS + CM_DPLL_CLKSEL_TIMER2_CLK) |=
CM_DPLL_CLKSEL_TIMER2_CLK_CLKSEL_CLK_M_OSC;

while((HWREG(SOC_CM_DPLL_REGS + CM_DPLL_CLKSEL_TIMER2_CLK) &
CM_DPLL_CLKSEL_TIMER2_CLK_CLKSEL) !=
CM_DPLL_CLKSEL_TIMER2_CLK_CLKSEL_CLK_M_OSC);

As fas as I understand there CLK_M_OSC is choosen.

Nevertheless the frequency/calling speed of my ISR tells me I'm still at 32 
kHz clock, so CLK_M_OSC does not seem to be used. My whole initialisation 
code looks like this (and mainly comes from the Starterware examples):

DMTimerModeConfigure(SOC_DMTIMER_2_REGS, DMTIMER_AUTORLD_NOCMP_ENABLE);
DMTimerCounterSet(SOC_DMTIMER_2_REGS, 0xFFFFFFF9u);
DMTimerReloadSet(SOC_DMTIMER_2_REGS, 0xFFFFFFF9u);

DMTimer2ModuleClkConfig(); --> here CLK_M_OSC should be chosen...

IntAINTCInit();

IntRegister(SYS_INT_TINT2, isr_xy2_100);
IntPrioritySet(SYS_INT_TINT2, 0, AINTC_HOSTINT_ROUTE_IRQ);
IntSystemEnable(SYS_INT_TINT2);
IntMasterIRQEnable();

So...what could be wrong? Why isn't the fast clock source used?

Thanks!

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to