[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5295548.NG923GbCHz@nb0018864>
Date: Thu, 15 Jan 2026 22:46:43 +0100
From: Jérôme Pouiller <jerome.pouiller@...abs.com>
To: greybus-dev@...ts.linaro.org, Johan Hovold <johan@...nel.org>,
Alex Elder <elder@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
linux-kernel@...r.kernel.org,
Damien Riégel <damien.riegel@...abs.com>
Cc: Silicon Labs Kernel Team <linux-devel@...abs.com>,
Damien Riégel <damien.riegel@...abs.com>
Subject: Re: [PATCH v2 00/14] greybus: introduce CPC as transport layer
On Thursday 15 January 2026 16:57:53 Central European Standard Time Damien Riégel wrote:
> Hi,
>
> This patchset brings support for Silicon Labs' CPC protocol as transport
> layer for Greybus. This is introduced as a module that sits between
> Greybus and CPC Host Device Drivers implementations, like SDIO or SPI.
> This patchset includes SDIO as physical layer.
>
> +----------------------------------------------------+
> | Greybus |
> +----------------------------------------------------+
> /|\
> |
> \|/
> +----------------------------------------------------+
> | CPC |
> +----------------------------------------------------+
> /|\ /|\ /|\
> | | |
> \|/ \|/ \|/
> +----------+ +---------+ +-----------+
> | SDIO | | SPI | | Others |
> +----------+ +---------+ +-----------+
>
> CPC implements some of the features of Unipro that Greybus relies upon,
> like reliable transmission. CPC takes care of detecting transmission
> errors and retransmit frames if necessary, but that feature is not part
> of the RFC to keep it concise. There's also a flow-control
> feature, preventing sending messages to already full cports.
>
> In order to implement these features, a 4-byte header is prepended to
> Greybus messages, making the whole header 12 bytes (Greybus header is 8
> bytes).
>
> This RFC starts by implementing a shim layer between physical bus
> drivers (like SDIO and SPI) and Greybus, and progressively add more
> elements to it to make it useful in its own right. Finally, an SDIO
> driver is added to enable the communication with a remote device.
>
>
> Changes in v2:
> - addressed review comments and errors reported by kernel bot
> - for SDIO driver, remove padding between headers and payloads when
> aggregating packets together
>
I have to review this PR for a while. Sorry for the delay. I should
have provided my feedback for the v1.
For now, the abstract interface seems a bit over-engineered. However,
I assume will make sense once other buses will be added. Globally,
this work looks good to me.
Until now, I was was a bit frustrated Greybus for Zephyr only addresses
devices with network capabilities. I hope to be able to easily expose the
services of my Zephyr devices to my Linux host with this PR.
Beside my small comments:
Reviewed-by: Jérôme Pouiller <jerome.pouiller@...abs.com>
--
Jérôme Pouiller
Powered by blists - more mailing lists