mbox series

[00/32] hw/sd: eMMC support

Message ID 20230703132509.2474225-1-clg@kaod.org (mailing list archive)
Headers show
Series hw/sd: eMMC support | expand

Message

Cédric Le Goater July 3, 2023, 1:24 p.m. UTC
Hello,

  
This series adds an extension for a new eMMC device using the
framework Philippe put in place to support various SD implementations.
Previous discussion on the same topic:

  http://patchwork.ozlabs.org/project/qemu-devel/list/?series=250563
  https://lore.kernel.org/qemu-devel/20220318132824.1134400-1-clg@kaod.org/

patch 1-12
  - introduce SDProto structure
  - could be merged. They have been reviewed.
  
patch 13
  - adds a SPI variant model
  
patch 14-27
  - adds eMMC support
  - need better commit logs
  
patch 28-32 (for later)

  - aspeed wiring

Please comment the core part, we can leave out the aspeed part for
now. I won't have much time to fix the issues unless it's about
compile and style issues. If someone is interested and could take
over the series, that would be nice.

Thanks,

C.

Cédric Le Goater (11):
  hw/sd: Introduce a "sd-card" SPI variant model
  hw/sd: Add emmc_cmd_SEND_OP_CMD() handler
  hw/sd: Add emmc_cmd_ALL_SEND_CID() handler
  hw/sd: Add emmc_cmd_SEND_RELATIVE_ADDR() handler
  hw/sd: Add emmc_cmd_APP_CMD() handler
  hw/sd: add emmc_cmd_SEND_TUNING_BLOCK() handler
  hw/sd: Add emmc_cmd_SEND_EXT_CSD() handler
  hw/sd: Fix SET_BLOCK_COUNT command argument
  hw/arm/aspeed: Add eMMC device
  hw/arm/aspeed: Load eMMC first boot area as a boot rom
  aspeed: Introduce a 'boot-emmc' property for AST2600 based machines

Joel Stanley (6):
  hw/sd: Add sd_cmd_SEND_TUNING_BLOCK() handler
  hw/sd: Support boot area in emmc image
  hw/sd: Subtract bootarea size from blk
  hw/sd: Add boot config support
  hw/arm/aspeed: Set boot device to emmc
  aspeed: Set bootconfig

Philippe Mathieu-Daudé (12):
  hw/sd: When card is in wrong state, log which state it is
  hw/sd: When card is in wrong state, log which spec version is used
  hw/sd: Move proto_name to SDProto structure
  hw/sd: Introduce sd_cmd_handler type
  hw/sd: Add sd_cmd_illegal() handler
  hw/sd: Add sd_cmd_unimplemented() handler
  hw/sd: Add sd_cmd_GO_IDLE_STATE() handler
  hw/sd: Add sd_cmd_SEND_OP_CMD() handler
  hw/sd: Add sd_cmd_ALL_SEND_CID() handler
  hw/sd: Add sd_cmd_SEND_RELATIVE_ADDR() handler
  hw/sd: Add sd_cmd_SET_BLOCK_COUNT() handler
  hw/sd: Basis for eMMC support

Sai Pavan Boddu (3):
  hw/sd: Add CMD21 tuning sequence
  hw/sd: Add mmc switch function support
  hw/sd: Update CMD1 definition for MMC

 docs/system/arm/aspeed.rst   |   2 +
 hw/sd/sdmmc-internal.h       |  97 +++++
 include/hw/arm/aspeed_soc.h  |   1 +
 include/hw/misc/aspeed_scu.h |   7 +
 include/hw/sd/sd.h           |  10 +
 hw/arm/aspeed.c              |  68 +++-
 hw/arm/aspeed_ast2600.c      |   1 +
 hw/arm/stellaris.c           |   3 +-
 hw/riscv/sifive_u.c          |   3 +-
 hw/sd/sd.c                   | 702 ++++++++++++++++++++++++++++-------
 hw/sd/sdmmc-internal.c       |   2 +-
 11 files changed, 748 insertions(+), 148 deletions(-)

Comments

Cédric Le Goater Aug. 28, 2023, 4:27 p.m. UTC | #1
Hello,

