phosphor-bittware repository

Patrick Williams patrick at
Tue May 12 22:20:12 AEST 2020

Hello Ben,

On Tue, May 12, 2020 at 09:09:50AM +0000, Ben_Pai at wrote:

> I want to implement related functions for the bittware 250-SoC card.
> For example: Sensor reading, VPD information, led control and Brick
> Protection mechanism.

I looked briefly at the datasheet for this hardware [1].  It appears to
expose an SMBus interface for the features you mentioned.  The most
straight-forward way to get this implemented is to create a kernel
driver for most of the features you mentioned.  If you implement a
driver for this hardware that interacts with the hwmon, eeprom, and LED/GPIO
subsystems in the kernel(*), you'll be able to reuse a lot of existing
OpenBMC functionality without rewriting any userspace code.

- Sensor
    - Kernel: hwmon
    - Userspace: phosphor-hwmon or dbus-sensors
    - Kernel: eeprom
    - Userspace: entity-manager (I think)
- LED control
    - Kernel: LED / GPIO
    - Userspace: phosphor-led-manager

The only part that wouldn't be covered would be the "Brick Protection".
We'd need to see some more information on how this is exposed but you
might be able to work it into the existing phosphor-bmc-code-mgmt
repository.  For power supplies, they did create a separate repository
(phosphor-psu-code-mgmt) but I think they relied on some kernel APIs for
doing part of the work.

(*) Depending on how the bittware hardware is implemented at an SMBus
    level you may end up with multiple smaller drivers (this is better).
    If there is a single SMBus address for all these functions, you'll
    likely end up with one big driver.


Patrick Williams
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <>

More information about the openbmc mailing list