mbox series

[v4,00/16] Add AST2700 support

Message ID 20240527080231.1576609-1-jamin_lin@aspeedtech.com (mailing list archive)
Headers show
Series Add AST2700 support | expand

Message

Jamin Lin May 27, 2024, 8:02 a.m. UTC
Changes from v1:
The patch series supports WDT, SDMC, SMC, SCU, SLI and INTC for AST2700 SoC.

Changes from v2:
- replace is_aarch64 with is_bus64bit for sdmc patch review.
- fix incorrect dram size for AST2700

Changes from v3:
- Add AST2700 Evaluation board in ASPEED document
- Add avocado test cases for AST2700 Evaluation board
- Fix reviewers review issues and add reviewers suggestions
- Implement INTC model GICINT 128 to GICINT136 for AST2700

Changes from v4:
- support 64 bits dma dram address associated with review issues
- support dma start length and 1 byte length unit associated with review issues
- refactor intc model to fix serial console stuck issue and associated with review issues

Test Version:
https://github.com/qemu/qemu/commit/0c2a3807483b4ebe360cfa475dbfc9dfd2f6d16d

Test steps:
1. Download the latest openbmc image for AST2700 from AspeedTech-BMC/openbmc
   repository, https://github.com/AspeedTech-BMC/openbmc/releases/tag/v09.01
   link: https://github.com/AspeedTech-BMC/openbmc/releases/download/v09.01/ast2700-default-obmc.tar.gz
2. untar ast2700-default-obmc.tar.gz
   ```
   tar -xf ast2700-default-obmc.tar.gz
   ```
3. Run and the contents of scripts as following
IMGDIR=ast2700-default
UBOOT_SIZE=$(stat --format=%s -L ${IMGDIR}/u-boot-nodtb.bin)
UBOOT_DTB_ADDR=$((0x400000000 + ${UBOOT_SIZE}))

qemu-system-aarch64 -M ast2700-evb -nographic\
 -device loader,addr=0x400000000,file=${IMGDIR}/u-boot-nodtb.bin,force-raw=on\
 -device loader,addr=${UBOOT_DTB_ADDR},file=${IMGDIR}/u-boot.dtb,force-raw=on\
 -device loader,addr=0x430000000,file=${IMGDIR}/bl31.bin,force-raw=on\
 -device loader,addr=0x430080000,file=${IMGDIR}/optee/tee-raw.bin,force-raw=on\
 -device loader,addr=0x430000000,cpu-num=0\
 -device loader,addr=0x430000000,cpu-num=1\
 -device loader,addr=0x430000000,cpu-num=2\
 -device loader,addr=0x430000000,cpu-num=3\
 -smp 4\
 -drive file=${IMGDIR}/image-bmc,format=raw,if=mtd\
 -serial mon:stdio\
 -snapshot

Jamin Lin (16):
  aspeed/wdt: Add AST2700 support
  aspeed/sli: Add AST2700 support
  aspeed/sdmc: remove redundant macros
  aspeed/sdmc: fix coding style
  aspeed/sdmc: Add AST2700 support
  aspeed/smc: correct device description
  aspeed/smc: support dma start length and 1 byte length unit
  aspeed/smc: support 64 bits dma dram address
  aspeed/smc: Add AST2700 support
  aspeed/scu: Add AST2700 support
  aspeed/intc: Add AST2700 support
  aspeed/soc: Add AST2700 support
  aspeed: Add an AST2700 eval board
  aspeed/soc: fix incorrect dram size for AST2700
  test/avocado/machine_aspeed.py: Add AST2700 test case
  docs:aspeed: Add AST2700 Evaluation board

 docs/system/arm/aspeed.rst       |  39 +-
 hw/arm/aspeed.c                  |  32 ++
 hw/arm/aspeed_ast27x0.c          | 655 +++++++++++++++++++++++++++++++
 hw/arm/meson.build               |   1 +
 hw/intc/aspeed_intc.c            | 355 +++++++++++++++++
 hw/intc/meson.build              |   1 +
 hw/intc/trace-events             |   6 +
 hw/misc/aspeed_scu.c             | 306 ++++++++++++++-
 hw/misc/aspeed_sdmc.c            | 216 +++++++++-
 hw/misc/aspeed_sli.c             | 177 +++++++++
 hw/misc/meson.build              |   3 +-
 hw/misc/trace-events             |  11 +
 hw/ssi/aspeed_smc.c              | 321 ++++++++++++++-
 hw/ssi/trace-events              |   2 +-
 hw/watchdog/wdt_aspeed.c         |  24 ++
 include/hw/arm/aspeed_soc.h      |  27 +-
 include/hw/intc/aspeed_intc.h    |  46 +++
 include/hw/misc/aspeed_scu.h     |  47 ++-
 include/hw/misc/aspeed_sdmc.h    |   5 +-
 include/hw/misc/aspeed_sli.h     |  27 ++
 include/hw/ssi/aspeed_smc.h      |   2 +
 include/hw/watchdog/wdt_aspeed.h |   3 +-
 tests/avocado/machine_aspeed.py  |  62 +++
 23 files changed, 2312 insertions(+), 56 deletions(-)
 create mode 100644 hw/arm/aspeed_ast27x0.c
 create mode 100644 hw/intc/aspeed_intc.c
 create mode 100644 hw/misc/aspeed_sli.c
 create mode 100644 include/hw/intc/aspeed_intc.h
 create mode 100644 include/hw/misc/aspeed_sli.h