On 7/3/23 15:24, Cédric Le Goater wrote:
> Hello,
> 
>    
> This series adds an extension for a new eMMC device using the
> framework Philippe put in place to support various SD implementations.
> Previous discussion on the same topic:
> 
>    http://patchwork.ozlabs.org/project/qemu-devel/list/?series=250563
>    https://lore.kernel.org/qemu-devel/20220318132824.1134400-1-clg@kaod.org/
> 
> patch 1-12
>    - introduce SDProto structure
>    - could be merged. They have been reviewed.
>    
> patch 13
>    - adds a SPI variant model

I plan to include 1-13 in the next aspeed PR.

Thanks,

C.

>    
> patch 14-27
>    - adds eMMC support
>    - need better commit logs
>    
> patch 28-32 (for later)
> 
>    - aspeed wiring
> 
> Please comment the core part, we can leave out the aspeed part for
> now. I won't have much time to fix the issues unless it's about
> compile and style issues. If someone is interested and could take
> over the series, that would be nice.
> 
> Thanks,
> 
> C.
> 
> Cédric Le Goater (11):
>    hw/sd: Introduce a "sd-card" SPI variant model
>    hw/sd: Add emmc_cmd_SEND_OP_CMD() handler
>    hw/sd: Add emmc_cmd_ALL_SEND_CID() handler
>    hw/sd: Add emmc_cmd_SEND_RELATIVE_ADDR() handler
>    hw/sd: Add emmc_cmd_APP_CMD() handler
>    hw/sd: add emmc_cmd_SEND_TUNING_BLOCK() handler
>    hw/sd: Add emmc_cmd_SEND_EXT_CSD() handler
>    hw/sd: Fix SET_BLOCK_COUNT command argument
>    hw/arm/aspeed: Add eMMC device
>    hw/arm/aspeed: Load eMMC first boot area as a boot rom
>    aspeed: Introduce a 'boot-emmc' property for AST2600 based machines
> 
> Joel Stanley (6):
>    hw/sd: Add sd_cmd_SEND_TUNING_BLOCK() handler
>    hw/sd: Support boot area in emmc image
>    hw/sd: Subtract bootarea size from blk
>    hw/sd: Add boot config support
>    hw/arm/aspeed: Set boot device to emmc
>    aspeed: Set bootconfig
> 
> Philippe Mathieu-Daudé (12):
>    hw/sd: When card is in wrong state, log which state it is
>    hw/sd: When card is in wrong state, log which spec version is used
>    hw/sd: Move proto_name to SDProto structure
>    hw/sd: Introduce sd_cmd_handler type
>    hw/sd: Add sd_cmd_illegal() handler
>    hw/sd: Add sd_cmd_unimplemented() handler
>    hw/sd: Add sd_cmd_GO_IDLE_STATE() handler
>    hw/sd: Add sd_cmd_SEND_OP_CMD() handler
>    hw/sd: Add sd_cmd_ALL_SEND_CID() handler
>    hw/sd: Add sd_cmd_SEND_RELATIVE_ADDR() handler
>    hw/sd: Add sd_cmd_SET_BLOCK_COUNT() handler
>    hw/sd: Basis for eMMC support
> 
> Sai Pavan Boddu (3):
>    hw/sd: Add CMD21 tuning sequence
>    hw/sd: Add mmc switch function support
>    hw/sd: Update CMD1 definition for MMC
> 
>   docs/system/arm/aspeed.rst   |   2 +
>   hw/sd/sdmmc-internal.h       |  97 +++++
>   include/hw/arm/aspeed_soc.h  |   1 +
>   include/hw/misc/aspeed_scu.h |   7 +
>   include/hw/sd/sd.h           |  10 +
>   hw/arm/aspeed.c              |  68 +++-
>   hw/arm/aspeed_ast2600.c      |   1 +
>   hw/arm/stellaris.c           |   3 +-
>   hw/riscv/sifive_u.c          |   3 +-
>   hw/sd/sd.c                   | 702 ++++++++++++++++++++++++++++-------
>   hw/sd/sdmmc-internal.c       |   2 +-
>   11 files changed, 748 insertions(+), 148 deletions(-)
>
Cédric Le Goater May 21, 2024, 10:59 a.m. UTC | #2
On 8/28/23 18:27, Cédric Le Goater wrote:
> Hello,
> 
> On 7/3/23 15:24, Cédric Le Goater wrote:
>> Hello,
>>
>> This series adds an extension for a new eMMC device using the
>> framework Philippe put in place to support various SD implementations.
>> Previous discussion on the same topic:
>>
>>    http://patchwork.ozlabs.org/project/qemu-devel/list/?series=250563
>>    https://lore.kernel.org/qemu-devel/20220318132824.1134400-1-clg@kaod.org/
>>
>> patch 1-12
>>    - introduce SDProto structure
>>    - could be merged. They have been reviewed.
>> patch 13
>>    - adds a SPI variant model
> 
> I plan to include 1-13 in the next aspeed PR.

