-
Notifications
You must be signed in to change notification settings - Fork 6.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
subsys: Add MCTP as a subsystem, built on libmctp with bindings #75743
base: main
Are you sure you want to change the base?
Conversation
The following west manifest projects have been modified in this Pull Request:
Note: This message is automatically posted and updated by the Manifest GitHub Action. |
e32c677
to
44752b4
Compare
bd7c893
to
153b02d
Compare
Need to work out some upstream stuff, but can then have the fork setup in the zephyrproject-rtos github org |
91652d2
to
f884e0d
Compare
In my original samples I had hacked up the serial binding to work with Zephyr natively, to better integrate with Zephyr however its useful to provide native bindings in a subsys so that's what I've begun to do. |
29717fb
to
e1f9cbd
Compare
63b3789
to
763f7ee
Compare
libmctp provides interfaces for wiring up a MCTP bus it calls bus bindings. The bindings provided in libmctp however are not directly useful to Zephyr without some work. Provide an initial uart binding that directly uses Zephyr's async uart interface. Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
Samples work by sending MCTP encoded messages over a uart between two boards. Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
Adds myself, nashif, and inteljiangwe1 to the maintainers file covering the libmctp module. Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
763f7ee
to
4bb2864
Compare
@henrikbrixandersen hopefully this shows better why Zephyr integration is needed with the latest binding and samples. I'd also note several folks are interested in this working with Zephyr including @KeHIntel @dkalowsk and @beriberikix MCTP is also used in Meta's OpenBIC (https://github.com/facebook/OpenBIC) with Zephyr as well, though with its own implementation which... is exactly what this would help against. There's still more I can envision happening here as well, multiplexing things over say the console uart (or any other transport) with mctp would be really nice (e.g. endpoints for shell/logging/tracing/etc). And is something I want to look into. This might require some DT integration to point logging/console at a pseudo uart (mctp endpoint). So perhaps describing mctp endpoints in DT would become a thing then. |
Just confirming that the module repo would be moved to the zephyrproject and not continue to be housed in your personal GitHub account. |
Yes it would be, and my changes upstreamed before merging. Marked DNM until this happens and the TSC approves. I considered how I might write an MCTP uart test but this becomes pretty annoying to deal with. It's probably easier to have the samples become tests with a fixture (board to board) somehow. I'm very open to suggestion on the testing side of this, the samples absolutely work well. |
Sorry, mistakenly clicked the close button 😂 |
I3C binding indeed is on my todo list! 👍 |
Adds libmctp as a zephyr module from my fork with a few small changes I intend on trying to upstream along with a binding to Zephyr's
pollingasync UART API. Comes with a pair of sample applications that can be used on two boards connected via UART.