Comments

Cédric Le Goater May 28, 2024, 9:56 a.m. UTC | #1
Jamin,

I think you should add your self as a Reviewer to the ASPEED BMCs
machine in the MAINTAINERS files. Would you agree ?

Thanks,

C.



On 5/27/24 10:02, Jamin Lin wrote:
> Changes from v1:
> The patch series supports WDT, SDMC, SMC, SCU, SLI and INTC for AST2700 SoC.
> 
> Changes from v2:
> - replace is_aarch64 with is_bus64bit for sdmc patch review.
> - fix incorrect dram size for AST2700
> 
> Changes from v3:
> - Add AST2700 Evaluation board in ASPEED document
> - Add avocado test cases for AST2700 Evaluation board
> - Fix reviewers review issues and add reviewers suggestions
> - Implement INTC model GICINT 128 to GICINT136 for AST2700
> 
> Changes from v4:
> - support 64 bits dma dram address associated with review issues
> - support dma start length and 1 byte length unit associated with review issues
> - refactor intc model to fix serial console stuck issue and associated with review issues
> 
> Test Version:
> https://github.com/qemu/qemu/commit/0c2a3807483b4ebe360cfa475dbfc9dfd2f6d16d
> 
> Test steps:
> 1. Download the latest openbmc image for AST2700 from AspeedTech-BMC/openbmc
>     repository, https://github.com/AspeedTech-BMC/openbmc/releases/tag/v09.01
>     link: https://github.com/AspeedTech-BMC/openbmc/releases/download/v09.01/ast2700-default-obmc.tar.gz
> 2. untar ast2700-default-obmc.tar.gz
>     ```
>     tar -xf ast2700-default-obmc.tar.gz
>     ```
> 3. Run and the contents of scripts as following
> IMGDIR=ast2700-default
> UBOOT_SIZE=$(stat --format=%s -L ${IMGDIR}/u-boot-nodtb.bin)
> UBOOT_DTB_ADDR=$((0x400000000 + ${UBOOT_SIZE}))
> 
> qemu-system-aarch64 -M ast2700-evb -nographic\
>   -device loader,addr=0x400000000,file=${IMGDIR}/u-boot-nodtb.bin,force-raw=on\
>   -device loader,addr=${UBOOT_DTB_ADDR},file=${IMGDIR}/u-boot.dtb,force-raw=on\
>   -device loader,addr=0x430000000,file=${IMGDIR}/bl31.bin,force-raw=on\
>   -device loader,addr=0x430080000,file=${IMGDIR}/optee/tee-raw.bin,force-raw=on\
>   -device loader,addr=0x430000000,cpu-num=0\
>   -device loader,addr=0x430000000,cpu-num=1\
>   -device loader,addr=0x430000000,cpu-num=2\
>   -device loader,addr=0x430000000,cpu-num=3\
>   -smp 4\
>   -drive file=${IMGDIR}/image-bmc,format=raw,if=mtd\
>   -serial mon:stdio\
>   -snapshot
> 
> Jamin Lin (16):
>    aspeed/wdt: Add AST2700 support
>    aspeed/sli: Add AST2700 support
>    aspeed/sdmc: remove redundant macros
>    aspeed/sdmc: fix coding style
>    aspeed/sdmc: Add AST2700 support
>    aspeed/smc: correct device description
>    aspeed/smc: support dma start length and 1 byte length unit
>    aspeed/smc: support 64 bits dma dram address
>    aspeed/smc: Add AST2700 support
>    aspeed/scu: Add AST2700 support
>    aspeed/intc: Add AST2700 support
>    aspeed/soc: Add AST2700 support
>    aspeed: Add an AST2700 eval board
>    aspeed/soc: fix incorrect dram size for AST2700
>    test/avocado/machine_aspeed.py: Add AST2700 test case
>    docs:aspeed: Add AST2700 Evaluation board
> 
>   docs/system/arm/aspeed.rst       |  39 +-
>   hw/arm/aspeed.c                  |  32 ++
>   hw/arm/aspeed_ast27x0.c          | 655 +++++++++++++++++++++++++++++++
>   hw/arm/meson.build               |   1 +
>   hw/intc/aspeed_intc.c            | 355 +++++++++++++++++
>   hw/intc/meson.build              |   1 +
>   hw/intc/trace-events             |   6 +
>   hw/misc/aspeed_scu.c             | 306 ++++++++++++++-
>   hw/misc/aspeed_sdmc.c            | 216 +++++++++-
>   hw/misc/aspeed_sli.c             | 177 +++++++++
>   hw/misc/meson.build              |   3 +-
>   hw/misc/trace-events             |  11 +
>   hw/ssi/aspeed_smc.c              | 321 ++++++++++++++-
>   hw/ssi/trace-events              |   2 +-
>   hw/watchdog/wdt_aspeed.c         |  24 ++
>   include/hw/arm/aspeed_soc.h      |  27 +-
>   include/hw/intc/aspeed_intc.h    |  46 +++
>   include/hw/misc/aspeed_scu.h     |  47 ++-
>   include/hw/misc/aspeed_sdmc.h    |   5 +-
>   include/hw/misc/aspeed_sli.h     |  27 ++
>   include/hw/ssi/aspeed_smc.h      |   2 +
>   include/hw/watchdog/wdt_aspeed.h |   3 +-
>   tests/avocado/machine_aspeed.py  |  62 +++
>   23 files changed, 2312 insertions(+), 56 deletions(-)
>   create mode 100644 hw/arm/aspeed_ast27x0.c
>   create mode 100644 hw/intc/aspeed_intc.c
>   create mode 100644 hw/misc/aspeed_sli.c
>   create mode 100644 include/hw/intc/aspeed_intc.h
>   create mode 100644 include/hw/misc/aspeed_sli.h
>
Jamin Lin May 28, 2024, 10:02 a.m. UTC | #2
Hi Cedric,

