Hi Adrian & Greg,

> > This series adds drivers for the NVIDIA LSTP USB adapter: a USB core
> > driver and GPIO, LED, I2C, SPI, UART and BMC-side IPMI function drivers,
> > with their device tree bindings, an ACPI description document and the
> > sysfs ABI.

Adrian, what is the plan for this coexisting with the recently-released
OBMF-ICP spec[1], which implements almost identical functionality (and
apparently with less DT/ACPI description requirements)

... NVIDIA also being a primary contributor to OBMF-ICP.

[1]: https://www.opencompute.org/wp-content/uploads/2026/10/obmf-icp-1-0-0.pdf

> > What LSTP is
> > ------------
> > 
> > LSTP (Low-Speed Transport Protocol or Low-Speed Tunnelling Protocol) is
> > a vendor-specific USB interface (class 0xff, subclass 0x3f) that
> > multiplexes several low-speed "channels" over one pair of bulk
> > endpoints. It is implemented by NVIDIA's SMA, an MCU (0955:cf11), and
> > by other vendors' parts: two hub/bridge chips have it built in
> > (0424:4940, 174c:2214). Boards use it to
> > reach SPI flash, I2C sensors, GPIOs and LEDs, a UART and a host-to-BMC
> > IPMI path, on both BMCs and host systems.
> 
> Also, if you really want to do this in a dynamic way, use greybus, as
> that is EXPLICITLY what it was designed for, and is patent-free (i.e.
> unencumbered, and we already support it in the kernel.)  Please don't
> reinvent the wheel/spec just because no one did any prior-art
> research...

With this, we now have three similar facilities:

 - greybus - I assume there are implementations about, but more on the
   mobile side?
 - LSTP - with an NVIDIA implementation
 - OBMF-ICP - with a few vendors' early implementations

There are differences between greybus and OBMF-ICP that may justify
support for both (primarily: static channel support means OBMF-ICP is
simpler to implement). I understand that OBMF-ICP also has reasonable IP
protections for implementations. However, it's going to be difficult to
justify both LSTP and OBMF-ICP implementations living in the kernel.

Adrian: I could see LSTP being implemented as a set of divergences from
an OBMF-ICP-standard driver, but I'm not yet across why you need static
configuration. If we do need support for both in the kernel, I can take
a look at how that could work.

FWIW, we did raise greybus as an approach to various HW vendors; I
assume there were reasons behind OBMF-ICP, and assume some prior-art
assesment was involved, but I don't have specifics for those reasons.

HW peeps: This would be an excellent opportunity for elaboration on the
motivation there, either for LSTP or OBMF-OCP.

Cheers,


Jeremy


_______________________________________________
Openipmi-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openipmi-developer

Reply via email to