[PATCH v3 0/5] Add Axiado SoC AX3005 and EVB

Kuan-Jui Chiu posted 5 patches 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260825021155.2475879-1-kchiu@axiado.com
Maintainers: Kuan-Jui Chiu <kchiu@axiado.com>, Peter Maydell <peter.maydell@linaro.org>
There is a newer version of this series
MAINTAINERS                                   |   2 +
hw/arm/ax3000-boards.c                        |   4 +-
hw/arm/ax3000-evk.c                           |   4 +-
hw/arm/ax3000-soc.c                           |   4 +-
hw/arm/ax3005-evk.c                           |  55 +++++
hw/arm/ax3005-soc.c                           | 225 ++++++++++++++++++
hw/arm/meson.build                            |   6 +-
include/hw/arm/ax3005-soc.h                   | 102 ++++++++
.../arm/{ax3000-boards.h => axiado-boards.h}  |  10 +
include/hw/sd/axiado_sdhci.h                  |   5 +
10 files changed, 409 insertions(+), 8 deletions(-)
create mode 100644 hw/arm/ax3005-evk.c
create mode 100644 hw/arm/ax3005-soc.c
create mode 100644 include/hw/arm/ax3005-soc.h
rename include/hw/arm/{ax3000-boards.h => axiado-boards.h} (69%)
[PATCH v3 0/5] Add Axiado SoC AX3005 and EVB
Posted by Kuan-Jui Chiu 1 month ago
This patchset introduces Axiado SoC AX3005 and evaluation board for emulation
The model for Axiado SoC AX3005 supports
  4 Cortex-A53 CPUs
  Arm Generic Interrupt Controller v3
  9 Cadence UARTs
  1 SDHCI controller with PHY
  8 Cadence GPIOs

Refer Axiado website for more product information
https://axiado.com/products/

and minor changes for the compatibility with existing AX3000 SoC model

Test plan:
1. Verified the machine "ax3005-evb" with following command

qemu-system-aarch64 \
    -m 2G \
    -machine ax3005-evb \
    -device loader,file=bl31.bin,addr=0x88300000 \
    -device loader,file=tee-raw.bin,addr=0x88400000 \
    -device loader,file=u-boot.bin,addr=0x80000000 \
    -device loader,file=fitImage,addr=0x80100000 \
    -device loader,file=obmc-phosphor-image-evk-ax3005-qemu.squashfs-xz,addr=0x80B00000 \
    -device loader,cpu-num=0,addr=0x88300000 \
    -device loader,cpu-num=1,addr=0x88300000 \
    -device loader,cpu-num=2,addr=0x88300000 \
    -device loader,cpu-num=3,addr=0x88300000 \
    -nographic \
    -serial null \
    -serial null \
    -serial null \
    -serial mon:stdio \
    -drive if=sd,file=obmc-phosphor-image-evk-ax3005-qemu.wic,format=raw

2. Run QEMU test suite
make check
Ok:                331
Fail:              0
Skipped:           17

make check-functional
Ok:                28
Fail:              0
Skipped:           7

Changes in v3:
  1. Remove patch "hw/arm/ax3000-soc: Add missing class_size to TypeInfo" 
     because it was fixed by commit 4f50d637e2
     ("hw/arm/ax3000-soc: fix heap overflow from missing class_size")

Changes in v2:
  1. Add patch "hw/arm/ax3000-soc: Add missing class_size to TypeInfo" 
     to fix incorrect class size
  2. Add missing class_size "Ax3005SoCClass" to ax3005_soc_types

