static void pl181_reset(DeviceState *d) { pl181_state *s = DO_UPCAST(pl181_state, busdev.qdev, d); s->power = 0; s->cmdarg = 0; s->cmd = 0; s->datatimer = 0; s->datalength = 0; s->respcmd = 0; s->response[0] = 0; s->response[1] = 0; s->response[2] = 0; s->response[3] = 0; s->datatimer = 0; s->datalength = 0; s->datactrl = 0; s->datacnt = 0; s->status = 0; s->linux_hack = 0; s->mask[0] = 0; s->mask[1] = 0; /* We can assume our GPIO outputs have been wired up now */ sd_set_cb(s->card, s->cardstatus[0], s->cardstatus[1]); }
static void ronaldo_sdhci_reset(DeviceState *dev) { RonaldoSDHCIState *s = RONALDO_SDHCI(dev); SDHCIState *ss = SYSBUS_SDHCI(dev); ss->card = s->sd_card; sd_set_cb(ss->card, ss->ro_cb, ss->eject_cb); }
static void ronaldo_sdhci_slottype_handler(void *opaque, int n, int level) { SDHCIState *ss = SYSBUS_SDHCI(opaque); RonaldoSDHCIState *s = RONALDO_SDHCI(opaque); assert(n == 0); ss->capareg = deposit64(ss->capareg, 30, 2, level); ss->card = extract64(ss->capareg, 30, 2) ? s->mmc_card : s->sd_card; sd_set_cb(ss->card, ss->ro_cb, ss->eject_cb); }
void pxa2xx_mmci_handlers(PXA2xxMMCIState *s, qemu_irq readonly, qemu_irq coverswitch) { sd_set_cb(s->card, readonly, coverswitch); }