I plan to include the rest of this series in the next aspeed PR,
for QEMU 9.1


Thanks,

C.



> 
> Thanks,
> 
> C.
> 
>> patch 14-27
>>    - adds eMMC support
>>    - need better commit logs
>> patch 28-32 (for later)
>>
>>    - aspeed wiring
>>
>> Please comment the core part, we can leave out the aspeed part for
>> now. I won't have much time to fix the issues unless it's about
>> compile and style issues. If someone is interested and could take
>> over the series, that would be nice.
>>
>> Thanks,
>>
>> C.
>>
>> Cédric Le Goater (11):
>>    hw/sd: Introduce a "sd-card" SPI variant model
>>    hw/sd: Add emmc_cmd_SEND_OP_CMD() handler
>>    hw/sd: Add emmc_cmd_ALL_SEND_CID() handler
>>    hw/sd: Add emmc_cmd_SEND_RELATIVE_ADDR() handler
>>    hw/sd: Add emmc_cmd_APP_CMD() handler
>>    hw/sd: add emmc_cmd_SEND_TUNING_BLOCK() handler
>>    hw/sd: Add emmc_cmd_SEND_EXT_CSD() handler
>>    hw/sd: Fix SET_BLOCK_COUNT command argument
>>    hw/arm/aspeed: Add eMMC device
>>    hw/arm/aspeed: Load eMMC first boot area as a boot rom
>>    aspeed: Introduce a 'boot-emmc' property for AST2600 based machines
>>
>> Joel Stanley (6):
>>    hw/sd: Add sd_cmd_SEND_TUNING_BLOCK() handler
>>    hw/sd: Support boot area in emmc image
>>    hw/sd: Subtract bootarea size from blk
>>    hw/sd: Add boot config support
>>    hw/arm/aspeed: Set boot device to emmc
>>    aspeed: Set bootconfig
>>
>> Philippe Mathieu-Daudé (12):
>>    hw/sd: When card is in wrong state, log which state it is
>>    hw/sd: When card is in wrong state, log which spec version is used
>>    hw/sd: Move proto_name to SDProto structure
>>    hw/sd: Introduce sd_cmd_handler type
>>    hw/sd: Add sd_cmd_illegal() handler
>>    hw/sd: Add sd_cmd_unimplemented() handler
>>    hw/sd: Add sd_cmd_GO_IDLE_STATE() handler
>>    hw/sd: Add sd_cmd_SEND_OP_CMD() handler
>>    hw/sd: Add sd_cmd_ALL_SEND_CID() handler
>>    hw/sd: Add sd_cmd_SEND_RELATIVE_ADDR() handler
>>    hw/sd: Add sd_cmd_SET_BLOCK_COUNT() handler
>>    hw/sd: Basis for eMMC support
>>
>> Sai Pavan Boddu (3):
>>    hw/sd: Add CMD21 tuning sequence
>>    hw/sd: Add mmc switch function support
>>    hw/sd: Update CMD1 definition for MMC
>>
>>   docs/system/arm/aspeed.rst   |   2 +
>>   hw/sd/sdmmc-internal.h       |  97 +++++
>>   include/hw/arm/aspeed_soc.h  |   1 +
>>   include/hw/misc/aspeed_scu.h |   7 +
>>   include/hw/sd/sd.h           |  10 +
>>   hw/arm/aspeed.c              |  68 +++-
>>   hw/arm/aspeed_ast2600.c      |   1 +
>>   hw/arm/stellaris.c           |   3 +-
>>   hw/riscv/sifive_u.c          |   3 +-
>>   hw/sd/sd.c                   | 702 ++++++++++++++++++++++++++++-------
>>   hw/sd/sdmmc-internal.c       |   2 +-
>>   11 files changed, 748 insertions(+), 148 deletions(-)
>>
> 
>