Kuan-Jui Chiu (5):
  hw/sd/axiado_sdhci: Add header guard
  hw/arm: Rename ax3000-boards as axiado-boards
  hw/arm/ax3000: Specify SoC name in header and variable
  hw/arm: Add Axiado SoC AX3005
  hw/arm: Add Axiado Ax3005 EVB

 MAINTAINERS                                   |   2 +
 hw/arm/ax3000-boards.c                        |   4 +-
 hw/arm/ax3000-evk.c                           |   4 +-
 hw/arm/ax3000-soc.c                           |   4 +-
 hw/arm/ax3005-evk.c                           |  55 +++++
 hw/arm/ax3005-soc.c                           | 225 ++++++++++++++++++
 hw/arm/meson.build                            |   6 +-
 include/hw/arm/ax3005-soc.h                   | 102 ++++++++
 .../arm/{ax3000-boards.h => axiado-boards.h}  |  10 +
 include/hw/sd/axiado_sdhci.h                  |   5 +
 10 files changed, 409 insertions(+), 8 deletions(-)
 create mode 100644 hw/arm/ax3005-evk.c
 create mode 100644 hw/arm/ax3005-soc.c
 create mode 100644 include/hw/arm/ax3005-soc.h
 rename include/hw/arm/{ax3000-boards.h => axiado-boards.h} (69%)

-- 
2.34.1
Re: [PATCH v3 0/5] Add Axiado SoC AX3005 and EVB
Posted by Jack Wang 1 month ago
Hi Kuan-Jui,

Cheers for the v3, that was a really quick update!

The basic tests passed on my local machine, and I will look through each patch carefully next. I'm not sure if I'm qualified enough to give Reviewed-by or Tested-by tags yet. Anyway, if anything I do during the review is inappropriate, please just let me know.

I checked the https://axiado.com/products/ link you mentioned, but didn't find the critical info I needed. I googled for the AX3005 datasheet but not much useful infomation. AI tell me it's not public.emmm.. If you could offer me some key hardware information for the QEMU modeling, that would be much better.

Also, since you asked for my commands before, if I find any problems, I will attach the exact commands I used in the email to help identify the bug. I am testing on my Mac now, so please contact me if you have any trouble reproducing the issues.

Best regards, : )

JW..

> On Mon, 24 Aug 2026 19:11:50 -0700, Kuan-Jui Chiu <kchiu@axiado.com> wrote:
> This patchset introduces Axiado SoC AX3005 and evaluation board for emulation
> The model for Axiado SoC AX3005 supports
>  4 Cortex-A53 CPUs
>  Arm Generic Interrupt Controller v3
>  9 Cadence UARTs
>  1 SDHCI controller with PHY
>  8 Cadence GPIOs
> 
> Refer Axiado website for more product information
> https://axiado.com/products/
> 
> and minor changes for the compatibility with existing AX3000 SoC model
> 
> Test plan:
> 1. Verified the machine "ax3005-evb" with following command
> 
> qemu-system-aarch64 \
>    -m 2G \
>    -machine ax3005-evb \
>    -device loader,file=bl31.bin,addr=0x88300000 \
>    -device loader,file=tee-raw.bin,addr=0x88400000 \
>    -device loader,file=u-boot.bin,addr=0x80000000 \
>    -device loader,file=fitImage,addr=0x80100000 \
>    -device loader,file=obmc-phosphor-image-evk-ax3005-qemu.squashfs-xz,addr=0x80B00000 \
>    -device loader,cpu-num=0,addr=0x88300000 \
>    -device loader,cpu-num=1,addr=0x88300000 \
>    -device loader,cpu-num=2,addr=0x88300000 \
>    -device loader,cpu-num=3,addr=0x88300000 \
>    -nographic \
>    -serial null \
>    -serial null \
>    -serial null \
>    -serial mon:stdio \
>    -drive if=sd,file=obmc-phosphor-image-evk-ax3005-qemu.wic,format=raw
> 
> 2. Run QEMU test suite
> make check
> Ok:                331
> Fail:              0
> Skipped:           17
> 
> make check-functional
> Ok:                28
> Fail:              0
> Skipped:           7
> 
> Changes in v3:
>  1. Remove patch "hw/arm/ax3000-soc: Add missing class_size to TypeInfo" 
>     because it was fixed by commit 4f50d637e2
>     ("hw/arm/ax3000-soc: fix heap overflow from missing class_size")
> 
> Changes in v2:
>  1. Add patch "hw/arm/ax3000-soc: Add missing class_size to TypeInfo" 
>     to fix incorrect class size
>  2. Add missing class_size "Ax3005SoCClass" to ax3005_soc_types
> 
> Kuan-Jui Chiu (5):
>  hw/sd/axiado_sdhci: Add header guard
>  hw/arm: Rename ax3000-boards as axiado-boards
>  hw/arm/ax3000: Specify SoC name in header and variable
>  hw/arm: Add Axiado SoC AX3005
>  hw/arm: Add Axiado Ax3005 EVB
> 
> MAINTAINERS                                   |   2 +
> hw/arm/ax3000-boards.c                        |   4 +-
> hw/arm/ax3000-evk.c                           |   4 +-
> hw/arm/ax3000-soc.c                           |   4 +-
> hw/arm/ax3005-evk.c                           |  55 +++++
> hw/arm/ax3005-soc.c                           | 225 ++++++++++++++++++
> hw/arm/meson.build                            |   6 +-
> include/hw/arm/ax3005-soc.h                   | 102 ++++++++
> .../arm/{ax3000-boards.h => axiado-boards.h}  |  10 +
> include/hw/sd/axiado_sdhci.h                  |   5 +
> 10 files changed, 409 insertions(+), 8 deletions(-)
> create mode 100644 hw/arm/ax3005-evk.c
> create mode 100644 hw/arm/ax3005-soc.c
> create mode 100644 include/hw/arm/ax3005-soc.h
> rename include/hw/arm/{ax3000-boards.h => axiado-boards.h} (69%)
> 
> -- 
> 2.34.1
> 
> 
> 
> 
Re: [PATCH v3 0/5] Add Axiado SoC AX3005 and EVB
Posted by Kuan-Jui Chiu 1 month ago
Hi Jack

