Zoltan reported some U-Boot versions seem to want registers to be initialized correctly 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> Reviewed-by: Bernhard Beschow <shen...@gmail.com> --- hw/ppc/e500.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c index fe8b9f79621..2de7d94df9c 100644 --- a/hw/ppc/e500.c +++ b/hw/ppc/e500.c @@ -49,7 +49,6 @@ #include "hw/i2c/i2c.h" #include "hw/irq.h" #include "hw/sd/sdhci.h" -#include "hw/misc/unimp.h" #define EPAPR_MAGIC (0x45504150) #define DTC_LOAD_PAD 0x1800000 @@ -1027,22 +1026,13 @@ 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_uint8(dev, "endianness", DEVICE_BIG_ENDIAN); s = SYS_BUS_DEVICE(dev); sysbus_realize_and_unref(s, &error_fatal); sysbus_connect_irq(s, 0, qdev_get_gpio_in(mpicdev, MPC85XX_ESDHC_IRQ)); -- 2.47.1