0cf7befa3e
Register with firmware upload API to allow updating firmware on cc1352p7 without resorting to overlay for using the userspace flasher. Communication with the bootloader can be moved out of gb-beagleplay driver if required, but I am keeping it here since there are no immediate plans to use the on-board cc1352p7 for anything other than greybus (BeagleConnect Technology). Additionally, there do not seem to any other devices using cc1352p7 or it's cousins as a co-processor. Boot and Reset GPIOs are used to enable cc1352p7 bootloader backdoor for flashing. The delays while starting bootloader are taken from the userspace flasher since the technical specification does not provide sufficient information regarding it. Flashing is skipped in case we are trying to flash the same image as the one that is currently present. This is determined by CRC32 calculation of the supplied firmware and Flash data. We also do a CRC32 check after flashing to ensure that the firmware was flashed properly. Firmware size should be 704 KB. Link: https://www.ti.com/lit/ug/swcu192/swcu192.pdf Ti CC1352p7 Tecnical Specification Link: https://openbeagle.org/beagleconnect/cc1352-flasher Userspace Flasher Signed-off-by: Ayush Singh <ayush@beagleboard.org> Link: https://lore.kernel.org/r/20240903-beagleplay_fw_upgrade-v4-3-526fc62204a7@beagleboard.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
46 lines
1.3 KiB
Plaintext
46 lines
1.3 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
menuconfig GREYBUS
|
|
tristate "Greybus support"
|
|
depends on SYSFS
|
|
help
|
|
This option enables the Greybus driver core. Greybus is a
|
|
hardware protocol that was designed to provide Unipro with a
|
|
sane application layer. It was originally designed for the
|
|
ARA project, a module phone system, but has shown up in other
|
|
phones, and can be tunneled over other busses in order to
|
|
control hardware devices.
|
|
|
|
Say Y here to enable support for these types of drivers.
|
|
|
|
To compile this code as a module, choose M here: the module
|
|
will be called greybus.ko
|
|
|
|
if GREYBUS
|
|
|
|
config GREYBUS_BEAGLEPLAY
|
|
tristate "Greybus BeaglePlay driver"
|
|
depends on SERIAL_DEV_BUS
|
|
select CRC_CCITT
|
|
select FW_LOADER
|
|
select FW_UPLOAD
|
|
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
|
|
tristate "Greybus ES3 USB host controller"
|
|
depends on USB
|
|
help
|
|
Select this option if you have a Toshiba ES3 USB device that
|
|
acts as a Greybus "host controller". This device is a bridge
|
|
from a USB device to a Unipro network.
|
|
|
|
To compile this code as a module, choose M here: the module
|
|
will be called gb-es2.ko
|
|
|
|
endif # GREYBUS
|
|
|