[PATCH v1 09/10] hw/arm/aspeed_ast27x0-fc: Switch AST2700 FC machine to A2 SoC

Jamin Lin posted 10 patches 3 days, 8 hours ago
Maintainers: "Cédric Le Goater" <clg@kaod.org>, Peter Maydell <peter.maydell@linaro.org>, Steven Lee <steven_lee@aspeedtech.com>, Troy Lee <leetroy@gmail.com>, Jamin Lin <jamin_lin@aspeedtech.com>, Andrew Jeffery <andrew@codeconstruct.com.au>, Joel Stanley <joel@jms.id.au>, Fabiano Rosas <farosas@suse.de>, Laurent Vivier <lvivier@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
[PATCH v1 09/10] hw/arm/aspeed_ast27x0-fc: Switch AST2700 FC machine to A2 SoC
Posted by Jamin Lin 3 days, 8 hours ago
Update the AST2700 FC machine to use the AST2700 A2 SoC model instead of
the A1-specific variant.

This change removes A1-specific naming and definitions from the FC
machine and aligns it with the newer AST2700 A2 silicon.

Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
---
 hw/arm/aspeed_ast27x0-fc.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/hw/arm/aspeed_ast27x0-fc.c b/hw/arm/aspeed_ast27x0-fc.c
index 0502a137f3..5eb6680da9 100644
--- a/hw/arm/aspeed_ast27x0-fc.c
+++ b/hw/arm/aspeed_ast27x0-fc.c
@@ -24,8 +24,8 @@
 #include "hw/arm/aspeed_coprocessor.h"
 #include "hw/arm/machines-qom.h"
 