> -----Original Message-----
> From: Cédric Le Goater <clg@kaod.org>
> Sent: Tuesday, May 28, 2024 5:56 PM
> To: Jamin Lin <jamin_lin@aspeedtech.com>; Peter Maydell
> <peter.maydell@linaro.org>; Andrew Jeffery <andrew@codeconstruct.com.au>;
> Joel Stanley <joel@jms.id.au>; Alistair Francis <alistair@alistair23.me>; Cleber
> Rosa <crosa@redhat.com>; Philippe Mathieu-Daudé <philmd@linaro.org>;
> Wainer dos Santos Moschetta <wainersm@redhat.com>; Beraldo Leal
> <bleal@redhat.com>; open list:ASPEED BMCs <qemu-arm@nongnu.org>; open
> list:All patches CC here <qemu-devel@nongnu.org>
> Cc: Troy Lee <troy_lee@aspeedtech.com>; Yunlin Tang
> <yunlin.tang@aspeedtech.com>
> Subject: Re: [PATCH v4 00/16] Add AST2700 support
> 
> Jamin,
> 
> I think you should add your self as a Reviewer to the ASPEED BMCs machine in
> the MAINTAINERS files. Would you agree ?
> 
Agree.

Could you please add me, Troy and Steven in the MAINTAINERS files?
steven_lee@aspeedtech.com
troy_lee@aspeedtech.com
jamin_lin@aspeedtech.com

