linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Damien Riégel" <damien.riegel@silabs.com>
To: greybus-dev@lists.linaro.org
Cc: linux-kernel@vger.kernel.org, linux-devel@silabs.com,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Alex Elder" <elder@kernel.org>,
	"Johan Hovold" <johan@kernel.org>,
	"Damien Riégel" <damien.riegel@silabs.com>
Subject: [RFC 0/6] Introducing CPC support in Greybus
Date: Fri,  4 Jul 2025 20:40:30 -0400	[thread overview]
Message-ID: <20250705004036.3828-1-damien.riegel@silabs.com> (raw)

Hi,


This patchset brings support for Silicon Labs' CPC protocol as transport
layer for Greybus. As an example, a SPI driver is added as physical
layer and everything is bundled as a big kernel module. In the future,
as we plan to support other physical layers like SDIO, CPC core will be
its own module, and each physical layer CPC driver will be its own
module as well.

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. There's also a flow-control
feature, preventing sending messages to full cports.

In addition to the host device over SPI part, there's also a class
driver for a vendor protocol that enables Bluetooth on supported
devices. This is mostly there to open the discussion on how a new
protocol should be added to Greybus.


Damien Riégel (6):
  greybus: move host controller drivers comment in Makefile
  greybus: cpc: add core logic
  greybus: cpc: add SPI driver
  greybus: add API for async unidirectional transfer
  greybus: match device with bundle ID
  greybus: add class driver for Silabs Bluetooth

 MAINTAINERS                          |  12 +
 drivers/greybus/Kconfig              |   2 +
 drivers/greybus/Makefile             |   4 +-
 drivers/greybus/core.c               |   4 +
 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 +++++++++++++
 drivers/greybus/cpc/spi.c            | 585 +++++++++++++++++++++++++++
 drivers/greybus/operation.c          |  52 +++
 drivers/staging/greybus/Kconfig      |   9 +
 drivers/staging/greybus/Makefile     |   6 +
 drivers/staging/greybus/silabs-ble.c | 203 ++++++++++
 include/linux/greybus.h              |   7 +-
 include/linux/greybus/greybus_id.h   |   2 +
 include/linux/greybus/operation.h    |   4 +
 20 files changed, 1877 insertions(+), 4 deletions(-)
 create mode 100644 drivers/greybus/cpc/Kconfig
 create mode 100644 drivers/greybus/cpc/Makefile
 create mode 100644 drivers/greybus/cpc/cpc.h
 create mode 100644 drivers/greybus/cpc/endpoint.c
 create mode 100644 drivers/greybus/cpc/header.c
 create mode 100644 drivers/greybus/cpc/header.h
 create mode 100644 drivers/greybus/cpc/host.c
 create mode 100644 drivers/greybus/cpc/protocol.c
 create mode 100644 drivers/greybus/cpc/spi.c
 create mode 100644 drivers/staging/greybus/silabs-ble.c

-- 
2.49.0


             reply	other threads:[~2025-07-05  0:59 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-05  0:40 Damien Riégel [this message]
2025-07-05  0:40 ` [RFC 1/6] greybus: move host controller drivers comment in Makefile Damien Riégel
2025-07-16 13:20   ` Greg Kroah-Hartman
2025-07-05  0:40 ` [RFC 2/6] greybus: cpc: add core logic Damien Riégel
2025-07-16 13:21   ` Greg Kroah-Hartman
2025-07-05  0:40 ` [RFC 3/6] greybus: cpc: add SPI driver Damien Riégel
2025-07-05  0:40 ` [RFC 4/6] greybus: add API for async unidirectional transfer Damien Riégel
2025-07-16 13:21   ` Greg Kroah-Hartman
2025-07-05  0:40 ` [RFC 5/6] greybus: match device with bundle ID Damien Riégel
2025-07-16 13:19   ` Greg Kroah-Hartman
2025-07-05  0:40 ` [RFC 6/6] greybus: add class driver for Silabs Bluetooth Damien Riégel
2025-07-16 13:23   ` Greg Kroah-Hartman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250705004036.3828-1-damien.riegel@silabs.com \
    --to=damien.riegel@silabs.com \
    --cc=elder@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=greybus-dev@lists.linaro.org \
    --cc=johan@kernel.org \
    --cc=linux-devel@silabs.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).