Skip to content

metadata

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.

Simplicity Studio Metadata Schema

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

toolchain

Key Required Type Description
id No String ID of the toolchain. gcc or iar.
variant No String Variant of the toolchain. arm or host.

pin_tool

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.

Back to top