Thanks-Jamin

> Thanks,
> 
> C.
> 
> 
> 
> On 5/27/24 10:02, Jamin Lin wrote:
> > Changes from v1:
> > The patch series supports WDT, SDMC, SMC, SCU, SLI and INTC for AST2700
> SoC.
> >
> > Changes from v2:
> > - replace is_aarch64 with is_bus64bit for sdmc patch review.
> > - fix incorrect dram size for AST2700
> >
> > Changes from v3:
> > - Add AST2700 Evaluation board in ASPEED document
> > - Add avocado test cases for AST2700 Evaluation board
> > - Fix reviewers review issues and add reviewers suggestions
> > - Implement INTC model GICINT 128 to GICINT136 for AST2700
> >
> > Changes from v4:
> > - support 64 bits dma dram address associated with review issues
> > - support dma start length and 1 byte length unit associated with
> > review issues
> > - refactor intc model to fix serial console stuck issue and associated
> > with review issues
> >
> > Test Version:
> >
> https://github.com/qemu/qemu/commit/0c2a3807483b4ebe360cfa475dbfc9df
> d2
> > f6d16d
> >
> > Test steps:
> > 1. Download the latest openbmc image for AST2700 from
> AspeedTech-BMC/openbmc
> >     repository,
> https://github.com/AspeedTech-BMC/openbmc/releases/tag/v09.01
> >     link:
> >
> https://github.com/AspeedTech-BMC/openbmc/releases/download/v09.01/ast
> > 2700-default-obmc.tar.gz
> > 2. untar ast2700-default-obmc.tar.gz
> >     ```
> >     tar -xf ast2700-default-obmc.tar.gz
> >     ```
> > 3. Run and the contents of scripts as following IMGDIR=ast2700-default
> > UBOOT_SIZE=$(stat --format=%s -L ${IMGDIR}/u-boot-nodtb.bin)
> > UBOOT_DTB_ADDR=$((0x400000000 + ${UBOOT_SIZE}))
> >
> > qemu-system-aarch64 -M ast2700-evb -nographic\
> >   -device
> loader,addr=0x400000000,file=${IMGDIR}/u-boot-nodtb.bin,force-raw=on\
> >   -device
> loader,addr=${UBOOT_DTB_ADDR},file=${IMGDIR}/u-boot.dtb,force-raw=on\
> >   -device loader,addr=0x430000000,file=${IMGDIR}/bl31.bin,force-raw=on\
> >   -device
> loader,addr=0x430080000,file=${IMGDIR}/optee/tee-raw.bin,force-raw=on\
> >   -device loader,addr=0x430000000,cpu-num=0\
> >   -device loader,addr=0x430000000,cpu-num=1\
> >   -device loader,addr=0x430000000,cpu-num=2\
> >   -device loader,addr=0x430000000,cpu-num=3\
> >   -smp 4\
> >   -drive file=${IMGDIR}/image-bmc,format=raw,if=mtd\
> >   -serial mon:stdio\
> >   -snapshot
> >
> > Jamin Lin (16):
> >    aspeed/wdt: Add AST2700 support
> >    aspeed/sli: Add AST2700 support
> >    aspeed/sdmc: remove redundant macros
> >    aspeed/sdmc: fix coding style
> >    aspeed/sdmc: Add AST2700 support
> >    aspeed/smc: correct device description
> >    aspeed/smc: support dma start length and 1 byte length unit
> >    aspeed/smc: support 64 bits dma dram address
> >    aspeed/smc: Add AST2700 support
> >    aspeed/scu: Add AST2700 support
> >    aspeed/intc: Add AST2700 support
> >    aspeed/soc: Add AST2700 support
> >    aspeed: Add an AST2700 eval board
> >    aspeed/soc: fix incorrect dram size for AST2700
> >    test/avocado/machine_aspeed.py: Add AST2700 test case
> >    docs:aspeed: Add AST2700 Evaluation board
> >
> >   docs/system/arm/aspeed.rst       |  39 +-
> >   hw/arm/aspeed.c                  |  32 ++
> >   hw/arm/aspeed_ast27x0.c          | 655
> +++++++++++++++++++++++++++++++
> >   hw/arm/meson.build               |   1 +
> >   hw/intc/aspeed_intc.c            | 355 +++++++++++++++++
> >   hw/intc/meson.build              |   1 +
> >   hw/intc/trace-events             |   6 +
> >   hw/misc/aspeed_scu.c             | 306 ++++++++++++++-
> >   hw/misc/aspeed_sdmc.c            | 216 +++++++++-
> >   hw/misc/aspeed_sli.c             | 177 +++++++++
> >   hw/misc/meson.build              |   3 +-
> >   hw/misc/trace-events             |  11 +
> >   hw/ssi/aspeed_smc.c              | 321 ++++++++++++++-
> >   hw/ssi/trace-events              |   2 +-
> >   hw/watchdog/wdt_aspeed.c         |  24 ++
> >   include/hw/arm/aspeed_soc.h      |  27 +-
> >   include/hw/intc/aspeed_intc.h    |  46 +++
> >   include/hw/misc/aspeed_scu.h     |  47 ++-
> >   include/hw/misc/aspeed_sdmc.h    |   5 +-
> >   include/hw/misc/aspeed_sli.h     |  27 ++
> >   include/hw/ssi/aspeed_smc.h      |   2 +
> >   include/hw/watchdog/wdt_aspeed.h |   3 +-
> >   tests/avocado/machine_aspeed.py  |  62 +++
> >   23 files changed, 2312 insertions(+), 56 deletions(-)
> >   create mode 100644 hw/arm/aspeed_ast27x0.c
> >   create mode 100644 hw/intc/aspeed_intc.c
> >   create mode 100644 hw/misc/aspeed_sli.c
> >   create mode 100644 include/hw/intc/aspeed_intc.h
> >   create mode 100644 include/hw/misc/aspeed_sli.h
> >
Cédric Le Goater May 28, 2024, 10:14 a.m. UTC | #3
On 5/28/24 12:02, Jamin Lin wrote:
> Hi Cedric,
> 
>> -----Original Message-----
>> From: Cédric Le Goater <clg@kaod.org>
>> Sent: Tuesday, May 28, 2024 5:56 PM
>> To: Jamin Lin <jamin_lin@aspeedtech.com>; Peter Maydell
>> <peter.maydell@linaro.org>; Andrew Jeffery <andrew@codeconstruct.com.au>;
>> Joel Stanley <joel@jms.id.au>; Alistair Francis <alistair@alistair23.me>; Cleber
>> Rosa <crosa@redhat.com>; Philippe Mathieu-Daudé <philmd@linaro.org>;
>> Wainer dos Santos Moschetta <wainersm@redhat.com>; Beraldo Leal
>> <bleal@redhat.com>; open list:ASPEED BMCs <qemu-arm@nongnu.org>; open
>> list:All patches CC here <qemu-devel@nongnu.org>
>> Cc: Troy Lee <troy_lee@aspeedtech.com>; Yunlin Tang
>> <yunlin.tang@aspeedtech.com>
>> Subject: Re: [PATCH v4 00/16] Add AST2700 support
>>
>> Jamin,
>>
>> I think you should add your self as a Reviewer to the ASPEED BMCs machine in
>> the MAINTAINERS files. Would you agree ?
>>
> Agree.
> 
> Could you please add me, Troy and Steven in the MAINTAINERS files?
> steven_lee@aspeedtech.com
> troy_lee@aspeedtech.com
> jamin_lin@aspeedtech.com

