Type definitions#

Modules#

sid_pal_mfg_store_region_t

Enumerations#

enum
@0 {
SID_PAL_MFG_STORE_INVALID_OFFSET = UINT32_MAX
}
enum
SID_PAL_MFG_STORE_DEVID = 1
SID_PAL_MFG_STORE_VERSION = 2
SID_PAL_MFG_STORE_SERIAL_NUM = 3
SID_PAL_MFG_STORE_SMSN = 4
SID_PAL_MFG_STORE_APP_PUB_ED25519 = 5
SID_PAL_MFG_STORE_DEVICE_PRIV_ED25519 = 6
SID_PAL_MFG_STORE_DEVICE_PUB_ED25519 = 7
SID_PAL_MFG_STORE_DEVICE_PUB_ED25519_SIGNATURE = 8
SID_PAL_MFG_STORE_DEVICE_PRIV_P256R1 = 9
SID_PAL_MFG_STORE_DEVICE_PUB_P256R1 = 10
SID_PAL_MFG_STORE_DEVICE_PUB_P256R1_SIGNATURE = 11
SID_PAL_MFG_STORE_DAK_PUB_ED25519 = 12
SID_PAL_MFG_STORE_DAK_PUB_ED25519_SIGNATURE = 13
SID_PAL_MFG_STORE_DAK_ED25519_SERIAL = 14
SID_PAL_MFG_STORE_DAK_PUB_P256R1 = 15
SID_PAL_MFG_STORE_DAK_PUB_P256R1_SIGNATURE = 16
SID_PAL_MFG_STORE_DAK_P256R1_SERIAL = 17
SID_PAL_MFG_STORE_PRODUCT_PUB_ED25519 = 18
SID_PAL_MFG_STORE_PRODUCT_PUB_ED25519_SIGNATURE = 19
SID_PAL_MFG_STORE_PRODUCT_ED25519_SERIAL = 20
SID_PAL_MFG_STORE_PRODUCT_PUB_P256R1 = 21
SID_PAL_MFG_STORE_PRODUCT_PUB_P256R1_SIGNATURE = 22
SID_PAL_MFG_STORE_PRODUCT_P256R1_SERIAL = 23
SID_PAL_MFG_STORE_MAN_PUB_ED25519 = 24
SID_PAL_MFG_STORE_MAN_PUB_ED25519_SIGNATURE = 25
SID_PAL_MFG_STORE_MAN_ED25519_SERIAL = 26
SID_PAL_MFG_STORE_MAN_PUB_P256R1 = 27
SID_PAL_MFG_STORE_MAN_PUB_P256R1_SIGNATURE = 28
SID_PAL_MFG_STORE_MAN_P256R1_SERIAL = 29
SID_PAL_MFG_STORE_SW_PUB_ED25519 = 30
SID_PAL_MFG_STORE_SW_PUB_ED25519_SIGNATURE = 31
SID_PAL_MFG_STORE_SW_ED25519_SERIAL = 32
SID_PAL_MFG_STORE_SW_PUB_P256R1 = 33
SID_PAL_MFG_STORE_SW_PUB_P256R1_SIGNATURE = 34
SID_PAL_MFG_STORE_SW_P256R1_SERIAL = 35
SID_PAL_MFG_STORE_AMZN_PUB_ED25519 = 36
SID_PAL_MFG_STORE_AMZN_PUB_P256R1 = 37
SID_PAL_MFG_STORE_APID = 38
SID_PAL_MFG_STORE_DTID = 39
SID_PAL_MFG_STORE_CORE_VALUE_MAX = 4000
SID_PAL_MFG_STORE_VALUE_MAX = 0x6FFE
}

Values available to all users of the manufacturing store.

