This series splits TYPE_IMX_USDHC into three device models which fixes issues in the ppce500 and some i.MX machines. In particular, it introduces uSDHC's predecessor eSDHC in big and little endian variants. Once the eSDHCs are split off, uSDHC emulation is improved which is a stepping stone towards running u-boot on the i.MX8MP (not implemented yet).
In a way this series picks up previous efforts: * https://lore.kernel.org/qemu-devel/[email protected] * https://lore.kernel.org/qemu-devel/[email protected] There is quite some code churn involved to fix all the issues addressed in this series. Let me know if you have any better ideas to achieve the same. Best regards, Bernhard Testing done: * make check * Boot https://www.qemu-advent-calendar.org/2018/download/day19.tar.xz in ppce500 * Boot guest in imx8mp-evk Bernhard Beschow (14): hw/sd/sdhci: Fix TYPE_IMX_USDHC to implement sd-spec-version 3 by default hw/arm/fsl-imx6: Remove now redundant setting of "sd-spec-version" property hw/arm/fsl-imx6: Fix naming of SDHCI related constants and attributes hw/arm/fsl-imx25: Apply missing reset quirk Revert "hw/sd/sdhci: Rename ESDHC_* defines to USDHC_*" hw/sd/sdhci: Consolidate eSDHC constants hw/sd/sdhci: Rename usdhc_ functions hw/sd/sdhci: Add TYPE_FSL_ESDHC_BE hw/ppc/e500: Use TYPE_FSL_ESDHC_BE hw/arm/fsl-imx25: Extract TYPE_FSL_ESDHC_LE hw/sd/sdhci: Remove endianness property hw/sd/sdhci: Add uSDHC-specific quirk hw/sd/sdhci: Remove vendor property hw/sd/trace-events: Remove redundant "SWITCH " command name hw/sd/sdhci-internal.h | 3 - include/hw/arm/fsl-imx6.h | 4 +- include/hw/sd/sdhci.h | 8 +- hw/arm/fsl-imx25.c | 5 +- hw/arm/fsl-imx6.c | 18 ++-- hw/ppc/e500.c | 10 +- hw/sd/sdhci.c | 201 ++++++++++++++++++++++++-------------- hw/sd/trace-events | 2 +- 8 files changed, 146 insertions(+), 105 deletions(-) -- 2.52.0