You should send a patch updating the MAINTAINERS file with new names
and those promoted should reply that they agree, or not.

See https://qemu.readthedocs.io/en/v9.0.0/devel/maintainers.html for
more info and the git history of MAINTAINERS also.

Thanks,

C.
Jamin Lin May 29, 2024, 12:47 a.m. UTC | #4
Hi Cedric,

> From: Cédric Le Goater <clg@kaod.org>
> On 5/28/24 12:02, Jamin Lin wrote:
> > Hi Cedric,
> >
> >> -----Original Message-----
> >> From: Cédric Le Goater <clg@kaod.org>
> >> Sent: Tuesday, May 28, 2024 5:56 PM
> >> To: Jamin Lin <jamin_lin@aspeedtech.com>; Peter Maydell
> >> <peter.maydell@linaro.org>; Andrew Jeffery
> >> <andrew@codeconstruct.com.au>; Joel Stanley <joel@jms.id.au>;
> >> Alistair Francis <alistair@alistair23.me>; Cleber Rosa
> >> <crosa@redhat.com>; Philippe Mathieu-Daudé <philmd@linaro.org>;
> >> Wainer dos Santos Moschetta <wainersm@redhat.com>; Beraldo Leal
> >> <bleal@redhat.com>; open list:ASPEED BMCs <qemu-arm@nongnu.org>;
> open
> >> list:All patches CC here <qemu-devel@nongnu.org>
> >> Cc: Troy Lee <troy_lee@aspeedtech.com>; Yunlin Tang
> >> <yunlin.tang@aspeedtech.com>
> >> Subject: Re: [PATCH v4 00/16] Add AST2700 support
> >>
> >> Jamin,
> >>
> >> I think you should add your self as a Reviewer to the ASPEED BMCs
> >> machine in the MAINTAINERS files. Would you agree ?
> >>
> > Agree.
> >
> > Could you please add me, Troy and Steven in the MAINTAINERS files?
> > steven_lee@aspeedtech.com
> > troy_lee@aspeedtech.com
> > jamin_lin@aspeedtech.com
> 
> You should send a patch updating the MAINTAINERS file with new names and
> those promoted should reply that they agree, or not.
> 
> See https://qemu.readthedocs.io/en/v9.0.0/devel/maintainers.html for more
> info and the git history of MAINTAINERS also.
> 
Will send a patch to updating the MAINTAINERS file.
Thanks-Jamin
> Thanks,
> 
> C.
>
Jamin Lin June 5, 2024, 3:47 a.m. UTC | #5
Hi Cedric, 

