Commit a5236105dbf7b971715f1ac55f52f716081a0632

Authored by balrog
1 parent 2b8f2d41

Word-reads from spitz NAND controller, patch by Juergen Lock.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3090 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 13 additions and 1 deletions
hw/spitz.c
... ... @@ -78,6 +78,18 @@ static uint32_t sl_readb(void *opaque, target_phys_addr_t addr)
78 78 return 0;
79 79 }
80 80  
  81 +static uint32_t sl_readl(void *opaque, target_phys_addr_t addr)
  82 +{
  83 + struct sl_nand_s *s = (struct sl_nand_s *) opaque;
  84 + addr -= s->target_base;
  85 +
  86 + if (addr == FLASH_FLASHIO)
  87 + return ecc_digest(&s->ecc, nand_getio(s->nand)) |
  88 + (ecc_digest(&s->ecc, nand_getio(s->nand)) << 16);
  89 +
  90 + return sl_readb(opaque, addr);
  91 +}
  92 +
81 93 static void sl_writeb(void *opaque, target_phys_addr_t addr,
82 94 uint32_t value)
83 95 {
... ... @@ -139,7 +151,7 @@ static void sl_flash_register(struct pxa2xx_state_s *cpu, int size)
139 151 CPUReadMemoryFunc *sl_readfn[] = {
140 152 sl_readb,
141 153 sl_readb,
142   - sl_readb,
  154 + sl_readl,
143 155 };
144 156 CPUWriteMemoryFunc *sl_writefn[] = {
145 157 sl_writeb,
... ...