T23x Boot Configuration Table¶
The Boot Configuration Table (BCT) is a set of platform-specific configuration data that is consumed by a boot component. BootROM and MB1 consume BCT in binary form, and this form is generated by using parsing device tree source configuration files, with a .dts file extension, by tegrabct_v2. Starting from T23x, the config file format changed from legacy <parameter> = <value>; to Device Tree Source (DTS) format for following reasons:
DTS format supports recursive inclusion and the overriding of properties though inclusion.
DTC can covert DTS/DTSI to DTB, which is a tree-like format, and is easier to parse than the current config file format.
BR-BCT¶
BR-BCT is loaded by BootROM from storage in coldboot mode and by MB1 in recovery mode. BootROM is main consumer of this BCT. However, some fields are also consumed by MB1 and CPU-BL.
MB1-BCT¶
MB1 BCT is loaded by MB1 from storage in coldboot mode or over USB (in RCM mode), is primarily consumed by MB1, and is constructed from the following configuration files:
Pinmux and GPIO Configuration
Common Prod configuration
Controller Prod configuration
Pad Voltage DT binding
PMIC configuration
Storage Device Configuration
UPHY Lane Configuration
OEM-FW Ratchet Configuration
BootROM Reset PMIC Configuration
Miscellaneous Configuration
Mem-BCT¶
Although Mem-BCT is similar to MB1-BCT in terms of loading and usage, Mem-BCT primarily contains SDRAM parameters that are used to initialize MC and EMC. Refer to SDRAM Configuration for more information.
MB2-BCT¶
MB2 BCT is loaded by MB1 from storage (in coldboot mode) or over USB (in RCM mode). It is primarily consumed by MB2 and is constructed out of the following configuration files:
GPIO Interrupt Mapping Configuration
Security Configuration
MB2-BCT Misc configuration
Important Notes for Customized Carrier Board¶
MB2 Configuration Changes in the BCT is required for customized Carrier Board in case the carrier board does not have EEPROM.
Modifying for Carrier Board Without EEPROM
EEPROM is an optional component for a customized carrier board. If the carrier board is designed without an EEPROM, the following modifications will be needed on the MB2 BCT file: Linux_for_Tegra/bootloader/tegra234-mb2-bct-common.dtsi
- cvb_eeprom_read_size = <0x100> + cvb_eeprom_read_size = <0x0>