Introduce a new ast2700 class to support AST2700. Add a new ast2700 SDHCI class init function and set the value of capability register to "0x0000000719f80080".
Signed-off-by: Jamin Lin <jamin_...@aspeedtech.com> --- hw/sd/aspeed_sdhci.c | 16 ++++++++++++++++ include/hw/sd/aspeed_sdhci.h | 1 + 2 files changed, 17 insertions(+) diff --git a/hw/sd/aspeed_sdhci.c b/hw/sd/aspeed_sdhci.c index 93f5571021..4cba934f53 100644 --- a/hw/sd/aspeed_sdhci.c +++ b/hw/sd/aspeed_sdhci.c @@ -273,12 +273,28 @@ static const TypeInfo aspeed_2600_sdhci_info = { .class_init = aspeed_2600_sdhci_class_init, }; +static void aspeed_2700_sdhci_class_init(ObjectClass *klass, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(klass); + AspeedSDHCIClass *asc = ASPEED_SDHCI_CLASS(klass); + + dc->desc = "ASPEED 2700 SDHCI Controller"; + asc->capareg = 0x0000000719f80080; +} + +static const TypeInfo aspeed_2700_sdhci_info = { + .name = TYPE_ASPEED_2700_SDHCI, + .parent = TYPE_ASPEED_SDHCI, + .class_init = aspeed_2700_sdhci_class_init, +}; + static void aspeed_sdhci_register_types(void) { type_register_static(&aspeed_sdhci_info); type_register_static(&aspeed_2400_sdhci_info); type_register_static(&aspeed_2500_sdhci_info); type_register_static(&aspeed_2600_sdhci_info); + type_register_static(&aspeed_2700_sdhci_info); } type_init(aspeed_sdhci_register_types); diff --git a/include/hw/sd/aspeed_sdhci.h b/include/hw/sd/aspeed_sdhci.h index 8083797e25..4ef1770471 100644 --- a/include/hw/sd/aspeed_sdhci.h +++ b/include/hw/sd/aspeed_sdhci.h @@ -16,6 +16,7 @@ #define TYPE_ASPEED_2400_SDHCI TYPE_ASPEED_SDHCI "-ast2400" #define TYPE_ASPEED_2500_SDHCI TYPE_ASPEED_SDHCI "-ast2500" #define TYPE_ASPEED_2600_SDHCI TYPE_ASPEED_SDHCI "-ast2600" +#define TYPE_ASPEED_2700_SDHCI TYPE_ASPEED_SDHCI "-ast2700" OBJECT_DECLARE_TYPE(AspeedSDHCIState, AspeedSDHCIClass, ASPEED_SDHCI) #define ASPEED_SDHCI_NUM_SLOTS 2 -- 2.34.1