45: /* choose clock */
46: out_w(TI0TIN_SEL, (in_w(TI0TIN_SEL) & ~3) | TITIN_PLL3);
47: d = in_w(DIVTIMTIN);
48:
49: /* supply clock */
50: out_w(GCLKCTRL3ENA, in_w(GCLKCTRL3ENA) | TI0_TIN_GCK);
51: out_w(GCLKCTRL3, in_w(GCLKCTRL3) | TI0_TIN_GCK);
52:
54: out_w(TI_OP, TM_EN);
55: while ( (in_w(TI_SCLR) & TM_SCLR) != 0 );
56: WaitUsec(100);
129: /* stop clock */
130: out_w(GCLKCTRL3, in_w(GCLKCTRL3) & ~TI0_TIN_GCK);
131:
147:
148: d = in_w(DIVTIMTIN);
149:
150: max = in_w(TI_SET);
151: do {
152: ovf = in_w(IT0_RAW1) & IRQM(IRQ_TIMER);
153: ofs = in_w(TI_RCR);
154: } while ( ovf != (in_w(IT0_RAW1) & IRQM(IRQ_TIMER)) );
155: if ( ovf != 0 ) ofs += max + 1;
170:
171: d = in_w(DIVTIMTIN);
172:
173: max = in_w(TI_SET);
174: do {
175: ovf = in_w(IT0_RAW1) & IRQM(IRQ_TIMER);
176: ofs = in_w(TI_RCR);
177: } while ( ovf != (in_w(IT0_RAW1) & IRQM(IRQ_TIMER)) );
178: if ( ovf != 0 ) ofs += max + 1;