Expand description
Functions and data from the RPI Bootrom.
From Section 5.4 of the RP2350 datasheet:
Whilst some ROM space is dedicated to the implementation of the boot sequence and USB/UART boot interfaces, the bootrom also contains public functions that provide useful RP2350 functionality that may be useful for any code or runtime running on the device
Modules§
- bootrom_
state_ reset - Additional access for the
bootrom_state_reset
ROM function. - chain_
image - Additional access for the
chain_image
ROM function. - connect_
internal_ flash - Additional access for the
connect_internal_flash
ROM function. - explicit_
buy - Additional access for the
explicit_buy
ROM function. - flash_
enter_ cmd_ xip - Additional access for the
flash_enter_cmd_xip
ROM function. - flash_
exit_ xip - Additional access for the
flash_exit_xip
ROM function. - flash_
flush_ cache - Additional access for the
flash_flush_cache
ROM function. - flash_
op - Additional access for the
flash_op
ROM function. - flash_
op_ ns - Additional access for the
flash_op_ns
ROM function. - flash_
range_ erase - Additional access for the
flash_range_erase
ROM function. - flash_
range_ program - Additional access for the
flash_range_program
ROM function. - flash_
reset_ address_ trans - Additional access for the
flash_reset_address_trans
ROM function. - flash_
runtime_ to_ storage_ addr - Additional access for the
flash_runtime_to_storage_addr
ROM function. - flash_
runtime_ to_ storage_ addr_ ns - Additional access for the
flash_runtime_to_storage_addr_ns
ROM function. - flash_
select_ xip_ read_ mode - Additional access for the
flash_select_xip_read_mode
ROM function. - get_
b_ partition - Additional access for the
get_b_partition
ROM function. - get_
partition_ table_ info - Additional access for the
get_partition_table_info
ROM function. - get_
partition_ table_ info_ ns - Additional access for the
get_partition_table_info_ns
ROM function. - get_
sys_ info - Additional access for the
get_sys_info
ROM function. - get_
sys_ info_ ns - Additional access for the
get_sys_info_ns
ROM function. - get_
uf2_ target_ partition - Additional access for the
get_uf2_target_partition
ROM function. - load_
partition_ table - Additional access for the
load_partition_table
ROM function. - otp_
access - Additional access for the
otp_access
ROM function. - otp_
access_ ns - Additional access for the
otp_access_ns
ROM function. - pick_
ab_ parition - Additional access for the
pick_ab_parition
ROM function. - reboot
- Additional access for the
reboot
ROM function. - reboot_
ns - Additional access for the
reboot_ns
ROM function. - set_
bootrom_ stack - Additional access for the
set_bootrom_stack
ROM function. - set_
ns_ api_ permission - Additional access for the
set_ns_api_permission
ROM function. - set_
rom_ callback - Additional access for the
set_rom_callback
ROM function. - validate_
ns_ buffer - Additional access for the
validate_ns_buffer
ROM function.
Functions§
- bootrom_
state_ ⚠reset - Resets internal bootrom state.
- chain_
image ⚠ - Searches a memory region for a launchable image, and executes it if possible.
- connect_
internal_ ⚠flash - Restore all QSPI pad controls to their default state, and connect the QMI peripheral to the QSPI pads.
- explicit_
buy ⚠ - Perform an “explicit” buy of an executable launched via an IMAGE_DEF which was “explicit buy” flagged.
- flash_
enter_ ⚠cmd_ xip - Configure the QMI to generate a standard 03h serial read command, with 24 address bits, upon each XIP access.
- flash_
exit_ ⚠xip - Initialise the QMI for serial operations (direct mode)
- flash_
flush_ ⚠cache - Flush the entire XIP cache, by issuing an invalidate by set/way maintenance operation to every cache line (Section 4.4.1).
- flash_
op ⚠ - Perform a flash read, erase, or program operation.
- flash_
op_ ⚠ns - Non-secure version of flash_op()
- flash_
range_ ⚠erase - Erase count bytes, starting at addr (offset from start of flash).
- flash_
range_ ⚠program - Program data to a range of flash storage addresses starting at addr (offset from the start of flash) and count bytes in size.
- flash_
reset_ ⚠address_ trans - Restore the QMI address translation registers, ATRANS0 through ATRANS7, to their reset state. This makes the runtime- to-storage address map an identity map, i.e. the mapped and unmapped address are equal, and the entire space is fully mapped.
- flash_
runtime_ ⚠to_ storage_ addr - Applies the address translation currently configured by QMI address translation registers, ATRANS0 through ATRANS7.
- flash_
runtime_ ⚠to_ storage_ addr_ ns - Non-secure version of flash_runtime_to_storage_addr()
- flash_
select_ ⚠xip_ read_ mode - Configure QMI for one of a small menu of XIP read modes supported by the bootrom. This mode is configured for both memory windows (both chip selects), and the clock divisor is also applied to direct mode.
- get_
b_ ⚠partition - Returns: The index of the B partition of partition A if a partition table is present and loaded, and there is a partition A with a B partition; otherwise returns BOOTROM_ERROR_NOT_FOUND.
- get_
partition_ ⚠table_ info - Fills a buffer with information from the partition table.
- get_
partition_ ⚠table_ info_ ns - Non-secure version of get_partition_table_info()
- get_
sys_ ⚠info - Fills a buffer with various system information.
- get_
sys_ ⚠info_ ns - Non-secure version of get_sys_info()
- get_
uf2_ ⚠target_ partition - Not yet documented.
- git_
revision - The 8 most significant hex digits of the Bootrom git revision.
- is_
secure_ mode - Determine if we are in secure mode
- load_
partition_ ⚠table - Loads the current partition table from flash, if present.
- otp_
access ⚠ - Writes data from a buffer into OTP, or reads data from OTP into a buffer.
- otp_
access_ ⚠ns - Non-secure version of otp_access()
- partition_
table_ pointer - A pointer to the resident partition table info.
- pick_
ab_ ⚠parition - Determines which of the partitions has the “better” IMAGE_DEF. In the case of executable images, this is the one that would be booted.
- reboot
- Resets the RP2350 and uses the watchdog facility to restart.
- reboot_
ns - Non-secure version of reboot()
- rom_
data_ lookup - Retrieve rom data content from a table using a code.
- rom_
table_ lookup - Retrieve rom content from a table using a code.
- rom_
version_ number - The version number of the rom.
- set_
ns_ ⚠api_ permission - Allow or disallow the specific NS API (note all NS APIs default to disabled).
- set_
rom_ ⚠callback - Set a boot ROM callback.
- validate_
ns_ ⚠buffer - Utility method that can be used by secure ARM code to validate a buffer passed to it from Non-secure code.
Type Aliases§
- RomFn
Table Code - A bootrom function table code.