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§
- Additional access for the
bootrom_state_reset
ROM function. - Additional access for the
chain_image
ROM function. - Additional access for the
connect_internal_flash
ROM function. - Additional access for the
explicit_buy
ROM function. - Additional access for the
flash_enter_cmd_xip
ROM function. - Additional access for the
flash_exit_xip
ROM function. - Additional access for the
flash_flush_cache
ROM function. - Additional access for the
flash_op
ROM function. - Additional access for the
flash_op_ns
ROM function. - Additional access for the
flash_range_erase
ROM function. - Additional access for the
flash_range_program
ROM function. - Additional access for the
flash_reset_address_trans
ROM function. - Additional access for the
flash_runtime_to_storage_addr
ROM function. - Additional access for the
flash_runtime_to_storage_addr_ns
ROM function. - Additional access for the
flash_select_xip_read_mode
ROM function. - Additional access for the
get_b_partition
ROM function. - Additional access for the
get_partition_table_info
ROM function. - Additional access for the
get_partition_table_info_ns
ROM function. - Additional access for the
get_sys_info
ROM function. - Additional access for the
get_sys_info_ns
ROM function. - Additional access for the
get_uf2_target_partition
ROM function. - Additional access for the
load_partition_table
ROM function. - Additional access for the
otp_access
ROM function. - Additional access for the
otp_access_ns
ROM function. - Additional access for the
pick_ab_parition
ROM function. - Additional access for the
reboot
ROM function. - Additional access for the
reboot_ns
ROM function. - Additional access for the
set_bootrom_stack
ROM function. - Additional access for the
set_ns_api_permission
ROM function. - Additional access for the
set_rom_callback
ROM function. - Additional access for the
validate_ns_buffer
ROM function.
Functions§
- Resets internal bootrom state.
- Searches a memory region for a launchable image, and executes it if possible.
- Restore all QSPI pad controls to their default state, and connect the QMI peripheral to the QSPI pads.
- Perform an “explicit” buy of an executable launched via an IMAGE_DEF which was “explicit buy” flagged.
- Configure the QMI to generate a standard 03h serial read command, with 24 address bits, upon each XIP access.
- Initialise the QMI for serial operations (direct mode)
- Flush the entire XIP cache, by issuing an invalidate by set/way maintenance operation to every cache line (Section 4.4.1).
- Perform a flash read, erase, or program operation.
- Non-secure version of flash_op()
- Erase count bytes, starting at addr (offset from start of flash).
- Program data to a range of flash storage addresses starting at addr (offset from the start of flash) and count bytes in size.
- 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.
- Applies the address translation currently configured by QMI address translation registers, ATRANS0 through ATRANS7.
- Non-secure version of flash_runtime_to_storage_addr()
- 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.
- 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.
- Fills a buffer with information from the partition table.
- Non-secure version of get_partition_table_info()
- Fills a buffer with various system information.
- Non-secure version of get_sys_info()
- Not yet documented.
- The 8 most significant hex digits of the Bootrom git revision.
- Determine if we are in secure mode
- Loads the current partition table from flash, if present.
- Writes data from a buffer into OTP, or reads data from OTP into a buffer.
- Non-secure version of otp_access()
- A pointer to the resident partition table info.
- Determines which of the partitions has the “better” IMAGE_DEF. In the case of executable images, this is the one that would be booted.
- Resets the RP2350 and uses the watchdog facility to restart.
- Non-secure version of reboot()
- Retrieve rom data content from a table using a code.
- Retrieve rom content from a table using a code.
- The version number of the rom.
- Allow or disallow the specific NS API (note all NS APIs default to disabled).
- Set a boot ROM callback.
- Utility method that can be used by secure ARM code to validate a buffer passed to it from Non-secure code.
Type Aliases§
- A bootrom function table code.