summary refs log tree commit diff stats
path: root/hw
diff options
context:
space:
mode:
authorbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>2007-05-08 19:20:04 +0000
committerbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>2007-05-08 19:20:04 +0000
commit565d28951e971abf342fcc8701861163b7421f23 (patch)
tree7cefdc9a4916e8f0cdfb9b747ad833ac9a97220b /hw
parentd95b2f8d365a3ef431111e9188d219de1f577a90 (diff)
downloadfocaccia-qemu-565d28951e971abf342fcc8701861163b7421f23.tar.gz
focaccia-qemu-565d28951e971abf342fcc8701861163b7421f23.zip
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
Diffstat (limited to 'hw')
-rw-r--r--hw/pxa2xx.c4
-rw-r--r--hw/pxa2xx_timer.c2
2 files changed, 4 insertions, 2 deletions
diff --git a/hw/pxa2xx.c b/hw/pxa2xx.c
index 19494b88be..eb8bd15df4 100644
--- a/hw/pxa2xx.c
+++ b/hw/pxa2xx.c
@@ -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:
diff --git a/hw/pxa2xx_timer.c b/hw/pxa2xx_timer.c
index 3ab7149326..8c083595c6 100644
--- a/hw/pxa2xx_timer.c
+++ b/hw/pxa2xx_timer.c
@@ -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))