Hi,

On 9/17/25 03:31, Kane Chen wrote:
From: Kane-Chen-AS <[email protected]>

Hi all,

This series adds support for AST1700-based IO expander boards on the
ASPEED AST27x0 family and wires them into the machine models. It
introduces an LTPI controller, adds a machine property to select how
many expanders are present, and connects the expander-provided UART,
interrupt controller, and I2C blocks.

What this series does

- Add a new `ioexps-num` machine property (range 0-2; default 0) so
   boards can declare how many expanders are attached without changing
   defaults.
- Add an LTPI controller device used by the expander/board glue.
- Add the AST1700 IO expander device model.

Please resend in 2 distinct series : LTPI and AST1700 IO expander


Thanks,

C.


- Wire up the expander UART, interrupt controllers, and I2C on AST27x0
   machines.
> Example usage:
   ./qemu-system-aarch64 -M ast2700a1-evb,ioexps-num=2 \
     -drive file=image-bmc,format=raw,if=mtd \
     ...


Verification:

U-Boot:
=> ltpi
LTPI0:
     link partner    : ast1700
     link mode       : DDR
     link bandwidth  : 25Mbps
LTPI1:
     link partner    : ast1700
     link mode       : DDR
     link bandwidth  : 25Mbps
=>

Linux (BMC):
root@ast2700-default:~# i2cdetect -y 16
      0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

With `ioexps-num` left at 0, existing behavior is unchanged.

Any feedback or suggestions are appreciated.

Best Regards,
Kane
---
Kane-Chen-AS (6):
   hw/arm/aspeed: Add 'ioexps-num' property for AST27x0
   hw/arm/aspeed: Add LTPI controller
   hw/arm/aspeed: Add AST1700 IO expander
   hw/arm/aspeed: Model AST1700 IO expander UART on AST27x0
   hw/arm/aspeed: Model AST1700 IO expander interrupt controllers on
     AST27x0
   hw/arm/aspeed: Model AST1700 IO expander I2C on AST27x0

  include/hw/arm/aspeed_soc.h   |  32 +++++-
  include/hw/intc/aspeed_intc.h |   2 +
  include/hw/misc/aspeed_ltpi.h |  25 +++++
  hw/arm/aspeed.c               |  49 +++++++++
  hw/arm/aspeed_ast27x0.c       | 184 ++++++++++++++++++++++++++++++++--
  hw/intc/aspeed_intc.c         |  60 +++++++++++
  hw/misc/aspeed_ltpi.c         | 111 ++++++++++++++++++++
  hw/misc/meson.build           |   1 +
  8 files changed, 452 insertions(+), 12 deletions(-)
  create mode 100644 include/hw/misc/aspeed_ltpi.h
  create mode 100644 hw/misc/aspeed_ltpi.c



Reply via email to