Skip to content

Update provision components with the new structure - #1147

Merged
Junior Martinez (jmartinez-silabs) merged 5 commits into
mainfrom
bring_provision_rework
Oct 12, 2026
Merged

Junior Martinez (jmartinez-silabs) merged 5 commits into
mainfrom
bring_provision_rework

Conversation

@jmartinez-silabs

@jmartinez-silabs Junior Martinez (jmartinez-silabs) commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Issue Link:
N/A

Description of Problem/Feature:

Factory/manufacturing data provisioning was bundled into a single SLC path: reader backends always pulled write-path pieces (storage writer, custom storage hooks, BLE channel, iostream/RTT) and linked proprietary provision libraries even when the app only needed to read credentials at runtime. That forced manufacturing write support and related deps into normal product builds, and the components still pointed at the pre-rework provision layout/headers/libs.

Description of Fix/Solution:

Split provisioning into a read-only backend plus an optional manufacturing write channel, aligned with the reworked provision stack in matter_sdk / matter_support:

  • matter_provision_default / matter_provision_flash are Factory Data Readers only (NVM3/token vs dedicated flash), with sources/includes updated to the reader + crypto paths.

  • New optional matter_provision_channel (Factory Data Writer Channel) adds the storage writer, custom storage hooks, and BLE transport, and defines SL_MATTER_PROVISION_CHANNEL_ENABLED. It requires matter_provision and selects the matching writer for default or flash.

  • Dropped hard iostream / iostream_rtt requirements from the reader components.

  • Simplified proprietary lib linking to ABI-keyed archives (libProvision-m33-hard*, libProvision-m4-softfp*); default links them only when the channel is enabled, flash keeps them for the flash backend.

  • Bumped third_party/matter_sdk and third_party/matter_support to the matching provision rework commits.

Testing Done:

  • Provision BRD4187C, BRD4116A, BRD4407A BRD4338A with using their new GFW. Flash the their lighting-app and commission using the provisioned discriminator and certificates.
  • Full smoke and regression CI will be needed to find possible corner case

@cursor

cursor Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

PR Summary

High Risk
Changes device attestation/factory credential build wiring, proprietary library selection, and closure app entry points; misconfiguration could break commissioning or manufacturing flows.

Overview
Factory data provisioning is split so runtime builds only pull read paths: matter_provision_default and matter_provision_flash are renamed and narrowed to Factory Data Readers (NVM3/token vs flash), with sources/headers moved to reader + crypto modules, SL_MATTER_USE_FLASH_STORE set per backend, and iostream/RTT plus per-chip proprietary libs removed from the readers (flash still links ABI-keyed libProvision-m33-hard* / libProvision-m4-softfp*).

A new optional matter_provision_channel adds the manufacturing write stack (storage writer, custom hooks, BLE channel, SL_MATTER_PROVISION_CHANNEL_ENABLED) and links the provision libs for default storage only when that channel is enabled.

Closure example apps (Thread/Wi-Fi) stop listing AppTask.cpp, DataModelCallbacks.cpp, and ClosureManager.cpp directly; they wire customer CustomerAppManager / CustomerAppTask instead, while matter_closure now declares template files for the stock AppTask/ClosureManager implementation plus SBOM metadata.

Reviewed by Cursor Bugbot for commit 8a59291. Configure here.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 8a59291. Configure here.

Comment thread slc/apps/closure_app/thread/matter_thread_soc_closure_app_freertos.slcp Outdated
@jmartinez-silabs
Junior Martinez (jmartinez-silabs) merged commit 552ea73 into main Oct 12, 2026
253 checks passed
@jmartinez-silabs
Junior Martinez (jmartinez-silabs) deleted the bring_provision_rework branch October 12, 2026 21:20
Junior Martinez (jmartinez-silabs) added a commit that referenced this pull request Oct 15, 2026
* Update provision components.
* Add define for 917 provisionCrypto with provision flash
* Bump matter-sdk and matter_support
Junior Martinez (jmartinez-silabs) added a commit that referenced this pull request Oct 15, 2026
* Update provision components with the new structure (#1147)

* Update provision components.
* Add define for 917 provisionCrypto with provision flash
* Bump matter-sdk and matter_support

* Bump matter_sdk and matter_support to merge commits
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants