Software APIs
owner_isfb_config Struct Reference

The owner Integration Specific Firmware Binding (ISFB) configuration describes the configuration parameters for the ISFB region. More...

#include <sw/device/silicon_creator/lib/ownership/datatypes.h>

Data Fields

tlv_header_t header
 Header identifiying this struct.
 
uint8_t bank
 The flash bank where the ISFB region is located.
 
uint8_t page
 The info flash page where the ISFB region is located.
 
uint16_t _pad
 Padding for alignment.
 
uint32_t erase_conditions
 The erase conditions for the ISFB region.
 
uint32_t key_domain
 If B0, part of erase authorization criteria.
 
uint32_t reserved [5]
 Reserved space for future use.
 
uint32_t product_words
 Number of uint32_t reserved for product expressions.
 

Detailed Description

The owner Integration Specific Firmware Binding (ISFB) configuration describes the configuration parameters for the ISFB region.

Integrators have their own constraints that require owner firmware to be locked to certain integrator-device phases. The ROM_EXT needs to perform these constraint checks instead of the owner firmware because the rescue protocol bypasses any owner firmware level enforcement.

Integrators can also perform their own rollback and upgrade automated testing using the strike words in the ISFB region. The erase policy implemented by this configuration entry allows the integrator to authorize erase operations of the ISFB region to configure devices for testing purposes.

Definition at line 416 of file datatypes.h.

Field Documentation

◆ _pad

uint16_t owner_isfb_config::_pad

Padding for alignment.

Definition at line 428 of file datatypes.h.

◆ bank

uint8_t owner_isfb_config::bank

The flash bank where the ISFB region is located.

Definition at line 424 of file datatypes.h.

◆ erase_conditions

uint32_t owner_isfb_config::erase_conditions

The erase conditions for the ISFB region.

This is a packed array of MUBI4 bools indicating which conditions authorize an erase. The conditions are aligned in little endian order: [B7, B6, B5, B4, B3, B2, B1, B0]

The conditions are:

  • B0: Firmware must be signed with key specified by key_domain field.
  • B1: Firmware must be node locked (e.g. manifest usage constraints must be enabled).
  • B2: manifest_ext_isfb_erase_t must be present and set to harden true in the firmware manifest.
  • B3-B7: Reserved.

Definition at line 445 of file datatypes.h.

◆ header

tlv_header_t owner_isfb_config::header

Header identifiying this struct.

tag: ISFB. length: 44 words.

Definition at line 422 of file datatypes.h.

◆ key_domain

uint32_t owner_isfb_config::key_domain

If B0, part of erase authorization criteria.

Definition at line 447 of file datatypes.h.

◆ page

uint8_t owner_isfb_config::page

The info flash page where the ISFB region is located.

Definition at line 426 of file datatypes.h.

◆ product_words

uint32_t owner_isfb_config::product_words

Number of uint32_t reserved for product expressions.

It has to be a value less than or equal to 256.

Definition at line 452 of file datatypes.h.

◆ reserved

uint32_t owner_isfb_config::reserved[5]

Reserved space for future use.

Definition at line 449 of file datatypes.h.