[PATCH v4 06/23] hw/arm/aspeed: Rename IRQ table and machine name for AST2700 A0

Jamin Lin via posted 23 patches 1 day, 16 hours ago
[PATCH v4 06/23] hw/arm/aspeed: Rename IRQ table and machine name for AST2700 A0
Posted by Jamin Lin via 1 day, 16 hours ago
Currently, AST2700 SoC only supports A0. To support AST2700 A1, rename its IRQ
table and machine name.

To follow the machine deprecation rule, the initial machine "ast2700-evb" is
aliased to "ast2700a0-evb." In the future, we will alias "ast2700-evb" to new
SoCs, such as "ast2700a1-evb."

Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
---
 hw/arm/aspeed.c         | 9 +++++----
 hw/arm/aspeed_ast27x0.c | 8 ++++----
 2 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
index c6c18596d6..2482f05154 100644
--- a/hw/arm/aspeed.c
+++ b/hw/arm/aspeed.c
@@ -1673,12 +1673,13 @@ static void ast2700_evb_i2c_init(AspeedMachineState *bmc)
                             TYPE_TMP105, 0x4d);
 }
 
-static void aspeed_machine_ast2700_evb_class_init(ObjectClass *oc, void *data)
+static void aspeed_machine_ast2700a0_evb_class_init(ObjectClass *oc, void *data)
 {
     MachineClass *mc = MACHINE_CLASS(oc);
     AspeedMachineClass *amc = ASPEED_MACHINE_CLASS(oc);
 
-    mc->desc = "Aspeed AST2700 EVB (Cortex-A35)";
+    mc->desc = "Aspeed AST2700 A0 EVB (Cortex-A35)";
+    mc->alias = "ast2700-evb";
     amc->soc_name  = "ast2700-a0";
     amc->hw_strap1 = AST2700_EVB_HW_STRAP1;
     amc->hw_strap2 = AST2700_EVB_HW_STRAP2;
@@ -1817,9 +1818,9 @@ static const TypeInfo aspeed_machine_types[] = {
         .class_init     = aspeed_minibmc_machine_ast1030_evb_class_init,
 #ifdef TARGET_AARCH64
     }, {
-        .name          = MACHINE_TYPE_NAME("ast2700-evb"),
+        .name          = MACHINE_TYPE_NAME("ast2700a0-evb"),
         .parent        = TYPE_ASPEED_MACHINE,
-        .class_init    = aspeed_machine_ast2700_evb_class_init,
+        .class_init    = aspeed_machine_ast2700a0_evb_class_init,
 #endif
     }, {
         .name          = TYPE_ASPEED_MACHINE,
diff --git a/hw/arm/aspeed_ast27x0.c b/hw/arm/aspeed_ast27x0.c
index 527a5f8245..f1beea7ece 100644
--- a/hw/arm/aspeed_ast27x0.c
+++ b/hw/arm/aspeed_ast27x0.c
@@ -73,7 +73,7 @@ static const hwaddr aspeed_soc_ast2700_memmap[] = {
 #define AST2700_MAX_IRQ 256
 
 /* Shared Peripheral Interrupt values below are offset by -32 from datasheet */
-static const int aspeed_soc_ast2700_irqmap[] = {
+static const int aspeed_soc_ast2700a0_irqmap[] = {
     [ASPEED_DEV_UART0]     = 132,
     [ASPEED_DEV_UART1]     = 132,
     [ASPEED_DEV_UART2]     = 132,
@@ -762,7 +762,7 @@ static void aspeed_soc_ast2700_realize(DeviceState *dev, Error **errp)
     create_unimplemented_device("ast2700.io", 0x0, 0x4000000);
 }
 
-static void aspeed_soc_ast2700_class_init(ObjectClass *oc, void *data)
+static void aspeed_soc_ast2700a0_class_init(ObjectClass *oc, void *data)
 {
     static const char * const valid_cpu_types[] = {
         ARM_CPU_TYPE_NAME("cortex-a35"),
@@ -785,7 +785,7 @@ static void aspeed_soc_ast2700_class_init(ObjectClass *oc, void *data)
     sc->uarts_num    = 13;
     sc->num_cpus     = 4;
     sc->uarts_base   = ASPEED_DEV_UART0;
-    sc->irqmap       = aspeed_soc_ast2700_irqmap;
+    sc->irqmap       = aspeed_soc_ast2700a0_irqmap;
     sc->memmap       = aspeed_soc_ast2700_memmap;
     sc->get_irq      = aspeed_soc_ast2700_get_irq;
 }
@@ -800,7 +800,7 @@ static const TypeInfo aspeed_soc_ast27x0_types[] = {
         .name           = "ast2700-a0",
         .parent         = TYPE_ASPEED27X0_SOC,
         .instance_init  = aspeed_soc_ast2700_init,
-        .class_init     = aspeed_soc_ast2700_class_init,
+        .class_init     = aspeed_soc_ast2700a0_class_init,
     },
 };
 
-- 
2.34.1
Re: [PATCH v4 06/23] hw/arm/aspeed: Rename IRQ table and machine name for AST2700 A0
Posted by Cédric Le Goater 1 day, 12 hours ago
On 3/3/25 10:54, Jamin Lin wrote:
> Currently, AST2700 SoC only supports A0. To support AST2700 A1, rename its IRQ
> table and machine name.
> 
> To follow the machine deprecation rule, the initial machine "ast2700-evb" is
> aliased to "ast2700a0-evb." In the future, we will alias "ast2700-evb" to new
> SoCs, such as "ast2700a1-evb."
> 
> Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
> ---
>   hw/arm/aspeed.c         | 9 +++++----
>   hw/arm/aspeed_ast27x0.c | 8 ++++----
>   2 files changed, 9 insertions(+), 8 deletions(-)
> 
> diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
> index c6c18596d6..2482f05154 100644
> --- a/hw/arm/aspeed.c
> +++ b/hw/arm/aspeed.c
> @@ -1673,12 +1673,13 @@ static void ast2700_evb_i2c_init(AspeedMachineState *bmc)
>                               TYPE_TMP105, 0x4d);
>   }
>   
> -static void aspeed_machine_ast2700_evb_class_init(ObjectClass *oc, void *data)
> +static void aspeed_machine_ast2700a0_evb_class_init(ObjectClass *oc, void *data)
>   {
>       MachineClass *mc = MACHINE_CLASS(oc);
>       AspeedMachineClass *amc = ASPEED_MACHINE_CLASS(oc);
>   
> -    mc->desc = "Aspeed AST2700 EVB (Cortex-A35)";
> +    mc->desc = "Aspeed AST2700 A0 EVB (Cortex-A35)";
> +    mc->alias = "ast2700-evb";

please put the ->alias assignment line first. So that it is
easily identified.

Thanks,

C.



>       amc->soc_name  = "ast2700-a0";
>       amc->hw_strap1 = AST2700_EVB_HW_STRAP1;
>       amc->hw_strap2 = AST2700_EVB_HW_STRAP2;
> @@ -1817,9 +1818,9 @@ static const TypeInfo aspeed_machine_types[] = {
>           .class_init     = aspeed_minibmc_machine_ast1030_evb_class_init,
>   #ifdef TARGET_AARCH64
>       }, {
> -        .name          = MACHINE_TYPE_NAME("ast2700-evb"),
> +        .name          = MACHINE_TYPE_NAME("ast2700a0-evb"),
>           .parent        = TYPE_ASPEED_MACHINE,
> -        .class_init    = aspeed_machine_ast2700_evb_class_init,
> +        .class_init    = aspeed_machine_ast2700a0_evb_class_init,
>   #endif
>       }, {
>           .name          = TYPE_ASPEED_MACHINE,
> diff --git a/hw/arm/aspeed_ast27x0.c b/hw/arm/aspeed_ast27x0.c
> index 527a5f8245..f1beea7ece 100644
> --- a/hw/arm/aspeed_ast27x0.c
> +++ b/hw/arm/aspeed_ast27x0.c
> @@ -73,7 +73,7 @@ static const hwaddr aspeed_soc_ast2700_memmap[] = {
>   #define AST2700_MAX_IRQ 256
>   
>   /* Shared Peripheral Interrupt values below are offset by -32 from datasheet */
> -static const int aspeed_soc_ast2700_irqmap[] = {
> +static const int aspeed_soc_ast2700a0_irqmap[] = {
>       [ASPEED_DEV_UART0]     = 132,
>       [ASPEED_DEV_UART1]     = 132,
>       [ASPEED_DEV_UART2]     = 132,
> @@ -762,7 +762,7 @@ static void aspeed_soc_ast2700_realize(DeviceState *dev, Error **errp)
>       create_unimplemented_device("ast2700.io", 0x0, 0x4000000);
>   }
>   
> -static void aspeed_soc_ast2700_class_init(ObjectClass *oc, void *data)
> +static void aspeed_soc_ast2700a0_class_init(ObjectClass *oc, void *data)
>   {
>       static const char * const valid_cpu_types[] = {
>           ARM_CPU_TYPE_NAME("cortex-a35"),
> @@ -785,7 +785,7 @@ static void aspeed_soc_ast2700_class_init(ObjectClass *oc, void *data)
>       sc->uarts_num    = 13;
>       sc->num_cpus     = 4;
>       sc->uarts_base   = ASPEED_DEV_UART0;
> -    sc->irqmap       = aspeed_soc_ast2700_irqmap;
> +    sc->irqmap       = aspeed_soc_ast2700a0_irqmap;
>       sc->memmap       = aspeed_soc_ast2700_memmap;
>       sc->get_irq      = aspeed_soc_ast2700_get_irq;
>   }
> @@ -800,7 +800,7 @@ static const TypeInfo aspeed_soc_ast27x0_types[] = {
>           .name           = "ast2700-a0",
>           .parent         = TYPE_ASPEED27X0_SOC,
>           .instance_init  = aspeed_soc_ast2700_init,
> -        .class_init     = aspeed_soc_ast2700_class_init,
> +        .class_init     = aspeed_soc_ast2700a0_class_init,
>       },
>   };
>
RE: [PATCH v4 06/23] hw/arm/aspeed: Rename IRQ table and machine name for AST2700 A0
Posted by Jamin Lin 23 hours ago
Hi Cedric, 

> Subject: Re: [PATCH v4 06/23] hw/arm/aspeed: Rename IRQ table and machine
> name for AST2700 A0
> 
> On 3/3/25 10:54, Jamin Lin wrote:
> > Currently, AST2700 SoC only supports A0. To support AST2700 A1, rename
> > its IRQ table and machine name.
> >
> > To follow the machine deprecation rule, the initial machine
> > "ast2700-evb" is aliased to "ast2700a0-evb." In the future, we will
> > alias "ast2700-evb" to new SoCs, such as "ast2700a1-evb."
> >
> > Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
> > ---
> >   hw/arm/aspeed.c         | 9 +++++----
> >   hw/arm/aspeed_ast27x0.c | 8 ++++----
> >   2 files changed, 9 insertions(+), 8 deletions(-)
> >
> > diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c index
> > c6c18596d6..2482f05154 100644
> > --- a/hw/arm/aspeed.c
> > +++ b/hw/arm/aspeed.c
> > @@ -1673,12 +1673,13 @@ static void
> ast2700_evb_i2c_init(AspeedMachineState *bmc)
> >                               TYPE_TMP105, 0x4d);
> >   }
> >
> > -static void aspeed_machine_ast2700_evb_class_init(ObjectClass *oc,
> > void *data)
> > +static void aspeed_machine_ast2700a0_evb_class_init(ObjectClass *oc,
> > +void *data)
> >   {
> >       MachineClass *mc = MACHINE_CLASS(oc);
> >       AspeedMachineClass *amc = ASPEED_MACHINE_CLASS(oc);
> >
> > -    mc->desc = "Aspeed AST2700 EVB (Cortex-A35)";
> > +    mc->desc = "Aspeed AST2700 A0 EVB (Cortex-A35)";
> > +    mc->alias = "ast2700-evb";
> 
> please put the ->alias assignment line first. So that it is easily identified.
> 
Thanks for your review and suggestion.
Will fix it.
Jamin
> Thanks,
> 
> C.
> 
> 
> 
> >       amc->soc_name  = "ast2700-a0";
> >       amc->hw_strap1 = AST2700_EVB_HW_STRAP1;
> >       amc->hw_strap2 = AST2700_EVB_HW_STRAP2; @@ -1817,9 +1818,9
> @@
> > static const TypeInfo aspeed_machine_types[] = {
> >           .class_init     =
> aspeed_minibmc_machine_ast1030_evb_class_init,
> >   #ifdef TARGET_AARCH64
> >       }, {
> > -        .name          = MACHINE_TYPE_NAME("ast2700-evb"),
> > +        .name          = MACHINE_TYPE_NAME("ast2700a0-evb"),
> >           .parent        = TYPE_ASPEED_MACHINE,
> > -        .class_init    = aspeed_machine_ast2700_evb_class_init,
> > +        .class_init    = aspeed_machine_ast2700a0_evb_class_init,
> >   #endif
> >       }, {
> >           .name          = TYPE_ASPEED_MACHINE,
> > diff --git a/hw/arm/aspeed_ast27x0.c b/hw/arm/aspeed_ast27x0.c index
> > 527a5f8245..f1beea7ece 100644
> > --- a/hw/arm/aspeed_ast27x0.c
> > +++ b/hw/arm/aspeed_ast27x0.c
> > @@ -73,7 +73,7 @@ static const hwaddr aspeed_soc_ast2700_memmap[] =
> {
> >   #define AST2700_MAX_IRQ 256
> >
> >   /* Shared Peripheral Interrupt values below are offset by -32 from
> > datasheet */ -static const int aspeed_soc_ast2700_irqmap[] = {
> > +static const int aspeed_soc_ast2700a0_irqmap[] = {
> >       [ASPEED_DEV_UART0]     = 132,
> >       [ASPEED_DEV_UART1]     = 132,
> >       [ASPEED_DEV_UART2]     = 132,
> > @@ -762,7 +762,7 @@ static void aspeed_soc_ast2700_realize(DeviceState
> *dev, Error **errp)
> >       create_unimplemented_device("ast2700.io", 0x0, 0x4000000);
> >   }
> >
> > -static void aspeed_soc_ast2700_class_init(ObjectClass *oc, void
> > *data)
> > +static void aspeed_soc_ast2700a0_class_init(ObjectClass *oc, void
> > +*data)
> >   {
> >       static const char * const valid_cpu_types[] = {
> >           ARM_CPU_TYPE_NAME("cortex-a35"), @@ -785,7 +785,7 @@
> static
> > void aspeed_soc_ast2700_class_init(ObjectClass *oc, void *data)
> >       sc->uarts_num    = 13;
> >       sc->num_cpus     = 4;
> >       sc->uarts_base   = ASPEED_DEV_UART0;
> > -    sc->irqmap       = aspeed_soc_ast2700_irqmap;
> > +    sc->irqmap       = aspeed_soc_ast2700a0_irqmap;
> >       sc->memmap       = aspeed_soc_ast2700_memmap;
> >       sc->get_irq      = aspeed_soc_ast2700_get_irq;
> >   }
> > @@ -800,7 +800,7 @@ static const TypeInfo aspeed_soc_ast27x0_types[] = {
> >           .name           = "ast2700-a0",
> >           .parent         = TYPE_ASPEED27X0_SOC,
> >           .instance_init  = aspeed_soc_ast2700_init,
> > -        .class_init     = aspeed_soc_ast2700_class_init,
> > +        .class_init     = aspeed_soc_ast2700a0_class_init,
> >       },
> >   };
> >