Add SocInterface for Silicon Labs EFM32GG11 (dual-bank OTA UF2)#93
Open
RAR wants to merge 1 commit into
Open
Conversation
Registers the silabs-efm32gg11 family (id 0xEF326611) in SocInterface.get() and get_family_names(), backed by a minimal EFM32GG11Main reporting OTAType.DUAL. This lets 'ltchiptool uf2 write' pack a dual-bank OTA image (DEVICE_DUAL_1 -> ota1 @ 0x008000, DEVICE_DUAL_2 -> ota2 @ 0x100000, with a diff32 binpatch for bank B) for the LibreTiny EFM32GG11 chip family. uf2tool's writer only needs ota_type from the SoC; the partition table is built from the board JSON flash regions and binpatch is computed by the writer, so flash/elf2bin methods are inherited (unused for 'uf2 write').
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a
SocInterfacefor the Silicon Labs EFM32GG11 family soltchiptool uf2 writecan pack a dual-bank OTA UF2 for LibreTiny'ssilabs-efm32gg11chip family (WGM160P / EFM32GG11B820).What
ltchiptool/soc/efm32gg11/(EFM32GG11Main), mirroring the existing SoC plugins; reportsOTAType.DUAL.SocInterface.get()andget_family_names()for familysilabs-efm32gg11(id0xEF326611).Why minimal
uf2tool'sUF2Writer.write()only needssoc.ota_type— the partition table is built from the board JSON flash regions and the diff32 binpatch is computed by the writer. Flashing on this family is done over SWD / Simplicity Commander rather than ltchiptool, so theflash_*/elf2binmethods are intentionally left at the baseNotImplementedError(none are exercised byuf2 write).OTA scheme
Jump-based A/B dual-bank:
DEVICE_DUAL_1 → ota1(bank A @0x008000),DEVICE_DUAL_2 → ota2(bank B @0x100000, carried as a diff32 binpatch over bank A).Validation
uf2 writefrom two real bank images, thenuf2 dump -s device1/device2, reconstructs both banks byte-exact..uf2via LibreTiny's ArduinoUpdateAPI; the first-stage bootloader switched banks and the new image booted and confirmed.🤖 Generated with Claude Code