[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v47 11/19] hw/sd/sdcard: Add eMMC 'boot-size' property
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH v47 11/19] hw/sd/sdcard: Add eMMC 'boot-size' property |
Date: |
Tue, 9 Jul 2024 17:25:48 +0200 |
Avoid hardcoding 1MiB boot size in EXT_CSD_BOOT_MULT,
expose it as QOM property.
By default, do not use any size. Board is responsible
to set the boot size property.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
hw/sd/sd.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index c809961418..df0e2345c0 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -129,6 +129,7 @@ struct SDState {
/* Static properties */
uint8_t spec_version;
+ uint64_t boot_part_size;
BlockBackend *blk;
const SDProto *proto;
@@ -490,7 +491,8 @@ static void mmc_set_ext_csd(SDState *sd, uint64_t size)
sd->ext_csd[EXT_CSD_TRIM_MULT] = 0x1; /* Trim multiplier */
sd->ext_csd[EXT_CSD_SEC_FEATURE_SUPPORT] = 0x15; /* Secure feature */
sd->ext_csd[EXT_CSD_BOOT_INFO] = 0x7; /* Boot information */
- sd->ext_csd[EXT_CSD_BOOT_MULT] = 0x8; /* Boot partition size. 128KB unit */
+ /* Boot partition size. 128KB unit */
+ sd->ext_csd[EXT_CSD_BOOT_MULT] = sd->boot_part_size / (128 * KiB);
sd->ext_csd[EXT_CSD_ACC_SIZE] = 0x6; /* Access size */
sd->ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE] = 0x4; /* HC Erase unit size */
sd->ext_csd[EXT_CSD_ERASE_TIMEOUT_MULT] = 0x01; /* HC erase timeout */
@@ -2693,6 +2695,7 @@ static Property sd_properties[] = {
};
static Property emmc_properties[] = {
+ DEFINE_PROP_UINT64("boot-size", SDState, boot_part_size, 0),
DEFINE_PROP_END_OF_LIST()
};
--
2.41.0
- [PATCH v47 01/19] hw/sd/sdcard: Basis for eMMC support, (continued)
- [PATCH v47 01/19] hw/sd/sdcard: Basis for eMMC support, Philippe Mathieu-Daudé, 2024/07/09
- [PATCH v47 02/19] hw/sd/sdcard: Register generic command handlers, Philippe Mathieu-Daudé, 2024/07/09
- [PATCH v47 03/19] hw/sd/sdcard: Register unimplemented command handlers, Philippe Mathieu-Daudé, 2024/07/09
- [PATCH v47 04/19] hw/sd/sdcard: Implement emmc_set_cid(), Philippe Mathieu-Daudé, 2024/07/09
- [PATCH v47 05/19] hw/sd/sdcard: Implement emmc_set_csd(), Philippe Mathieu-Daudé, 2024/07/09
- [PATCH v47 06/19] hw/sd/sdcard: Add emmc_cmd_SET_RELATIVE_ADDR handler (CMD3), Philippe Mathieu-Daudé, 2024/07/09
- [PATCH v47 07/19] hw/sd/sdcard: Fix SET_BLOCK_COUNT command argument on eMMC (CMD23), Philippe Mathieu-Daudé, 2024/07/09
- [PATCH v47 08/19] hw/sd/sdcard: Add mmc_cmd_PROGRAM_CID handler (CMD26), Philippe Mathieu-Daudé, 2024/07/09
- [PATCH v47 09/19] hw/sd/sdcard: Implement eMMC sleep state (CMD5), Philippe Mathieu-Daudé, 2024/07/09
- [PATCH v47 10/19] hw/sd/sdcard: Add emmc_cmd_SEND_EXT_CSD handler (CMD8), Philippe Mathieu-Daudé, 2024/07/09
- [PATCH v47 11/19] hw/sd/sdcard: Add eMMC 'boot-size' property,
Philippe Mathieu-Daudé <=
- [PATCH v47 12/19] hw/sd/sdcard: Simplify EXT_CSD values for spec v4.3, Philippe Mathieu-Daudé, 2024/07/09
- [PATCH v47 13/19] hw/sd/sdcard: Migrate ExtCSD 'modes' register, Philippe Mathieu-Daudé, 2024/07/09
- [PATCH v47 14/19] hw/sd/sdcard: Add mmc SWITCH function support (CMD6), Philippe Mathieu-Daudé, 2024/07/09
- [PATCH v47 15/19] hw/sd/sdcard: Implement eMMC 'boot-mode', Philippe Mathieu-Daudé, 2024/07/09
- [Aspeed PATCH v47 16/19] hw/sd/sdcard: Support boot area in emmc image, Philippe Mathieu-Daudé, 2024/07/09
- [Aspeed PATCH v47 17/19] hw/sd/sdcard: Subtract bootarea size from blk, Philippe Mathieu-Daudé, 2024/07/09