Skip to content

Commit 0cf7bef

Browse files
Ayush1325gregkh
authored andcommitted
greybus: gb-beagleplay: Add firmware upload API
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>
1 parent bc65745 commit 0cf7bef

File tree

2 files changed

+647
-13
lines changed

2 files changed

+647
-13
lines changed

drivers/greybus/Kconfig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ config GREYBUS_BEAGLEPLAY
2121
tristate "Greybus BeaglePlay driver"
2222
depends on SERIAL_DEV_BUS
2323
select CRC_CCITT
24+
select FW_LOADER
25+
select FW_UPLOAD
2426
help
2527
Select this option if you have a BeaglePlay where CC1352
2628
co-processor acts as Greybus SVC.

0 commit comments

Comments
 (0)