[RFC PATCH linux dev-4.13 0/3] Miscellaneous BMC interfaces

Andrew Jeffery andrew at aj.id.au
Thu Apr 12 13:51:42 AEST 2018


The goal of this series is to expose BMC SoC-specific knobs and switches to
userspace. This potentially includes scratch registers - I've exposed the VGA
and SIO scratch registers for the AST2500 as an example.

This series is an RFC because I can think of a few things that could be

1. sysfs vs chardev (at least, for the scratch register access)
2. the name and compatible of the driver given that it's fairly generic
3. for the same reason, the location in the source tree
4. the devicetree bindings (which are as-yet undocumented)

Regarding 1, scratch register access might better be done via a chardev. As a
note for future reference, UIO is not appropriate in this circumstance as we
want to access addresses in the MMIO space that aren't necessarily sized or
aligned in terms of pages.

The implementation is based on the rough outline in benh's recent email to


Looking for comment on any of the above points.



Andrew Jeffery (3):
  soc: aspeed: Miscellaneous control interfaces
  dts: aspeed-g5: Expose VGA scratch registers
  dts: aspeed-g5: Expose SuperIO scratch registers

 arch/arm/boot/dts/aspeed-g5.dtsi     | 136 +++++++++++++++++++++++++
 drivers/soc/Kconfig                  |   1 +
 drivers/soc/Makefile                 |   1 +
 drivers/soc/aspeed/Kconfig           |  11 +++
 drivers/soc/aspeed/Makefile          |   1 +
 drivers/soc/aspeed/aspeed-bmc-misc.c | 187 +++++++++++++++++++++++++++++++++++
 6 files changed, 337 insertions(+)
 create mode 100644 drivers/soc/aspeed/Kconfig
 create mode 100644 drivers/soc/aspeed/Makefile
 create mode 100644 drivers/soc/aspeed/aspeed-bmc-misc.c


More information about the openbmc mailing list