> From: Jamin Lin
> Subject: RE: [PATCH v4 00/16] Add AST2700 support
> 
> Hi Cedric,
> 
> > From: Cédric Le Goater <clg@kaod.org>
> > On 5/28/24 12:02, Jamin Lin wrote:
> > > Hi Cedric,
> > >
> > >> -----Original Message-----
> > >> From: Cédric Le Goater <clg@kaod.org>
> > >> Sent: Tuesday, May 28, 2024 5:56 PM
> > >> To: Jamin Lin <jamin_lin@aspeedtech.com>; Peter Maydell
> > >> <peter.maydell@linaro.org>; Andrew Jeffery
> > >> <andrew@codeconstruct.com.au>; Joel Stanley <joel@jms.id.au>;
> > >> Alistair Francis <alistair@alistair23.me>; Cleber Rosa
> > >> <crosa@redhat.com>; Philippe Mathieu-Daudé <philmd@linaro.org>;
> > >> Wainer dos Santos Moschetta <wainersm@redhat.com>; Beraldo Leal
> > >> <bleal@redhat.com>; open list:ASPEED BMCs <qemu-arm@nongnu.org>;
> > open
> > >> list:All patches CC here <qemu-devel@nongnu.org>
> > >> Cc: Troy Lee <troy_lee@aspeedtech.com>; Yunlin Tang
> > >> <yunlin.tang@aspeedtech.com>
> > >> Subject: Re: [PATCH v4 00/16] Add AST2700 support
> > >>
> > >> Jamin,
> > >>
> > >> I think you should add your self as a Reviewer to the ASPEED BMCs
> > >> machine in the MAINTAINERS files. Would you agree ?
> > >>
> > > Agree.
> > >
> > > Could you please add me, Troy and Steven in the MAINTAINERS files?
> > > steven_lee@aspeedtech.com
> > > troy_lee@aspeedtech.com
> > > jamin_lin@aspeedtech.com
> >
> > You should send a patch updating the MAINTAINERS file with new names
> > and those promoted should reply that they agree, or not.
> >
> > See https://qemu.readthedocs.io/en/v9.0.0/devel/maintainers.html for
> > more info and the git history of MAINTAINERS also.
> >
> Will send a patch to updating the MAINTAINERS file.
> Thanks-Jamin
> > Thanks,
https://patchew.org/QEMU/20240605034413.1064845-1-jamin._5Flin@aspeedtech.com/
Thanks-Jamin

> >
> > C.
> >