=================================================================== RCS file: /cvs/funnyos/arch/testarm/dev/tartc.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- funnyos/arch/testarm/dev/tartc.c 2007/10/29 21:10:03 1.3 +++ funnyos/arch/testarm/dev/tartc.c 2007/11/04 22:55:58 1.4 @@ -1,5 +1,5 @@ /* - * $Id: tartc.c,v 1.3 2007/10/29 21:10:03 init Exp $ + * $Id: tartc.c,v 1.4 2007/11/04 22:55:58 init Exp $ */ #include #include @@ -47,6 +47,9 @@ printf("testarm Real Time Clock (%d seconds past Epoch)\n", seconds); + /* XXX set timer */ + bus_write_1(ddp->td_bushandlep, ddp->td_ioaddr + TARTC_OFF_TMRINTRFREQ, 1); + return(0); } @@ -56,6 +59,18 @@ tartc_interrupt(struct device *self) { /* TODO */ + struct tartc_dd *ddp = self->dv_devdata; + /* acknowledge one timer intr */ + bus_write_1(ddp->td_bushandlep, ddp->td_ioaddr + TARTC_OFF_TMRINTRACK, 0xff); + + /* + * Update seconds and print it. + */ + bus_write_1(ddp->td_bushandlep, ddp->td_ioaddr + TARTC_OFF_CLOCKUPDATE, 0xff); + printf("tartc intr: %d seconds past Epoch\n", + bus_read_4(ddp->td_bushandlep, ddp->td_ioaddr + TARTC_OFF_READSECONDS)); + + printf("tartc intr\n"); }