Commit 565d28951e971abf342fcc8701861163b7421f23
1 parent
d95b2f8d
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
Showing
2 changed files
with
4 additions
and
2 deletions
hw/pxa2xx.c
| @@ -168,8 +168,10 @@ static void pxa2xx_cm_write(void *opaque, target_phys_addr_t addr, | @@ -168,8 +168,10 @@ static void pxa2xx_cm_write(void *opaque, target_phys_addr_t addr, | ||
| 168 | break; | 168 | break; |
| 169 | 169 | ||
| 170 | case OSCC: | 170 | case OSCC: |
| 171 | - s->cm_regs[addr >> 2] &= ~0x6e; | 171 | + s->cm_regs[addr >> 2] &= ~0x6c; |
| 172 | s->cm_regs[addr >> 2] |= value & 0x6e; | 172 | s->cm_regs[addr >> 2] |= value & 0x6e; |
| 173 | + if ((value >> 1) & 1) /* OON */ | ||
| 174 | + s->cm_regs[addr >> 2] |= 1 << 0; /* Oscillator is now stable */ | ||
| 173 | break; | 175 | break; |
| 174 | 176 | ||
| 175 | default: | 177 | default: |
hw/pxa2xx_timer.c
| @@ -364,7 +364,7 @@ static void pxa2xx_timer_tick4(void *opaque) | @@ -364,7 +364,7 @@ static void pxa2xx_timer_tick4(void *opaque) | ||
| 364 | struct pxa2xx_timer4_s *t = (struct pxa2xx_timer4_s *) opaque; | 364 | struct pxa2xx_timer4_s *t = (struct pxa2xx_timer4_s *) opaque; |
| 365 | pxa2xx_timer_info *i = (pxa2xx_timer_info *) t->info; | 365 | pxa2xx_timer_info *i = (pxa2xx_timer_info *) t->info; |
| 366 | 366 | ||
| 367 | - pxa2xx_timer_tick4(opaque); | 367 | + pxa2xx_timer_tick(opaque); |
| 368 | if (t->control & (1 << 3)) | 368 | if (t->control & (1 << 3)) |
| 369 | t->clock = 0; | 369 | t->clock = 0; |
| 370 | if (t->control & (1 << 6)) | 370 | if (t->control & (1 << 6)) |