Sorry that I can't provide the datasheet due to the company policy

I can only share about the SoC specification in cover letter and use the 
existing QEMU models like Axiado SDHCI and Cadence GPIO


I never enabled QMP before but you are right on this missing class 
problem. I am studying for how to use QMP right now.


B.R.

Howard

Jack Wang 於 2026/8/25 下午 01:52 寫道:
> CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
>
> Hi Kuan-Jui,
>
> Cheers for the v3, that was a really quick update!
>
> The basic tests passed on my local machine, and I will look through each patch carefully next. I'm not sure if I'm qualified enough to give Reviewed-by or Tested-by tags yet. Anyway, if anything I do during the review is inappropriate, please just let me know.
>
> I checked the https://axiado.com/products/ link you mentioned, but didn't find the critical info I needed. I googled for the AX3005 datasheet but not much useful infomation. AI tell me it's not public.emmm.. If you could offer me some key hardware information for the QEMU modeling, that would be much better.
>
> Also, since you asked for my commands before, if I find any problems, I will attach the exact commands I used in the email to help identify the bug. I am testing on my Mac now, so please contact me if you have any trouble reproducing the issues.
>
> Best regards, : )
>
> JW..
>
>> On Mon, 24 Aug 2026 19:11:50 -0700, Kuan-Jui Chiu <kchiu@axiado.com> wrote:
>> This patchset introduces Axiado SoC AX3005 and evaluation board for emulation
>> The model for Axiado SoC AX3005 supports
>>   4 Cortex-A53 CPUs
>>   Arm Generic Interrupt Controller v3
>>   9 Cadence UARTs
>>   1 SDHCI controller with PHY
>>   8 Cadence GPIOs
>>
>> Refer Axiado website for more product information
>> https://axiado.com/products/
>>
>> and minor changes for the compatibility with existing AX3000 SoC model
>>
>> Test plan:
>> 1. Verified the machine "ax3005-evb" with following command
>>
>> qemu-system-aarch64 \
>>     -m 2G \
>>     -machine ax3005-evb \
>>     -device loader,file=bl31.bin,addr=0x88300000 \
>>     -device loader,file=tee-raw.bin,addr=0x88400000 \
>>     -device loader,file=u-boot.bin,addr=0x80000000 \
>>     -device loader,file=fitImage,addr=0x80100000 \
>>     -device loader,file=obmc-phosphor-image-evk-ax3005-qemu.squashfs-xz,addr=0x80B00000 \
>>     -device loader,cpu-num=0,addr=0x88300000 \
>>     -device loader,cpu-num=1,addr=0x88300000 \
>>     -device loader,cpu-num=2,addr=0x88300000 \
>>     -device loader,cpu-num=3,addr=0x88300000 \
>>     -nographic \
>>     -serial null \
>>     -serial null \
>>     -serial null \
>>     -serial mon:stdio \
>>     -drive if=sd,file=obmc-phosphor-image-evk-ax3005-qemu.wic,format=raw
>>
>> 2. Run QEMU test suite
>> make check
>> Ok:                331
>> Fail:              0
>> Skipped:           17
>>
>> make check-functional
>> Ok:                28
>> Fail:              0
>> Skipped:           7
>>
>> Changes in v3:
>>   1. Remove patch "hw/arm/ax3000-soc: Add missing class_size to TypeInfo"
>>      because it was fixed by commit 4f50d637e2
>>      ("hw/arm/ax3000-soc: fix heap overflow from missing class_size")
>>
>> Changes in v2:
>>   1. Add patch "hw/arm/ax3000-soc: Add missing class_size to TypeInfo"
>>      to fix incorrect class size
>>   2. Add missing class_size "Ax3005SoCClass" to ax3005_soc_types
>>
>> Kuan-Jui Chiu (5):
>>   hw/sd/axiado_sdhci: Add header guard
>>   hw/arm: Rename ax3000-boards as axiado-boards
>>   hw/arm/ax3000: Specify SoC name in header and variable
>>   hw/arm: Add Axiado SoC AX3005
>>   hw/arm: Add Axiado Ax3005 EVB
>>
>> MAINTAINERS                                   |   2 +
>> hw/arm/ax3000-boards.c                        |   4 +-
>> hw/arm/ax3000-evk.c                           |   4 +-
>> hw/arm/ax3000-soc.c                           |   4 +-
>> hw/arm/ax3005-evk.c                           |  55 +++++
>> hw/arm/ax3005-soc.c                           | 225 ++++++++++++++++++
>> hw/arm/meson.build                            |   6 +-
>> include/hw/arm/ax3005-soc.h                   | 102 ++++++++
>> .../arm/{ax3000-boards.h => axiado-boards.h}  |  10 +
>> include/hw/sd/axiado_sdhci.h                  |   5 +
>> 10 files changed, 409 insertions(+), 8 deletions(-)
>> create mode 100644 hw/arm/ax3005-evk.c
>> create mode 100644 hw/arm/ax3005-soc.c
>> create mode 100644 include/hw/arm/ax3005-soc.h
>> rename include/hw/arm/{ax3000-boards.h => axiado-boards.h} (69%)
>>
>> --
>> 2.34.1
>>
>>
>>
>>

