Commit ec558bbf authored by Ayush Singh's avatar Ayush Singh Committed by Greg Kroah-Hartman

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: default avatarAyush Singh <ayushdevel1325@gmail.com>
Link: https://lore.kernel.org/r/20231017101116.178041-3-ayushdevel1325@gmail.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c966c715
...@@ -8996,6 +8996,7 @@ M: Ayush Singh <ayushdevel1325@gmail.com> ...@@ -8996,6 +8996,7 @@ M: Ayush Singh <ayushdevel1325@gmail.com>
L: greybus-dev@lists.linaro.org (moderated for non-subscribers) L: greybus-dev@lists.linaro.org (moderated for non-subscribers)
S: Maintained S: Maintained
F: Documentation/devicetree/bindings/net/ti,cc1352p7.yaml F: Documentation/devicetree/bindings/net/ti,cc1352p7.yaml
F: drivers/greybus/gb-beagleplay.c
GREYBUS SUBSYSTEM GREYBUS SUBSYSTEM
M: Johan Hovold <johan@kernel.org> M: Johan Hovold <johan@kernel.org>
......
...@@ -17,6 +17,16 @@ menuconfig GREYBUS ...@@ -17,6 +17,16 @@ menuconfig GREYBUS
if GREYBUS if GREYBUS
config GREYBUS_BEAGLEPLAY
tristate "Greybus BeaglePlay driver"
depends on SERIAL_DEV_BUS
help
Select this option if you have a BeaglePlay where CC1352
co-processor acts as Greybus SVC.
To compile this code as a module, chose M here: the module
will be called gb-beagleplay.ko
config GREYBUS_ES2 config GREYBUS_ES2
tristate "Greybus ES3 USB host controller" tristate "Greybus ES3 USB host controller"
depends on USB depends on USB
......
...@@ -18,6 +18,8 @@ obj-$(CONFIG_GREYBUS) += greybus.o ...@@ -18,6 +18,8 @@ obj-$(CONFIG_GREYBUS) += greybus.o
# needed for trace events # needed for trace events
ccflags-y += -I$(src) ccflags-y += -I$(src)
obj-$(CONFIG_GREYBUS_BEAGLEPLAY) += gb-beagleplay.o
# Greybus Host controller drivers # Greybus Host controller drivers
gb-es2-y := es2.o gb-es2-y := es2.o
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment