greybus: Add BeaglePlay Linux Driver
authorAyush Singh <ayushdevel1325@gmail.com>
Tue, 17 Oct 2023 10:11:13 +0000 (15:41 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Oct 2023 11:19:04 +0000 (13:19 +0200)
commitec558bbfea671ac020a6dc6be8bf8f0ee556cce0
tree25f3ea9f766df817809df987fc48266ec3d6cbcd
parentc966c715c77717bd8bdda32a46b33868acb7a4e2
greybus: Add BeaglePlay Linux Driver

Add the Greybus host driver for BeaglePlay board by BeagleBoard.org.

The current greybus setup involves running SVC in a user-space
application (GBridge) and using netlink to communicate with kernel
space. GBridge itself uses wpanusb kernel driver, so the greybus messages
travel from kernel space (gb_netlink) to user-space (GBridge) and then
back to kernel space (wpanusb) before reaching CC1352.

This driver directly communicates with CC1352 (running SVC Zephyr
application). Thus, it simplifies the complete greybus setup eliminating
user-space GBridge.

This driver is responsible for the following:
- Start SVC (CC1352) on driver load.
- Send/Receive Greybus messages to/from CC1352 using HDLC over UART.
- Print Logs from CC1352.
- Stop SVC (CC1352) on driver load.

Signed-off-by: Ayush Singh <ayushdevel1325@gmail.com>
Link: https://lore.kernel.org/r/20231017101116.178041-3-ayushdevel1325@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
MAINTAINERS
drivers/greybus/Kconfig
drivers/greybus/Makefile
drivers/greybus/gb-beagleplay.c [new file with mode: 0644]