[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v7 00/14] SDHCI: add tunning sequence for UHS-I card
From: |
Philippe Mathieu-Daudé |
Subject: |
[Qemu-devel] [PATCH v7 00/14] SDHCI: add tunning sequence for UHS-I cards (part 3) |
Date: |
Thu, 18 Jan 2018 17:40:44 -0300 |
This series add minimum features required by Spec v3 to support UHS-I cards.
Since v6:
- rebased on upstream
- included spec v3 qtest back
Since v5:
- addressed Alistair reviews
- dropped "abstract generic-sdhci"
- dropped Linux Device Tree names
- split qtests in another series
- change the bcm2835 minimum blocksize to 1KB (Andrew Baumann)
- added Alistair R-b
- based on Alistair work:
- add SD tunning sequence via Host Control 2 to use UHS-I cards
- add CMD/DAT[] fields in the Present State (used in next series
to switch card voltage)
based on Alistair work:
- add SD tunning sequence via Host Control 2 to use UHS-I cards
- add CMD/DAT[] fields in the Present State (used in next series
to switch card voltage)
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)
Since v3:
- no change, but split back in 2 series, 1st part is "SDHCI: housekeeping v5",
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
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.
$ git backport-diff with v6
001/14:[0015] [FC] 'sdhci: add v3 capabilities'
002/14:[----] [-C] 'sdhci: rename the hostctl1 register'
003/14:[----] [--] 'hw/arm/bcm2835_peripherals: implement SDHCI Spec v3'
004/14:[----] [--] 'hw/arm/bcm2835_peripherals: change maximum block size to
1kB'
005/14:[----] [--] 'hw/arm/fsl-imx6: implement SDHCI Spec v3'
006/14:[0004] [FC] 'hw/arm/xilinx_zynqmp: implement SDHCI Spec v3'
007/14:[down] 'sdhci: check Spec v3 capabilities qtest'
008/14:[down] 'sdhci: add a check_capab_v3() qtest'
009/14:[0018] [FC] 'sdhci: remove the deprecated 'capareg' property'
010/14:[----] [--] 'sdhci: add Spec v4.2 register definitions'
011/14:[----] [--] 'sdhci: implement the Host Control 2 register for the
tunning sequence'
012/14:[----] [--] 'sdbus: add trace events'
013/14:[0002] [FC] 'sdhci: implement UHS-I voltage switch'
014/14:[----] [--] 'sdhci: implement CMD/DAT[] fields in the Present State
register'
Based-on: address@hidden
Philippe Mathieu-Daudé (14):
sdhci: add v3 capabilities
sdhci: rename the hostctl1 register
hw/arm/bcm2835_peripherals: implement SDHCI Spec v3
hw/arm/bcm2835_peripherals: change maximum block size to 1kB
hw/arm/fsl-imx6: implement SDHCI Spec v3
hw/arm/xilinx_zynqmp: implement SDHCI Spec v3
sdhci: check Spec v3 capabilities qtest
sdhci: add a check_capab_v3() qtest
sdhci: remove the deprecated 'capareg' property
sdhci: add Spec v4.2 register definitions
sdhci: implement the Host Control 2 register for the tunning sequence
sdbus: add trace events
sdhci: implement UHS-I voltage switch
sdhci: implement CMD/DAT[] fields in the Present State register
include/hw/sd/sd.h | 20 ++++++++++
include/hw/sd/sdhci.h | 9 ++++-
hw/sd/sdhci-internal.h | 31 +++++++++++++++
hw/arm/bcm2835_peripherals.c | 33 ++++++++++------
hw/arm/fsl-imx6.c | 13 +++++++
hw/arm/xlnx-zynqmp.c | 40 ++++++++++++++------
hw/sd/core.c | 61 +++++++++++++++++++++++++++++-
hw/sd/sd.c | 29 +++++++++++++++
hw/sd/sdhci.c | 89 +++++++++++++++++++++++++++++++-------------
tests/sdhci-test.c | 29 +++++++++++++++
hw/sd/trace-events | 8 ++++
tests/Makefile.include | 1 +
12 files changed, 312 insertions(+), 51 deletions(-)
--
2.15.1
- [Qemu-devel] [PATCH v7 00/14] SDHCI: add tunning sequence for UHS-I cards (part 3),
Philippe Mathieu-Daudé <=
- [Qemu-devel] [PATCH v7 01/14] sdhci: add v3 capabilities, Philippe Mathieu-Daudé, 2018/01/18
- [Qemu-devel] [PATCH v7 02/14] sdhci: rename the hostctl1 register, Philippe Mathieu-Daudé, 2018/01/18
- [Qemu-devel] [PATCH v7 03/14] hw/arm/bcm2835_peripherals: implement SDHCI Spec v3, Philippe Mathieu-Daudé, 2018/01/18
- [Qemu-devel] [PATCH v7 04/14] hw/arm/bcm2835_peripherals: change maximum block size to 1kB, Philippe Mathieu-Daudé, 2018/01/18
- [Qemu-devel] [PATCH v7 05/14] hw/arm/fsl-imx6: implement SDHCI Spec v3, Philippe Mathieu-Daudé, 2018/01/18
- [Qemu-devel] [PATCH v7 06/14] hw/arm/xilinx_zynqmp: implement SDHCI Spec v3, Philippe Mathieu-Daudé, 2018/01/18
- [Qemu-devel] [PATCH v7 07/14] sdhci: check Spec v3 capabilities qtest, Philippe Mathieu-Daudé, 2018/01/18
- [Qemu-devel] [PATCH v7 08/14] sdhci: add a check_capab_v3() qtest, Philippe Mathieu-Daudé, 2018/01/18
- [Qemu-devel] [PATCH v7 09/14] sdhci: remove the deprecated 'capareg' property, Philippe Mathieu-Daudé, 2018/01/18
- [Qemu-devel] [PATCH v7 10/14] sdhci: add Spec v4.2 register definitions, Philippe Mathieu-Daudé, 2018/01/18