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_resetROM function. - chain_
image - Additional access for the
chain_imageROM function. - connect_
internal_ flash - Additional access for the
connect_internal_flashROM function. - explicit_
buy - Additional access for the
explicit_buyROM function. - flash_
enter_ cmd_ xip - Additional access for the
flash_enter_cmd_xipROM function. - flash_
exit_ xip - Additional access for the
flash_exit_xipROM function. - flash_
flush_ cache - Additional access for the
flash_flush_cacheROM function. - flash_
op - Additional access for the
flash_opROM function. - flash_
op_ ns - Additional access for the
flash_op_nsROM function. - flash_
range_ erase - Additional access for the
flash_range_eraseROM function. - flash_
range_ program - Additional access for the
flash_range_programROM function. - flash_
reset_ address_ trans - Additional access for the
flash_reset_address_transROM function. - flash_
runtime_ to_ storage_ addr - Additional access for the
flash_runtime_to_storage_addrROM function. - flash_
runtime_ to_ storage_ addr_ ns - Additional access for the
flash_runtime_to_storage_addr_nsROM function. - flash_
select_ xip_ read_ mode - Additional access for the
flash_select_xip_read_modeROM function. - get_
b_ partition - Additional access for the
get_b_partitionROM function. - get_
partition_ table_ info - Additional access for the
get_partition_table_infoROM function. - get_
partition_ table_ info_ ns - Additional access for the
get_partition_table_info_nsROM function. - get_
sys_ info - Additional access for the
get_sys_infoROM function. - get_
sys_ info_ ns - Additional access for the
get_sys_info_nsROM function. - get_
uf2_ target_ partition - Additional access for the
get_uf2_target_partitionROM function. - load_
partition_ table - Additional access for the
load_partition_tableROM function. - otp_
access - Additional access for the
otp_accessROM function. - otp_
access_ ns - Additional access for the
otp_access_nsROM function. - pick_
ab_ parition - Additional access for the
pick_ab_paritionROM function. - reboot
- Additional access for the
rebootROM function. - reboot_
ns - Additional access for the
reboot_nsROM function. - set_
bootrom_ stack - Additional access for the
set_bootrom_stackROM function. - set_
ns_ api_ permission - Additional access for the
set_ns_api_permissionROM function. - set_
rom_ callback - Additional access for the
set_rom_callbackROM function. - sys_
info_ api - This module defines a safe api to access the
get_sys_infobootrom function - validate_
ns_ buffer - Additional access for the
validate_ns_bufferROM function.
Enums§
- Boot
RomApi Error Code - bootrom API function return codes as defined by section 5.4.3 in the rp2350 data sheet See: https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.pdf
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_
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.
- flash_
runtime_ ⚠to_ storage_ addr - Applies the address translation currently configured by QMI address translation registers, ATRANS0 through ATRANS7.
- flash_
select_ ⚠xip_ read_ mode - Configure QMI for one of a small menu of XIP read modes supported by the bootrom.
- 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_
sys_ ⚠info - Fills a buffer with various system information.
- 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.
- 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.
- 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_
bootrom_ ⚠stack - Set stack for RISC-V bootrom functions to use.
- 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.