Struct rp_pac::otp_data_raw::regs::BootFlags0
source · #[repr(transparent)]pub struct BootFlags0(pub u32);
Expand description
Disable/Enable boot paths/features in the RP2350 mask ROM. Disables always supersede enables. Enables are provided where there are other configurations in OTP that must be valid. (RBIT-3)
Tuple Fields§
§0: u32
Implementations§
source§impl BootFlags0
impl BootFlags0
pub const fn disable_bootsel_exec2(&self) -> bool
pub fn set_disable_bootsel_exec2(&mut self, val: bool)
sourcepub const fn enable_bootsel_led(&self) -> bool
pub const fn enable_bootsel_led(&self) -> bool
Enable bootloader activity LED. If set, bootsel_led_cfg is assumed to be valid
sourcepub fn set_enable_bootsel_led(&mut self, val: bool)
pub fn set_enable_bootsel_led(&mut self, val: bool)
Enable bootloader activity LED. If set, bootsel_led_cfg is assumed to be valid
sourcepub const fn enable_bootsel_non_default_pll_xosc_cfg(&self) -> bool
pub const fn enable_bootsel_non_default_pll_xosc_cfg(&self) -> bool
Enable loading of the non-default XOSC and PLL configuration before entering BOOTSEL mode. Ensure that BOOTSEL_XOSC_CFG and BOOTSEL_PLL_CFG are correctly programmed before setting this bit. If this bit is set, user software may use the contents of BOOTSEL_PLL_CFG to calculated the expected XOSC frequency based on the fixed USB boot frequency of 48 MHz.
sourcepub fn set_enable_bootsel_non_default_pll_xosc_cfg(&mut self, val: bool)
pub fn set_enable_bootsel_non_default_pll_xosc_cfg(&mut self, val: bool)
Enable loading of the non-default XOSC and PLL configuration before entering BOOTSEL mode. Ensure that BOOTSEL_XOSC_CFG and BOOTSEL_PLL_CFG are correctly programmed before setting this bit. If this bit is set, user software may use the contents of BOOTSEL_PLL_CFG to calculated the expected XOSC frequency based on the fixed USB boot frequency of 48 MHz.
sourcepub const fn flash_io_voltage_1v8(&self) -> bool
pub const fn flash_io_voltage_1v8(&self) -> bool
If 1, configure the QSPI pads for 1.8 V operation when accessing flash for the first time from the bootrom, using the VOLTAGE_SELECT register for the QSPI pads bank. This slightly improves the input timing of the pads at low voltages, but does not affect their output characteristics. If 0, leave VOLTAGE_SELECT in its reset state (suitable for operation at and above 2.5 V)
sourcepub fn set_flash_io_voltage_1v8(&mut self, val: bool)
pub fn set_flash_io_voltage_1v8(&mut self, val: bool)
If 1, configure the QSPI pads for 1.8 V operation when accessing flash for the first time from the bootrom, using the VOLTAGE_SELECT register for the QSPI pads bank. This slightly improves the input timing of the pads at low voltages, but does not affect their output characteristics. If 0, leave VOLTAGE_SELECT in its reset state (suitable for operation at and above 2.5 V)
sourcepub const fn fast_sigcheck_rosc_div(&self) -> bool
pub const fn fast_sigcheck_rosc_div(&self) -> bool
Enable quartering of ROSC divisor during signature check, to reduce secure boot time
sourcepub fn set_fast_sigcheck_rosc_div(&mut self, val: bool)
pub fn set_fast_sigcheck_rosc_div(&mut self, val: bool)
Enable quartering of ROSC divisor during signature check, to reduce secure boot time
sourcepub const fn flash_devinfo_enable(&self) -> bool
pub const fn flash_devinfo_enable(&self) -> bool
Mark FLASH_DEVINFO as containing valid, ECC’d data which describes external flash devices.
sourcepub fn set_flash_devinfo_enable(&mut self, val: bool)
pub fn set_flash_devinfo_enable(&mut self, val: bool)
Mark FLASH_DEVINFO as containing valid, ECC’d data which describes external flash devices.
sourcepub const fn override_flash_partition_slot_size(&self) -> bool
pub const fn override_flash_partition_slot_size(&self) -> bool
Override the limit for default flash metadata scanning. The value is specified in FLASH_PARTITION_SLOT_SIZE. Make sure FLASH_PARTITION_SLOT_SIZE is valid before setting this bit
sourcepub fn set_override_flash_partition_slot_size(&mut self, val: bool)
pub fn set_override_flash_partition_slot_size(&mut self, val: bool)
Override the limit for default flash metadata scanning. The value is specified in FLASH_PARTITION_SLOT_SIZE. Make sure FLASH_PARTITION_SLOT_SIZE is valid before setting this bit
sourcepub const fn single_flash_binary(&self) -> bool
pub const fn single_flash_binary(&self) -> bool
Restrict flash boot path to use of a single binary at the start of flash
sourcepub fn set_single_flash_binary(&mut self, val: bool)
pub fn set_single_flash_binary(&mut self, val: bool)
Restrict flash boot path to use of a single binary at the start of flash
sourcepub const fn disable_auto_switch_arch(&self) -> bool
pub const fn disable_auto_switch_arch(&self) -> bool
Disable auto-switch of CPU architecture on boot when the (only) binary to be booted is for the other Arm/RISC-V architecture and both architectures are enabled
sourcepub fn set_disable_auto_switch_arch(&mut self, val: bool)
pub fn set_disable_auto_switch_arch(&mut self, val: bool)
Disable auto-switch of CPU architecture on boot when the (only) binary to be booted is for the other Arm/RISC-V architecture and both architectures are enabled
sourcepub const fn secure_partition_table(&self) -> bool
pub const fn secure_partition_table(&self) -> bool
Require a partition table to be signed
sourcepub fn set_secure_partition_table(&mut self, val: bool)
pub fn set_secure_partition_table(&mut self, val: bool)
Require a partition table to be signed
sourcepub const fn hashed_partition_table(&self) -> bool
pub const fn hashed_partition_table(&self) -> bool
Require a partition table to be hashed (if not signed)
sourcepub fn set_hashed_partition_table(&mut self, val: bool)
pub fn set_hashed_partition_table(&mut self, val: bool)
Require a partition table to be hashed (if not signed)
sourcepub const fn rollback_required(&self) -> bool
pub const fn rollback_required(&self) -> bool
Require binaries to have a rollback version. Set automatically the first time a binary with a rollback version is booted.
sourcepub fn set_rollback_required(&mut self, val: bool)
pub fn set_rollback_required(&mut self, val: bool)
Require binaries to have a rollback version. Set automatically the first time a binary with a rollback version is booted.
pub const fn disable_flash_boot(&self) -> bool
pub fn set_disable_flash_boot(&mut self, val: bool)
sourcepub const fn disable_otp_boot(&self) -> bool
pub const fn disable_otp_boot(&self) -> bool
Takes precedence over ENABLE_OTP_BOOT.
sourcepub fn set_disable_otp_boot(&mut self, val: bool)
pub fn set_disable_otp_boot(&mut self, val: bool)
Takes precedence over ENABLE_OTP_BOOT.
sourcepub const fn enable_otp_boot(&self) -> bool
pub const fn enable_otp_boot(&self) -> bool
Enable OTP boot. A number of OTP rows specified by OTPBOOT_LEN will be loaded, starting from OTPBOOT_SRC, into the SRAM location specified by OTPBOOT_DST1 and OTPBOOT_DST0. The loaded program image is stored with ECC, 16 bits per row, and must contain a valid IMAGE_DEF. Do not set this bit without first programming an image into OTP and configuring OTPBOOT_LEN, OTPBOOT_SRC, OTPBOOT_DST0 and OTPBOOT_DST1. Note that OTPBOOT_LEN and OTPBOOT_SRC must be even numbers of OTP rows. Equivalently, the image must be a multiple of 32 bits in size, and must start at a 32-bit-aligned address in the ECC read data address window.
sourcepub fn set_enable_otp_boot(&mut self, val: bool)
pub fn set_enable_otp_boot(&mut self, val: bool)
Enable OTP boot. A number of OTP rows specified by OTPBOOT_LEN will be loaded, starting from OTPBOOT_SRC, into the SRAM location specified by OTPBOOT_DST1 and OTPBOOT_DST0. The loaded program image is stored with ECC, 16 bits per row, and must contain a valid IMAGE_DEF. Do not set this bit without first programming an image into OTP and configuring OTPBOOT_LEN, OTPBOOT_SRC, OTPBOOT_DST0 and OTPBOOT_DST1. Note that OTPBOOT_LEN and OTPBOOT_SRC must be even numbers of OTP rows. Equivalently, the image must be a multiple of 32 bits in size, and must start at a 32-bit-aligned address in the ECC read data address window.
pub const fn disable_power_scratch(&self) -> bool
pub fn set_disable_power_scratch(&mut self, val: bool)
pub const fn disable_watchdog_scratch(&self) -> bool
pub fn set_disable_watchdog_scratch(&mut self, val: bool)
pub const fn disable_bootsel_usb_msd_ifc(&self) -> bool
pub fn set_disable_bootsel_usb_msd_ifc(&mut self, val: bool)
pub const fn disable_bootsel_usb_picoboot_ifc(&self) -> bool
pub fn set_disable_bootsel_usb_picoboot_ifc(&mut self, val: bool)
pub const fn disable_bootsel_uart_boot(&self) -> bool
pub fn set_disable_bootsel_uart_boot(&mut self, val: bool)
sourcepub const fn disable_xip_access_on_sram_entry(&self) -> bool
pub const fn disable_xip_access_on_sram_entry(&self) -> bool
Disable all access to XIP after entering an SRAM binary. Note that this will cause bootrom APIs that access XIP to fail, including APIs that interact with the partition table.
sourcepub fn set_disable_xip_access_on_sram_entry(&mut self, val: bool)
pub fn set_disable_xip_access_on_sram_entry(&mut self, val: bool)
Disable all access to XIP after entering an SRAM binary. Note that this will cause bootrom APIs that access XIP to fail, including APIs that interact with the partition table.
pub const fn disable_sram_window_boot(&self) -> bool
pub fn set_disable_sram_window_boot(&mut self, val: bool)
Trait Implementations§
source§impl Clone for BootFlags0
impl Clone for BootFlags0
source§fn clone(&self) -> BootFlags0
fn clone(&self) -> BootFlags0
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Default for BootFlags0
impl Default for BootFlags0
source§fn default() -> BootFlags0
fn default() -> BootFlags0
source§impl PartialEq for BootFlags0
impl PartialEq for BootFlags0
impl Copy for BootFlags0
impl Eq for BootFlags0
impl StructuralPartialEq for BootFlags0
Auto Trait Implementations§
impl Freeze for BootFlags0
impl RefUnwindSafe for BootFlags0
impl Send for BootFlags0
impl Sync for BootFlags0
impl Unpin for BootFlags0
impl UnwindSafe for BootFlags0
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)