On Fri, Jul 04, 2025 at 08:40:32PM -0400, Damien Riégel wrote:
This step adds the basic infrastructure in order to use CPC as backend in Greybus. The goal of CPC is to add reliablity, by implementing error detection and retransmission for links that don't have that capability by default.
When Greybus establishes the connection between two CPorts, CPC will create an endpoint for this connection. Greybus messages will then be encapsulated in CPC frames, which basically are a custom header + Greybus header + Greybus payload.
As this is still evolving and not the main point of the RFC, the whole core is squashed in one big commit, but it will definitely be split into more digestible commits as we refine it.
Signed-off-by: Damien Riégel damien.riegel@silabs.com
MAINTAINERS | 6 + drivers/greybus/Kconfig | 2 + drivers/greybus/Makefile | 2 + drivers/greybus/cpc/Kconfig | 12 ++ drivers/greybus/cpc/Makefile | 6 + drivers/greybus/cpc/cpc.h | 135 ++++++++++++++++ drivers/greybus/cpc/endpoint.c | 158 +++++++++++++++++++ drivers/greybus/cpc/header.c | 212 +++++++++++++++++++++++++ drivers/greybus/cpc/header.h | 81 ++++++++++ drivers/greybus/cpc/host.c | 113 ++++++++++++++ drivers/greybus/cpc/protocol.c | 274 +++++++++++++++++++++++++++++++++ 11 files changed, 1001 insertions(+)
I like the idea, but you are going to have to break this up into smaller pieces in order to get us to be able to review it well, sorry.
thanks
greg k-h