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
