115: /* select clock */
116: out_w(TI0TIN_SEL, in_w(TI0TIN_SEL) & ~0x00030000);
117: out_w(TI1TIN_SEL, 0);
118: out_w(TI2TIN_SEL, 0);
119: out_w(TI3TIN_SEL, 0);
120: out_w(TGnTIN_SEL, 0);
121:
123: m = 0x00003ffe;
124: out_w(GCLKCTRL3ENA, in_w(GCLKCTRL3ENA) | m);
125: out_w(GCLKCTRL3, in_w(GCLKCTRL3) & ~m);
126: }
170: /* stop counting */
171: out_w(TI_OP(pn), 0);
172:
173: /* stop clock */
174: out_w(GCLKCTRL3, in_w(GCLKCTRL3) & ~TIN_GCK(pn));
175: }
201: /* stop timer */
202: out_w(TI_OP(pn), 0);
203:
217: /* start feeding clock */
218: out_w(GCLKCTRL3, in_w(GCLKCTRL3) | TIN_GCK(pn));
219:
220: /* enable timer */
221: out_w(TI_OP(pn), TM_EN);
222: while ( (in_w(TI_SCLR(pn)) & TM_SCLR) != 0 );
225: /* set counter */
226: out_w(TI_SET(pn), limit);
227:
228: /* start counting */
229: out_w(TI_OP(pn), TO_EN|TSTART|TM_EN);
230:
255: /* Stop counting */
256: out_w(TI_OP(pn), in_w(TI_OP(pn)) & TM_EN);
257:
258: /* Stop clock */
259: out_w(GCLKCTRL3, in_w(GCLKCTRL3) & ~TIN_GCK(pn));
260: