Required: No
Type: Map of metadata information
Condition: No
Metadata about the component provided to tooling to assist in filtering, etc.
Allowed keys include
device
- Information about a device described by this component
board
- Information about a board described by this component
hardware
- Information about hardware described by this component
toolchain
- Informatoion about a build tool described by this component
pin_tool
- Pin Tool metadata for this component
zap
- ZAP metadata for this component
sbom
- Software Bill of Materials information for this component
The SLC specification does not require these keys to have any specific content, as this is left up to the implementation.
The Simplicity Studio and SLC-CLI implementations of the SLC specification require the following metadata content for proper operation:
device
Key |
Required |
Type |
Description |
opn |
Yes |
String |
Orderable Part Name of the device |
memory |
Yes |
List of maps |
Definition of memory sections of the device. Each entry has a name , start , size , type and optionally a page_size . |
board
Key |
Required |
Type |
Description |
pn |
Yes |
String |
Product Name of the board |
variant |
Yes |
String |
Variant of the board |
revision |
Yes |
String |
Revision number of the board |
kit
Key |
Required |
Type |
Description |
opn |
Yes |
String |
Orderable Part Name of the development kit |
pn |
Yes |
String |
Product Number of the development kit |
variant |
Yes |
String |
Variant of the development kit |
revision |
Yes |
String |
Revision number of the development kit |
Key |
Required |
Type |
Description |
id |
No |
String |
ID of the toolchain. gcc or iar . |
variant |
No |
String |
Variant of the toolchain. arm or host . |
Key |
Required |
Type |
Description |
peripheral |
Yes |
List of strings |
Peripherals configurable by this component. Used to list compatible components for a hardware peripheral selected in the Pin Tool. |
Software Bill of Materials - sbom
The sbom
element may either be a full SBOM definition, or a reference to a definition in another component. Metadata in the sbom
element may be combined with pre-existing component data, such as author
.
SBOM Definition
Key |
Required |
Type |
Description |
id |
No |
String |
Identifier for the SBOM component. Unique within the SDK or SDK Extension. If not set, the SLC component id is used as the SBOM identifier. |
name |
No |
String |
Name of the SBOM component. If not set, the SLC component label is used as the SBOM name. |
license |
Yes |
String |
License of the component. May be the string MSLA if using the Silicon Labs Master Software License Agreement, otherwise a SPDX License Expression. |
upstream |
No |
Map |
Provenance information for the component. See below for definition. |
Upstream
Key |
Required |
Type |
Description |
name |
No |
String |
Full name of the package as given by the upstream. |
version |
No |
String |
Version of the package. If the SLC component doesn't contain a specific release version, another identifier uniquely identifying the revision of the code, such as VCS commit ID, may be used. |
supplier |
No |
String |
The distribution source for the upstream package. |
originator |
No |
String |
The original source/publisher for the upstream package, if different from supplier . May also deviate from the author , in the case the packager/publisher isn't the copyright owner. |
url |
No |
String |
Home page URL for the package. |
package_url |
No |
String |
Package URL (purl) identifying the exact version of the package. |
comment |
No |
String |
Additional information about the package. |
SBOM Reference
Key |
Required |
Type |
Description |
reference |
Yes |
String |
SBOM identifier for content defined in a different component. |
SBOM references are used when a single logical piece of software is split across multiple SLC components for implementation reasons. The referenced SBOM definition must always be part of the resolved SLC project.