enum
SID_PAL_MFG_STORE_DEVID_SIZE = 5
SID_PAL_MFG_STORE_VERSION_SIZE = 4
SID_PAL_MFG_STORE_SERIAL_NUM_SIZE = 17
SID_PAL_MFG_STORE_SMSN_SIZE = 32
SID_PAL_MFG_STORE_APP_PUB_ED25519_SIZE = 32
SID_PAL_MFG_STORE_DEVICE_PRIV_ED25519_SIZE = 32
SID_PAL_MFG_STORE_DEVICE_PUB_ED25519_SIZE = 32
SID_PAL_MFG_STORE_DEVICE_PUB_ED25519_SIGNATURE_SIZE = 64
SID_PAL_MFG_STORE_DEVICE_PRIV_P256R1_SIZE = 32
SID_PAL_MFG_STORE_DEVICE_PUB_P256R1_SIZE = 64
SID_PAL_MFG_STORE_DEVICE_PUB_P256R1_SIGNATURE_SIZE = 64
SID_PAL_MFG_STORE_DAK_PUB_ED25519_SIZE = 32
SID_PAL_MFG_STORE_DAK_PUB_ED25519_SIGNATURE_SIZE = 64
SID_PAL_MFG_STORE_DAK_ED25519_SERIAL_SIZE = 4
SID_PAL_MFG_STORE_DAK_PUB_P256R1_SIZE = 64
SID_PAL_MFG_STORE_DAK_PUB_P256R1_SIGNATURE_SIZE = 64
SID_PAL_MFG_STORE_DAK_P256R1_SERIAL_SIZE = 4
SID_PAL_MFG_STORE_PRODUCT_PUB_ED25519_SIZE = 32
SID_PAL_MFG_STORE_PRODUCT_PUB_ED25519_SIGNATURE_SIZE = 64
SID_PAL_MFG_STORE_PRODUCT_ED25519_SERIAL_SIZE = 4
SID_PAL_MFG_STORE_PRODUCT_PUB_P256R1_SIZE = 64
SID_PAL_MFG_STORE_PRODUCT_PUB_P256R1_SIGNATURE_SIZE = 64
SID_PAL_MFG_STORE_PRODUCT_P256R1_SERIAL_SIZE = 4
SID_PAL_MFG_STORE_MAN_PUB_ED25519_SIZE = 32
SID_PAL_MFG_STORE_MAN_PUB_ED25519_SIGNATURE_SIZE = 64
SID_PAL_MFG_STORE_MAN_ED25519_SERIAL_SIZE = 4
SID_PAL_MFG_STORE_MAN_PUB_P256R1_SIZE = 64
SID_PAL_MFG_STORE_MAN_PUB_P256R1_SIGNATURE_SIZE = 64
SID_PAL_MFG_STORE_MAN_P256R1_SERIAL_SIZE = 4
SID_PAL_MFG_STORE_SW_PUB_ED25519_SIZE = 32
SID_PAL_MFG_STORE_SW_PUB_ED25519_SIGNATURE_SIZE = 64
SID_PAL_MFG_STORE_SW_ED25519_SERIAL_SIZE = 4
SID_PAL_MFG_STORE_SW_PUB_P256R1_SIZE = 64
SID_PAL_MFG_STORE_SW_PUB_P256R1_SIGNATURE_SIZE = 64
SID_PAL_MFG_STORE_SW_P256R1_SERIAL_SIZE = 4
SID_PAL_MFG_STORE_AMZN_PUB_ED25519_SIZE = 32
SID_PAL_MFG_STORE_AMZN_PUB_P256R1_SIZE = 64
SID_PAL_MFG_STORE_APID_SIZE = 4
SID_PAL_MFG_STORE_DTID_SIZE = 14
}

Value sizes in bytes.

Typedefs#

typedef uint32_t(*

Function pointer type for converting an application-specific value to an offset.

typedef bool(*
sid_pal_mfg_store_overwrite_read_t)(uint16_t value, uint8_t *buffer, uint16_t length)

Function pointer type for overwriting the default read calls.

Macros#

#define

The current version of the MFG storage.

#define

Last version with fixed offsets

#define

This macro defines the version number for the TLV (Type-Length-Value)

#define

Maximum length for flash write operations in the manufacturing store.

Enumeration Documentation#

@0#

@0
Enumerator
SID_PAL_MFG_STORE_INVALID_OFFSET

sid_pal_mfg_store_value_t#

sid_pal_mfg_store_value_t

Values available to all users of the manufacturing store.

Enumerator
SID_PAL_MFG_STORE_DEVID

use sid_pal_mfg_store_dev_id_get

SID_PAL_MFG_STORE_VERSION

Note

  • Version is stored in network order use sid_pal_mfg_store_get_version

SID_PAL_MFG_STORE_SERIAL_NUM

use sid_pal_mfg_store_dev_id_get

SID_PAL_MFG_STORE_SMSN
SID_PAL_MFG_STORE_APP_PUB_ED25519
SID_PAL_MFG_STORE_DEVICE_PRIV_ED25519
SID_PAL_MFG_STORE_DEVICE_PUB_ED25519
SID_PAL_MFG_STORE_DEVICE_PUB_ED25519_SIGNATURE
SID_PAL_MFG_STORE_DEVICE_PRIV_P256R1
SID_PAL_MFG_STORE_DEVICE_PUB_P256R1
SID_PAL_MFG_STORE_DEVICE_PUB_P256R1_SIGNATURE
SID_PAL_MFG_STORE_DAK_PUB_ED25519
SID_PAL_MFG_STORE_DAK_PUB_ED25519_SIGNATURE
SID_PAL_MFG_STORE_DAK_ED25519_SERIAL
SID_PAL_MFG_STORE_DAK_PUB_P256R1
SID_PAL_MFG_STORE_DAK_PUB_P256R1_SIGNATURE
SID_PAL_MFG_STORE_DAK_P256R1_SERIAL
SID_PAL_MFG_STORE_PRODUCT_PUB_ED25519
SID_PAL_MFG_STORE_PRODUCT_PUB_ED25519_SIGNATURE
SID_PAL_MFG_STORE_PRODUCT_ED25519_SERIAL
SID_PAL_MFG_STORE_PRODUCT_PUB_P256R1
SID_PAL_MFG_STORE_PRODUCT_PUB_P256R1_SIGNATURE
SID_PAL_MFG_STORE_PRODUCT_P256R1_SERIAL
SID_PAL_MFG_STORE_MAN_PUB_ED25519
SID_PAL_MFG_STORE_MAN_PUB_ED25519_SIGNATURE
SID_PAL_MFG_STORE_MAN_ED25519_SERIAL
SID_PAL_MFG_STORE_MAN_PUB_P256R1
SID_PAL_MFG_STORE_MAN_PUB_P256R1_SIGNATURE
SID_PAL_MFG_STORE_MAN_P256R1_SERIAL
SID_PAL_MFG_STORE_SW_PUB_ED25519
SID_PAL_MFG_STORE_SW_PUB_ED25519_SIGNATURE
SID_PAL_MFG_STORE_SW_ED25519_SERIAL
SID_PAL_MFG_STORE_SW_PUB_P256R1
SID_PAL_MFG_STORE_SW_PUB_P256R1_SIGNATURE
SID_PAL_MFG_STORE_SW_P256R1_SERIAL
SID_PAL_MFG_STORE_AMZN_PUB_ED25519
SID_PAL_MFG_STORE_AMZN_PUB_P256R1
SID_PAL_MFG_STORE_APID
SID_PAL_MFG_STORE_DTID
SID_PAL_MFG_STORE_CORE_VALUE_MAX

Note

  • This arbitrary value is the number of value identifiers reserved by Sidewalk. The range of these value identifiers is: [0, SID_PAL_MFG_STORE_CORE_VALUE_MAX]. Applications may use identifiers outside of that range.

SID_PAL_MFG_STORE_VALUE_MAX

Note

  • The value 0x6FFF is reserved for internal use


sid_pal_mfg_store_value_size_t#

sid_pal_mfg_store_value_size_t

Value sizes in bytes.

This enum defines the sizes of various values stored in the manufacturing store.

Enumerator
SID_PAL_MFG_STORE_DEVID_SIZE
SID_PAL_MFG_STORE_VERSION_SIZE
SID_PAL_MFG_STORE_SERIAL_NUM_SIZE
SID_PAL_MFG_STORE_SMSN_SIZE
SID_PAL_MFG_STORE_APP_PUB_ED25519_SIZE
SID_PAL_MFG_STORE_DEVICE_PRIV_ED25519_SIZE
SID_PAL_MFG_STORE_DEVICE_PUB_ED25519_SIZE
SID_PAL_MFG_STORE_DEVICE_PUB_ED25519_SIGNATURE_SIZE
SID_PAL_MFG_STORE_DEVICE_PRIV_P256R1_SIZE
SID_PAL_MFG_STORE_DEVICE_PUB_P256R1_SIZE
SID_PAL_MFG_STORE_DEVICE_PUB_P256R1_SIGNATURE_SIZE
SID_PAL_MFG_STORE_DAK_PUB_ED25519_SIZE
SID_PAL_MFG_STORE_DAK_PUB_ED25519_SIGNATURE_SIZE
SID_PAL_MFG_STORE_DAK_ED25519_SERIAL_SIZE
SID_PAL_MFG_STORE_DAK_PUB_P256R1_SIZE
SID_PAL_MFG_STORE_DAK_PUB_P256R1_SIGNATURE_SIZE
SID_PAL_MFG_STORE_DAK_P256R1_SERIAL_SIZE
SID_PAL_MFG_STORE_PRODUCT_PUB_ED25519_SIZE
SID_PAL_MFG_STORE_PRODUCT_PUB_ED25519_SIGNATURE_SIZE
SID_PAL_MFG_STORE_PRODUCT_ED25519_SERIAL_SIZE
SID_PAL_MFG_STORE_PRODUCT_PUB_P256R1_SIZE
SID_PAL_MFG_STORE_PRODUCT_PUB_P256R1_SIGNATURE_SIZE
SID_PAL_MFG_STORE_PRODUCT_P256R1_SERIAL_SIZE
SID_PAL_MFG_STORE_MAN_PUB_ED25519_SIZE
SID_PAL_MFG_STORE_MAN_PUB_ED25519_SIGNATURE_SIZE
SID_PAL_MFG_STORE_MAN_ED25519_SERIAL_SIZE
SID_PAL_MFG_STORE_MAN_PUB_P256R1_SIZE
SID_PAL_MFG_STORE_MAN_PUB_P256R1_SIGNATURE_SIZE
SID_PAL_MFG_STORE_MAN_P256R1_SERIAL_SIZE
SID_PAL_MFG_STORE_SW_PUB_ED25519_SIZE
SID_PAL_MFG_STORE_SW_PUB_ED25519_SIGNATURE_SIZE
SID_PAL_MFG_STORE_SW_ED25519_SERIAL_SIZE
SID_PAL_MFG_STORE_SW_PUB_P256R1_SIZE
SID_PAL_MFG_STORE_SW_PUB_P256R1_SIGNATURE_SIZE
SID_PAL_MFG_STORE_SW_P256R1_SERIAL_SIZE
SID_PAL_MFG_STORE_AMZN_PUB_ED25519_SIZE
SID_PAL_MFG_STORE_AMZN_PUB_P256R1_SIZE
SID_PAL_MFG_STORE_APID_SIZE
SID_PAL_MFG_STORE_DTID_SIZE

Typedef Documentation#

sid_pal_mfg_store_app_value_to_offset_t#

sid_pal_mfg_store_app_value_to_offset_t )(int value)

Function pointer type for converting an application-specific value to an offset.

Parameters
TypeDirectionArgument NameDescription
N/Avalue

The application-specific value to be converted to an offset.

Returns

  • A 32-bit unsigned integer representing the offset corresponding to the input value.


sid_pal_mfg_store_overwrite_read_t#

sid_pal_mfg_store_overwrite_read_t )(uint16_t value, uint8_t *buffer, uint16_t length)

Function pointer type for overwriting the default read calls.

Parameters
TypeDirectionArgument NameDescription
N/Avalue

Enum constant for the desired value. Use values from sid_pal_mfg_store_value_t or application defined values here.

N/Abuffer

Buffer to which the value will be copied.

N/Alength

Length of the value in bytes. Use values from sid_pal_mfg_store_value_size_t here.

Returns

  • True if the value is overwritten, otherwise false


Macro Definition Documentation#

SID_PAL_MFG_STORE_EMPTY_VERSION_NUMBER#

#define SID_PAL_MFG_STORE_EMPTY_VERSION_NUMBER
Value:
0xFFFFFFFF

The current version of the MFG storage.

The version is stored during generating MFG. It can be used to migrate between different versions of MFG when changing its data structure.


SID_PAL_MFG_STORE_FIXED_OFFSETS_VERSION#

#define SID_PAL_MFG_STORE_FIXED_OFFSETS_VERSION
Value:
7

Last version with fixed offsets


SID_PAL_MFG_STORE_TLV_VERSION#

#define SID_PAL_MFG_STORE_TLV_VERSION
Value:
8

This macro defines the version number for the TLV (Type-Length-Value)


SID_PAL_MFG_STORE_MAX_FLASH_WRITE_LEN#

#define SID_PAL_MFG_STORE_MAX_FLASH_WRITE_LEN
Value:
64

Maximum length for flash write operations in the manufacturing store.

This macro defines the maximum number of bytes that can be written to the flash memory in a single write operation within the manufacturing store.

Note

  • This value is set to 64 bytes.