Set OOK when OON is set in OSCC register (thanks to BobOfDoom). Correct a fatal typo in timer code.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2785 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
balrog 2007-05-08 19:20:04 +00:00
parent d95b2f8d36
commit 565d28951e
2 changed files with 4 additions and 2 deletions

View File

@ -168,8 +168,10 @@ static void pxa2xx_cm_write(void *opaque, target_phys_addr_t addr,
break;
case OSCC:
s->cm_regs[addr >> 2] &= ~0x6e;
s->cm_regs[addr >> 2] &= ~0x6c;
s->cm_regs[addr >> 2] |= value & 0x6e;
if ((value >> 1) & 1) /* OON */
s->cm_regs[addr >> 2] |= 1 << 0; /* Oscillator is now stable */
break;
default:

View File

@ -364,7 +364,7 @@ static void pxa2xx_timer_tick4(void *opaque)
struct pxa2xx_timer4_s *t = (struct pxa2xx_timer4_s *) opaque;
pxa2xx_timer_info *i = (pxa2xx_timer_info *) t->info;
pxa2xx_timer_tick4(opaque);
pxa2xx_timer_tick(opaque);
if (t->control & (1 << 3))
t->clock = 0;
if (t->control & (1 << 6))