|
|
Log in / Subscribe / Register

soc: aspeed: Add BMC and host driver for PCIe BMC device

From:  Grégoire Layet <gregoire.layet-AT-9elements.com>
To:  joel-AT-jms.id.au, andrew-AT-codeconstruct.com.au
Subject:  [PATCH v2 0/2] soc: aspeed: Add BMC and host driver for PCIe BMC device
Date:  Mon, 08 Jun 2026 14:51:21 +0000
Message-ID:  <cover.1780929570.git.gregoire.layet@9elements.com>
Cc:  andrew-AT-lunn.ch, jacky_chou-AT-aspeedtech.com, yh_chung-AT-aspeedtech.com, ninad-AT-linux.ibm.com, linux-aspeed-AT-lists.ozlabs.org, linux-arm-kernel-AT-lists.infradead.org, linux-kernel-AT-vger.kernel.org, Grégoire Layet <gregoire.layet-AT-9elements.com>
Archive-link:  Article

This is a v2 for upstreaming the VUART over PCIe BMC device driver from the ASPEED kernel SDK (branch master-v6.18) [1].
There are two drivers: a BMC-side driver and a host-side driver.
Together they enable host<->BMC VUART communication via PCIe. 

This v2 narrows down the scope to VUART support only, to address review feedback on v1 [2] 
that the additional subsystems (shared memory, doorbell and mailbox) were software-defined
IPC channels better used with rpmsg or virtio.
Those subsystems are deferred to a separate future series.

VUART data flow and MSI interrupts have been verified working on the test hardware.

Tested on:
BMC:
- Asus IPMI Kommando Card R1.01, AST2600 A3.
- OpenBMC
Host:
- Linux kernel v7.0.0

This v2 only supports AST2600; the AST2700 is untested and not supported by this patch.

Changes since v1 [2]:
 - BMC driver: trimmed down to only SCU and PCIe initialization
 - Host driver: removed shared memory misc device, sysfs doorbell, mailbox setup and message queue handler.
    Driver now only supports VUART registration.
 - Host driver: Fixed cleanup path: removed pci_release_regions() call as there was no matching pci_request_regions call

[1]: https://github.com/AspeedTech-BMC/linux/tree/aspeed-maste...
[2]: https://lore.kernel.org/linux-aspeed/cover.1780409151.git...

Grégoire Layet (2):
  soc: aspeed: add BMC-side PCIe BMC device driver
  soc: aspeed: add host-side PCIe BMC device driver

 drivers/soc/aspeed/Kconfig               |  15 ++
 drivers/soc/aspeed/Makefile              |   2 +
 drivers/soc/aspeed/aspeed-bmc-dev.c      | 187 +++++++++++++++++
 drivers/soc/aspeed/aspeed-host-bmc-dev.c | 249 +++++++++++++++++++++++
 4 files changed, 453 insertions(+)
 create mode 100644 drivers/soc/aspeed/aspeed-bmc-dev.c
 create mode 100644 drivers/soc/aspeed/aspeed-host-bmc-dev.c

-- 
2.51.2




Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds