As Zoltan reported, some U-Boot versions seem to expect correctly initialized registers before expecting interrupts.
Now than we have a proper Freescale eSDHC implementation, use it. Reported-by: BALATON Zoltan <bala...@eik.bme.hu> Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> --- hw/ppc/e500.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c index e85e000f054..7d15c926887 100644 --- a/hw/ppc/e500.c +++ b/hw/ppc/e500.c @@ -1027,20 +1027,12 @@ void ppce500_init(MachineState *machine) /* eSDHC */ if (pmc->has_esdhc) { - dev = qdev_new(TYPE_UNIMPLEMENTED_DEVICE); - qdev_prop_set_string(dev, "name", "esdhc"); - qdev_prop_set_uint64(dev, "size", MPC85XX_ESDHC_REGS_SIZE); - s = SYS_BUS_DEVICE(dev); - sysbus_realize_and_unref(s, &error_fatal); - memory_region_add_subregion(ccsr_addr_space, MPC85XX_ESDHC_REGS_OFFSET, - sysbus_mmio_get_region(s, 0)); - /* * Compatible with: * - SD Host Controller Specification Version 2.0 Part A2 * (See MPC8569E Reference Manual) */ - dev = qdev_new(TYPE_SYSBUS_SDHCI); + dev = qdev_new(TYPE_FSL_ESDHC); qdev_prop_set_uint8(dev, "sd-spec-version", 2); qdev_prop_set_enum(dev, "endianness", ENDIAN_MODE_BIG); s = SYS_BUS_DEVICE(dev); -- 2.47.1