[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-arm] [PATCH v5 00/31] SDHCI: make it abstract, add inherited devic
From: |
Philippe Mathieu-Daudé |
Subject: |
[Qemu-arm] [PATCH v5 00/31] SDHCI: make it abstract, add inherited devices, add qtests |
Date: |
Mon, 8 Jan 2018 12:42:32 -0300 |
Since v4 ("SDHCI: add qtests and fix few issues"):
- spec_version default to v2 (current behaviour)
- addressed Alistair review (no v1, tell user about valid version)
- generic-sdhci is now abstract, added more sdhci device following Linux
Device Tree names:
- hw/arm/fsl-imx6: "fsl,imx6q-usdhc"
- hw/arm/exynos4210: "samsung,exynos4210-dw-mshc"
- hw/arm/bcm2835_peripherals: "brcm,bcm2835-sdhci"
- hw/arm/xilinx_zynq: "arasan,sdhci-4.9a"
- hw/arm/xilinx_zynqmp: "arasan,sdhci-8.9a"
Since v3:
- no change, but split back in 2 series, 1st part is "SDHCI: housekeeping v5",
Based-on: address@hidden
Since v2:
- more detailed 'capabilities', all boards converted to use these properties
- since all qtests pass, removed the previous 'capareg' property
- added Stefan/Alistair R-b
- corrected 'access' LED behavior (Alistair's review)
- more uses of the registerfields API
- remove some dead code
- cosmetix:
- added more comments
- renamed a pair of registers
- reordered few struct members
Note, the bcm2835 seems to have 1KB minimum blocksize, however the current
model is implemented with 512B. I didn't change the current value.
Since v1:
- addressed Alistair Francis review comments, added some R-b
- only move register defines to "sd-internal.h"
- fixed deposit64() arguments
- dropped unuseful s->fifo_buffer = NULL
- use a qemu_irq for the LED, restrict the logging to ON/OFF
- fixed a trace format string error
- included Andrey Smirnov ACMD12ERRSTS write patch
- dropped few unuseful patches, and separate the Python polemical ones for later
>From the "SDHCI housekeeping" series:
- 1: we restrict part of "sd/sd.h" into local "sd-internal.h",
- 2,3: we somehow beautiful the code, no logical changes,
- 4-7: we refactor the common sysbus/pci qdev code,
- 8-10: we add plenty of trace events which will result useful later,
- 11: we finally expose a "dma-memory" property.
>From the "SDHCI: add a qtest and fix few issues" series:
- 12,13: fix registers
- 14,15: boards can specify which SDHCI Spec to use (v2 and v3 so far)
- 15-20: HCI qtest
Regards,
Phil.
[----] : patches are identical
[####] : number of functional differences between upstream/downstream patch
[down] : patch is downstream-only
The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively
001/31:[0006] [FC] 'sdhci: add a spec_version property'
002/31:[----] [-C] 'sdhci: add basic Spec v1 capabilities'
003/31:[----] [-C] 'sdhci: add max-block-length capability (Spec v1)'
004/31:[0002] [FC] 'sdhci: add clock capabilities (Spec v1)'
005/31:[----] [--] 'sdhci: add DMA and 64-bit capabilities (Spec v2)'
006/31:[----] [--] 'sdhci: add BLOCK_SIZE_MASK for DMA'
007/31:[----] [--] 'sdhci: Fix 64-bit ADMA2'
008/31:[down] 'hw/sd: clean/reorder the Makefile adding few comments'
009/31:[down] 'sdhci: add a common class'
010/31:[down] 'sdhci: add a Designware/Samsung host controller'
011/31:[down] 'hw/arm/exynos4210: use the "samsung,exynos4210-dw-mshc" device'
012/31:[down] 'sdhci: add the generic Arasan SDHCI 4.9a PHY controller'
013/31:[down] 'hw/arm/xilinx_zynq: use the "arasan,sdhci-4.9a" device'
014/31:[----] [--] 'sdhci: add qtest to check the SD Spec version'
015/31:[----] [--] 'sdhci: check Spec v2 capabilities qtest'
016/31:[0007] [FC] 'sdhci: add v3 capabilities'
017/31:[----] [--] 'sdhci: rename the hostctl1 register'
018/31:[down] 'sdhci: add the Broadcom BCM2835 SDHCI controller'
019/31:[down] 'hw/arm/bcm2835_peripherals: use the "brcm,bcm2835-sdhci" device'
020/31:[down] 'sdhci: add the Freescale controller for i.MX'
021/31:[down] 'hw/arm/fsl-imx6: use the "fsl,imx6q-usdhc" controller'
022/31:[down] 'sdhci: add the generic Arasan SDHCI 8.9a PHY'
023/31:[down] 'hw/arm/xilinx_zynqmp: use the "arasan,sdhci-8.9a" device'
024/31:[down] 'sdhci: let the SYSBUS_SDHCI type be abstract'
025/31:[----] [--] 'sdhci: check Spec v3 capabilities qtest'
026/31:[----] [-C] 'sdhci: remove the deprecated 'capareg' property'
027/31:[----] [--] 'sdhci: add check_capab_readonly() qtest'
028/31:[----] [--] 'sdhci: add a check_capab_baseclock() qtest'
029/31:[----] [--] 'sdhci: add a check_capab_sdma() qtest'
030/31:[----] [--] 'sdhci: add a check_capab_v3() qtest'
031/31:[----] [--] 'sdhci: add Spec v4.2 register definitions'
Philippe Mathieu-Daudé (30):
sdhci: add a spec_version property
sdhci: add basic Spec v1 capabilities
sdhci: add max-block-length capability (Spec v1)
sdhci: add clock capabilities (Spec v1)
sdhci: add DMA and 64-bit capabilities (Spec v2)
sdhci: add BLOCK_SIZE_MASK for DMA
hw/sd: clean/reorder the Makefile adding few comments
sdhci: add a common class
sdhci: add a Designware/Samsung host controller
hw/arm/exynos4210: use the "samsung,exynos4210-dw-mshc" device
sdhci: add the generic Arasan SDHCI 4.9a PHY controller
hw/arm/xilinx_zynq: use the "arasan,sdhci-4.9a" device
sdhci: add qtest to check the SD Spec version
sdhci: check Spec v2 capabilities qtest
sdhci: add v3 capabilities
sdhci: rename the hostctl1 register
sdhci: add the Broadcom BCM2835 SDHCI controller
hw/arm/bcm2835_peripherals: use the "brcm,bcm2835-sdhci" device
sdhci: add the Freescale controller for i.MX
hw/arm/fsl-imx6: use the "fsl,imx6q-usdhc" controller
sdhci: add the generic Arasan SDHCI 8.9a PHY
hw/arm/xilinx_zynqmp: use the "arasan,sdhci-8.9a" device
sdhci: let the SYSBUS_SDHCI type be abstract
sdhci: check Spec v3 capabilities qtest
sdhci: remove the deprecated 'capareg' property
sdhci: add check_capab_readonly() qtest
sdhci: add a check_capab_baseclock() qtest
sdhci: add a check_capab_sdma() qtest
sdhci: add a check_capab_v3() qtest
sdhci: add Spec v4.2 register definitions
Sai Pavan Boddu (1):
sdhci: Fix 64-bit ADMA2
include/hw/sd/sdhci.h | 32 +++++-
hw/sd/sdhci-internal.h | 70 +++++++++++--
hw/arm/bcm2835_peripherals.c | 19 +---
hw/arm/exynos4210.c | 12 +--
hw/arm/fsl-imx6.c | 2 +-
hw/arm/xilinx_zynq.c | 41 +++-----
hw/arm/xlnx-zynqmp.c | 2 +-
hw/sd/arasan_sdhci.c | 124 ++++++++++++++++++++++
hw/sd/bcm2835_sdhci.c | 77 ++++++++++++++
hw/sd/dw-mshc.c | 64 ++++++++++++
hw/sd/fsl-sdhc.c | 58 +++++++++++
hw/sd/sdhci.c | 240 ++++++++++++++++++++++++++-----------------
hw/sd/Makefile.objs | 14 ++-
tests/sdhci-test.c | 177 +++++++++++++++++++++++++++++++
tests/Makefile.include | 3 +
15 files changed, 774 insertions(+), 161 deletions(-)
create mode 100644 hw/sd/arasan_sdhci.c
create mode 100644 hw/sd/bcm2835_sdhci.c
create mode 100644 hw/sd/dw-mshc.c
create mode 100644 hw/sd/fsl-sdhc.c
create mode 100644 tests/sdhci-test.c
--
2.15.1
- [Qemu-arm] [PATCH v5 00/31] SDHCI: make it abstract, add inherited devices, add qtests,
Philippe Mathieu-Daudé <=