static uint32_t at91_nand_mem_read(void *opaque, target_phys_addr_t offset) { NandState *s = opaque; uint8_t res = nand_getio(s->nand_state); DPRINTF("(IP %X) read from %X (res %X)\n", g_env->regs[15], offset, res); return res; }
static uint64_t nand_read(void *opaque, target_phys_addr_t addr, unsigned size) { struct nand_state_t *s = opaque; uint32_t r; int rdy; r = nand_getio(s->nand); nand_getpins(s->nand, &rdy); s->rdy = rdy; DNAND(printf("%s addr=%x r=%x\n", __func__, addr, r)); return r; }
static uint32_t tc6393xb_nand_readb(TC6393xbState *s, hwaddr addr) { switch (addr) { case NAND_DATA + 0: case NAND_DATA + 1: case NAND_DATA + 2: case NAND_DATA + 3: return nand_getio(s->flash); case NAND_MODE: return s->nand.mode; case NAND_STATUS: return 0x14; case NAND_ISR: return s->nand.isr; case NAND_IMR: return s->nand.imr; } fprintf(stderr, "tc6393xb_nand: unhandled read at %08x\n", (uint32_t) addr); return 0; }