-#define TYPE_AST2700A1FC MACHINE_TYPE_NAME("ast2700fc")
-OBJECT_DECLARE_SIMPLE_TYPE(Ast2700FCState, AST2700A1FC);
+#define TYPE_AST2700FC MACHINE_TYPE_NAME("ast2700fc")
+OBJECT_DECLARE_SIMPLE_TYPE(Ast2700FCState, AST2700FC);
 
 static struct arm_boot_info ast2700fc_board_info = {
     .board_id = -1, /* device-tree-only board */
@@ -48,8 +48,7 @@ struct Ast2700FCState {
     Aspeed27x0CoprocessorState tsp;
 };
 
-#define AST2700FC_BMC_RAM_SIZE (1 * GiB)
-#define AST2700FC_CM4_DRAM_SIZE (32 * MiB)
+#define AST2700FC_BMC_RAM_SIZE (2 * GiB)
 
 #define AST2700FC_HW_STRAP1 0x000000C0
 #define AST2700FC_HW_STRAP2 0x00000003
@@ -58,7 +57,7 @@ struct Ast2700FCState {
 
 static bool ast2700fc_ca35_init(MachineState *machine, Error **errp)
 {
-    Ast2700FCState *s = AST2700A1FC(machine);
+    Ast2700FCState *s = AST2700FC(machine);
     AspeedSoCState *soc;
     AspeedSoCClass *sc;
     const char *bios_name = NULL;
@@ -66,7 +65,7 @@ static bool ast2700fc_ca35_init(MachineState *machine, Error **errp)
     DeviceState *dev = NULL;
     uint64_t rom_size;
 
-    object_initialize_child(OBJECT(s), "ca35", &s->ca35, "ast2700-a1");
+    object_initialize_child(OBJECT(s), "ca35", &s->ca35, "ast2700-a2");
     soc = ASPEED_SOC(&s->ca35);
     sc = ASPEED_SOC_GET_CLASS(soc);
 
@@ -135,7 +134,7 @@ static bool ast2700fc_ca35_init(MachineState *machine, Error **errp)
 
 static bool ast2700fc_ssp_init(MachineState *machine, Error **errp)
 {
-    Ast2700FCState *s = AST2700A1FC(machine);
+    Ast2700FCState *s = AST2700FC(machine);
     AspeedSoCState *psp = ASPEED_SOC(&s->ca35);
 
     s->ssp_sysclk = clock_new(OBJECT(s), "SSP_SYSCLK");
@@ -167,7 +166,7 @@ static bool ast2700fc_ssp_init(MachineState *machine, Error **errp)
 
 static bool ast2700fc_tsp_init(MachineState *machine, Error **errp)
 {
-    Ast2700FCState *s = AST2700A1FC(machine);
+    Ast2700FCState *s = AST2700FC(machine);
     AspeedSoCState *psp = ASPEED_SOC(&s->ca35);
 
     s->tsp_sysclk = clock_new(OBJECT(s), "TSP_SYSCLK");
-- 
2.43.0
Re: [PATCH v1 09/10] hw/arm/aspeed_ast27x0-fc: Switch AST2700 FC machine to A2 SoC
Posted by Cédric Le Goater 3 days, 4 hours ago
On 2/6/26 06:33, Jamin Lin wrote:
> Update the AST2700 FC machine to use the AST2700 A2 SoC model instead of
> the A1-specific variant.
> 
> This change removes A1-specific naming and definitions from the FC
> machine and aligns it with the newer AST2700 A2 silicon.
> 
> Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
> ---
>   hw/arm/aspeed_ast27x0-fc.c | 15 +++++++--------
>   1 file changed, 7 insertions(+), 8 deletions(-)
> 
> diff --git a/hw/arm/aspeed_ast27x0-fc.c b/hw/arm/aspeed_ast27x0-fc.c
> index 0502a137f3..5eb6680da9 100644
> --- a/hw/arm/aspeed_ast27x0-fc.c
> +++ b/hw/arm/aspeed_ast27x0-fc.c
> @@ -24,8 +24,8 @@
>   #include "hw/arm/aspeed_coprocessor.h"
>   #include "hw/arm/machines-qom.h"
>   
> -#define TYPE_AST2700A1FC MACHINE_TYPE_NAME("ast2700fc")
> -OBJECT_DECLARE_SIMPLE_TYPE(Ast2700FCState, AST2700A1FC);
> +#define TYPE_AST2700FC MACHINE_TYPE_NAME("ast2700fc")
> +OBJECT_DECLARE_SIMPLE_TYPE(Ast2700FCState, AST2700FC);
>   
>   static struct arm_boot_info ast2700fc_board_info = {
>       .board_id = -1, /* device-tree-only board */
> @@ -48,8 +48,7 @@ struct Ast2700FCState {
>       Aspeed27x0CoprocessorState tsp;
>   };
>   
> -#define AST2700FC_BMC_RAM_SIZE (1 * GiB)
> -#define AST2700FC_CM4_DRAM_SIZE (32 * MiB)
> +#define AST2700FC_BMC_RAM_SIZE (2 * GiB)


This is an unrelated change.

Thanks,

C.

>   #define AST2700FC_HW_STRAP1 0x000000C0
>   #define AST2700FC_HW_STRAP2 0x00000003
> @@ -58,7 +57,7 @@ struct Ast2700FCState {
>   
>   static bool ast2700fc_ca35_init(MachineState *machine, Error **errp)
>   {
> -    Ast2700FCState *s = AST2700A1FC(machine);
> +    Ast2700FCState *s = AST2700FC(machine);
>       AspeedSoCState *soc;
>       AspeedSoCClass *sc;
>       const char *bios_name = NULL;
> @@ -66,7 +65,7 @@ static bool ast2700fc_ca35_init(MachineState *machine, Error **errp)
>       DeviceState *dev = NULL;
>       uint64_t rom_size;
>   
> -    object_initialize_child(OBJECT(s), "ca35", &s->ca35, "ast2700-a1");
> +    object_initialize_child(OBJECT(s), "ca35", &s->ca35, "ast2700-a2");
>       soc = ASPEED_SOC(&s->ca35);
>       sc = ASPEED_SOC_GET_CLASS(soc);
>   
> @@ -135,7 +134,7 @@ static bool ast2700fc_ca35_init(MachineState *machine, Error **errp)
>   
>   static bool ast2700fc_ssp_init(MachineState *machine, Error **errp)
>   {
> -    Ast2700FCState *s = AST2700A1FC(machine);
> +    Ast2700FCState *s = AST2700FC(machine);
>       AspeedSoCState *psp = ASPEED_SOC(&s->ca35);
>   
>       s->ssp_sysclk = clock_new(OBJECT(s), "SSP_SYSCLK");
> @@ -167,7 +166,7 @@ static bool ast2700fc_ssp_init(MachineState *machine, Error **errp)
>   
>   static bool ast2700fc_tsp_init(MachineState *machine, Error **errp)
>   {
> -    Ast2700FCState *s = AST2700A1FC(machine);
> +    Ast2700FCState *s = AST2700FC(machine);
>       AspeedSoCState *psp = ASPEED_SOC(&s->ca35);
>   
>       s->tsp_sysclk = clock_new(OBJECT(s), "TSP_SYSCLK");
RE: [PATCH v1 09/10] hw/arm/aspeed_ast27x0-fc: Switch AST2700 FC machine to A2 SoC
Posted by Jamin Lin 11 hours ago
Hi Cédric

> Subject: Re: [PATCH v1 09/10] hw/arm/aspeed_ast27x0-fc: Switch AST2700 FC
> machine to A2 SoC
> 
> On 2/6/26 06:33, Jamin Lin wrote:
> > Update the AST2700 FC machine to use the AST2700 A2 SoC model instead
> > of the A1-specific variant.
> >
> > This change removes A1-specific naming and definitions from the FC
> > machine and aligns it with the newer AST2700 A2 silicon.
> >
> > Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
> > ---
> >   hw/arm/aspeed_ast27x0-fc.c | 15 +++++++--------
> >   1 file changed, 7 insertions(+), 8 deletions(-)
> >
> > diff --git a/hw/arm/aspeed_ast27x0-fc.c b/hw/arm/aspeed_ast27x0-fc.c
> > index 0502a137f3..5eb6680da9 100644
> > --- a/hw/arm/aspeed_ast27x0-fc.c
> > +++ b/hw/arm/aspeed_ast27x0-fc.c
> > @@ -24,8 +24,8 @@
> >   #include "hw/arm/aspeed_coprocessor.h"
> >   #include "hw/arm/machines-qom.h"
> >
> > -#define TYPE_AST2700A1FC MACHINE_TYPE_NAME("ast2700fc")
> > -OBJECT_DECLARE_SIMPLE_TYPE(Ast2700FCState, AST2700A1FC);
> > +#define TYPE_AST2700FC MACHINE_TYPE_NAME("ast2700fc")
> > +OBJECT_DECLARE_SIMPLE_TYPE(Ast2700FCState, AST2700FC);
> >
> >   static struct arm_boot_info ast2700fc_board_info = {
> >       .board_id = -1, /* device-tree-only board */ @@ -48,8 +48,7 @@
> > struct Ast2700FCState {
> >       Aspeed27x0CoprocessorState tsp;
> >   };
> >
> > -#define AST2700FC_BMC_RAM_SIZE (1 * GiB) -#define
> > AST2700FC_CM4_DRAM_SIZE (32 * MiB)
> > +#define AST2700FC_BMC_RAM_SIZE (2 * GiB)
> 
The ast2700a2-evb machine is largely identical to ast2700a1-evb.
The only difference is the default DRAM size, which is increased
to 2 GB. So, I updated the DRAM size to 2GiB.
Should I separate the patch to update the DRAM size?

Thanks,
Jamin
> 
> This is an unrelated change.
> 
> Thanks,
> 
> C.
> 
> >   #define AST2700FC_HW_STRAP1 0x000000C0
> >   #define AST2700FC_HW_STRAP2 0x00000003 @@ -58,7 +57,7 @@ struct
> > Ast2700FCState {
> >
> >   static bool ast2700fc_ca35_init(MachineState *machine, Error **errp)
> >   {
> > -    Ast2700FCState *s = AST2700A1FC(machine);
> > +    Ast2700FCState *s = AST2700FC(machine);
> >       AspeedSoCState *soc;
> >       AspeedSoCClass *sc;
> >       const char *bios_name = NULL;
> > @@ -66,7 +65,7 @@ static bool ast2700fc_ca35_init(MachineState
> *machine, Error **errp)
> >       DeviceState *dev = NULL;
> >       uint64_t rom_size;
> >
> > -    object_initialize_child(OBJECT(s), "ca35", &s->ca35, "ast2700-a1");
> > +    object_initialize_child(OBJECT(s), "ca35", &s->ca35,
> > + "ast2700-a2");
> >       soc = ASPEED_SOC(&s->ca35);
> >       sc = ASPEED_SOC_GET_CLASS(soc);
> >
> > @@ -135,7 +134,7 @@ static bool ast2700fc_ca35_init(MachineState
> > *machine, Error **errp)
> >
> >   static bool ast2700fc_ssp_init(MachineState *machine, Error **errp)
> >   {
> > -    Ast2700FCState *s = AST2700A1FC(machine);
> > +    Ast2700FCState *s = AST2700FC(machine);
> >       AspeedSoCState *psp = ASPEED_SOC(&s->ca35);
> >
> >       s->ssp_sysclk = clock_new(OBJECT(s), "SSP_SYSCLK"); @@ -167,7
> > +166,7 @@ static bool ast2700fc_ssp_init(MachineState *machine, Error
> > **errp)
> >
> >   static bool ast2700fc_tsp_init(MachineState *machine, Error **errp)
> >   {
> > -    Ast2700FCState *s = AST2700A1FC(machine);
> > +    Ast2700FCState *s = AST2700FC(machine);
> >       AspeedSoCState *psp = ASPEED_SOC(&s->ca35);
> >
> >       s->tsp_sysclk = clock_new(OBJECT(s), "TSP_SYSCLK");

Re: [PATCH v1 09/10] hw/arm/aspeed_ast27x0-fc: Switch AST2700 FC machine to A2 SoC
Posted by Cédric Le Goater 7 hours ago
On 2/9/26 03:31, Jamin Lin wrote:
> Hi Cédric
> 
>> Subject: Re: [PATCH v1 09/10] hw/arm/aspeed_ast27x0-fc: Switch AST2700 FC
>> machine to A2 SoC
>>
>> On 2/6/26 06:33, Jamin Lin wrote:
>>> Update the AST2700 FC machine to use the AST2700 A2 SoC model instead
>>> of the A1-specific variant.
>>>
>>> This change removes A1-specific naming and definitions from the FC
>>> machine and aligns it with the newer AST2700 A2 silicon.
>>>
>>> Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
>>> ---
>>>    hw/arm/aspeed_ast27x0-fc.c | 15 +++++++--------
>>>    1 file changed, 7 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/hw/arm/aspeed_ast27x0-fc.c b/hw/arm/aspeed_ast27x0-fc.c
>>> index 0502a137f3..5eb6680da9 100644
>>> --- a/hw/arm/aspeed_ast27x0-fc.c
>>> +++ b/hw/arm/aspeed_ast27x0-fc.c
>>> @@ -24,8 +24,8 @@
>>>    #include "hw/arm/aspeed_coprocessor.h"
>>>    #include "hw/arm/machines-qom.h"
>>>
>>> -#define TYPE_AST2700A1FC MACHINE_TYPE_NAME("ast2700fc")
>>> -OBJECT_DECLARE_SIMPLE_TYPE(Ast2700FCState, AST2700A1FC);
>>> +#define TYPE_AST2700FC MACHINE_TYPE_NAME("ast2700fc")
>>> +OBJECT_DECLARE_SIMPLE_TYPE(Ast2700FCState, AST2700FC);
>>>
>>>    static struct arm_boot_info ast2700fc_board_info = {
>>>        .board_id = -1, /* device-tree-only board */ @@ -48,8 +48,7 @@
>>> struct Ast2700FCState {
>>>        Aspeed27x0CoprocessorState tsp;
>>>    };
>>>
>>> -#define AST2700FC_BMC_RAM_SIZE (1 * GiB) -#define
>>> AST2700FC_CM4_DRAM_SIZE (32 * MiB)
>>> +#define AST2700FC_BMC_RAM_SIZE (2 * GiB)
>>
> The ast2700a2-evb machine is largely identical to ast2700a1-evb.
> The only difference is the default DRAM size, which is increased
> to 2 GB. So, I updated the DRAM size to 2GiB.
> Should I separate the patch to update the DRAM size?

That would be nice.


I let you decide if a Fixes tag is needed.

Thanks,

C.


> 
> Thanks,
> Jamin
>>
>> This is an unrelated change.
>>
>> Thanks,
>>
>> C.
>>
>>>    #define AST2700FC_HW_STRAP1 0x000000C0
>>>    #define AST2700FC_HW_STRAP2 0x00000003 @@ -58,7 +57,7 @@ struct
>>> Ast2700FCState {
>>>
>>>    static bool ast2700fc_ca35_init(MachineState *machine, Error **errp)
>>>    {
>>> -    Ast2700FCState *s = AST2700A1FC(machine);
>>> +    Ast2700FCState *s = AST2700FC(machine);
>>>        AspeedSoCState *soc;
>>>        AspeedSoCClass *sc;
>>>        const char *bios_name = NULL;
>>> @@ -66,7 +65,7 @@ static bool ast2700fc_ca35_init(MachineState
>> *machine, Error **errp)
>>>        DeviceState *dev = NULL;
>>>        uint64_t rom_size;
>>>
>>> -    object_initialize_child(OBJECT(s), "ca35", &s->ca35, "ast2700-a1");
>>> +    object_initialize_child(OBJECT(s), "ca35", &s->ca35,
>>> + "ast2700-a2");
>>>        soc = ASPEED_SOC(&s->ca35);
>>>        sc = ASPEED_SOC_GET_CLASS(soc);
>>>
>>> @@ -135,7 +134,7 @@ static bool ast2700fc_ca35_init(MachineState
>>> *machine, Error **errp)
>>>
>>>    static bool ast2700fc_ssp_init(MachineState *machine, Error **errp)
>>>    {
>>> -    Ast2700FCState *s = AST2700A1FC(machine);
>>> +    Ast2700FCState *s = AST2700FC(machine);
>>>        AspeedSoCState *psp = ASPEED_SOC(&s->ca35);
>>>
>>>        s->ssp_sysclk = clock_new(OBJECT(s), "SSP_SYSCLK"); @@ -167,7
>>> +166,7 @@ static bool ast2700fc_ssp_init(MachineState *machine, Error
>>> **errp)
>>>
>>>    static bool ast2700fc_tsp_init(MachineState *machine, Error **errp)
>>>    {
>>> -    Ast2700FCState *s = AST2700A1FC(machine);
>>> +    Ast2700FCState *s = AST2700FC(machine);
>>>        AspeedSoCState *psp = ASPEED_SOC(&s->ca35);
>>>
>>>        s->tsp_sysclk = clock_new(OBJECT(s), "TSP_SYSCLK");
>