Re: [PATCH v3 0/5] Add Axiado SoC AX3005 and EVB
Posted by Jack Wang 1 month ago
Understand.
I still need some basic info for confirmation.What the is mmio window size for each uart? Is it designed to be overlapped.Do all UART instances use the same register layout and window size?

Thanks 
JW..
> On Tue, 25 Aug 2026 14:07:07 +0800, Kuan-Jui Chiu <kchiu@axiado.com> wrote:
> Hi Jack
> 
> Sorry that I can't provide the datasheet due to the company policy
> 
> I can only share about the SoC specification in cover letter and use the 
> existing QEMU models like Axiado SDHCI and Cadence GPIO
> 
> 
> I never enabled QMP before but you are right on this missing class 
> problem. I am studying for how to use QMP right now.
> 
> 
> B.R.
> 
> Howard
> 
> Jack Wang 於 2026/8/25 下午 01:52 寫道:
> 
> 

>> On Tue, 25 Aug 2026 13:52:51 +0800, Jack Wang <163wangjack@gmail.com <mailto:163wangjack@gmail.com>> wrote:
>> Hi Kuan-Jui,
>> 
>> Cheers for the v3, that was a really quick update!
>> 
>> The basic tests passed on my local machine, and I will look through each patch carefully next. I'm not sure if I'm qualified enough to give Reviewed-by or Tested-by tags yet. Anyway, if anything I do during the review is inappropriate, please just let me know.
>> 
>> I checked the https://axiado.com/products/ link you mentioned, but didn't find the critical info I needed. I googled for the AX3005 datasheet but not much useful infomation. AI tell me it's not public.emmm.. If you could offer me some key hardware information for the QEMU modeling, that would be much better.
>> 
>> Also, since you asked for my commands before, if I find any problems, I will attach the exact commands I used in the email to help identify the bug. I am testing on my Mac now, so please contact me if you have any trouble reproducing the issues.
>> 
>> Best regards, : )
>> 
>> JW..
Re: [PATCH v3 0/5] Add Axiado SoC AX3005 and EVB
Posted by Kuan-Jui Chiu 1 month ago
Hi Jack

