CLOCKBASE
out_8(CLOCKBASE + CLKCR2, 0x1); /* select CR1 */
out_8(CLOCKBASE + CLKCR1, 0x1); /* reset */
asm volatile(" movpw %0,%1@(5)" : : "d" (INTVAL), "a" (CLOCKBASE));
out_8(CLOCKBASE + CLKCR2, 0x1); /* select CR1 */
out_8(CLOCKBASE + CLKCR1, 0x40); /* enable irq */
in_8(CLOCKBASE + CLKSR);
asm volatile ("movpw %1@(5),%0" : "=d" (tmp) : "a" (CLOCKBASE));
msb = in_8(CLOCKBASE + CLKMSB1);
if ((in_8(CLOCKBASE + CLKSR) & CLKSR_INT1) && msb > 0)
lsb = in_8(CLOCKBASE + CLKLSB1);
msb_new = in_8(CLOCKBASE + CLKMSB1);