Jack Wang 於 2026/8/25 下午 04:00 寫道:
> CAUTION: This email originated from outside of the organization. Do 
> not click links or open attachments unless you recognize the sender 
> and know the content is safe.
>
> Understand.
> I still need some basic info for confirmation.What the is mmio window 
> size for each uart? Is it designed to be overlapped.Do all UART 
> instances use the same register layout and window size?
>
Yes, each of UART on Ax3005 SoC is using the same window size with 256 bytes

I checked the Cadence UART model, it reserved the 4KB statically so that 
is why it is overlapped in QEMU

> Thanks
> JW..
>> On Tue, 25 Aug 2026 14:07:07 +0800, Kuan-Jui Chiu <kchiu@axiado.com> 
>> wrote:
>> Hi Jack
>>
>> Sorry that I can't provide the datasheet due to the company policy
>>
>> I can only share about the SoC specification in cover letter and use the
>> existing QEMU models like Axiado SDHCI and Cadence GPIO
>>
>>
>> I never enabled QMP before but you are right on this missing class
>> problem. I am studying for how to use QMP right now.
>>
>>
>> B.R.
>>
>> Howard
>>
>> Jack Wang 於 2026/8/25 下午 01:52 寫道:
>>
>>
>
>>> On Tue, 25 Aug 2026 13:52:51 +0800, Jack Wang 
>>> <163wangjack@gmail.com> wrote:
>>> Hi Kuan-Jui,
>>>
>>> Cheers for the v3, that was a really quick update!
>>>
>>> The basic tests passed on my local machine, and I will look through 
>>> each patch carefully next. I'm not sure if I'm qualified enough to 
>>> give Reviewed-by or Tested-by tags yet. Anyway, if anything I do 
>>> during the review is inappropriate, please just let me know.
>>>
>>> I checked thehttps://axiado.com/products/link you mentioned, but 
>>> didn't find the critical info I needed. I googled for the AX3005 
>>> datasheet but not much useful infomation. AI tell me it's not 
>>> public.emmm.. If you could offer me some key hardware information 
>>> for the QEMU modeling, that would be much better.
>>>
>>> Also, since you asked for my commands before, if I find any 
>>> problems, I will attach the exact commands I used in the email to 
>>> help identify the bug. I am testing on my Mac now, so please contact 
>>> me if you have any trouble reproducing the issues.
>>>
>>> Best regards, : )
>>>
>>> JW..