rp-pac

Crates

git

Versions

rp235x

Flavors

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

source

pub const fn disable_bootsel_exec2(&self) -> bool

source

pub fn set_disable_bootsel_exec2(&mut self, val: bool)

source

pub const fn enable_bootsel_led(&self) -> bool

Enable bootloader activity LED. If set, bootsel_led_cfg is assumed to be valid

source

pub fn set_enable_bootsel_led(&mut self, val: bool)

Enable bootloader activity LED. If set, bootsel_led_cfg is assumed to be valid

source

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.

source

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.

source

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)

source

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)

source

pub const fn fast_sigcheck_rosc_div(&self) -> bool

Enable quartering of ROSC divisor during signature check, to reduce secure boot time

source

pub fn set_fast_sigcheck_rosc_div(&mut self, val: bool)

Enable quartering of ROSC divisor during signature check, to reduce secure boot time

source

pub const fn flash_devinfo_enable(&self) -> bool

Mark FLASH_DEVINFO as containing valid, ECC’d data which describes external flash devices.

source

pub fn set_flash_devinfo_enable(&mut self, val: bool)

Mark FLASH_DEVINFO as containing valid, ECC’d data which describes external flash devices.

source

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

source

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

source

pub const fn single_flash_binary(&self) -> bool

Restrict flash boot path to use of a single binary at the start of flash

source

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

source

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

source

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

source

pub const fn secure_partition_table(&self) -> bool

Require a partition table to be signed

source

pub fn set_secure_partition_table(&mut self, val: bool)

Require a partition table to be signed

source

pub const fn hashed_partition_table(&self) -> bool

Require a partition table to be hashed (if not signed)

source

pub fn set_hashed_partition_table(&mut self, val: bool)

Require a partition table to be hashed (if not signed)

source

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.

source

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.

source

pub const fn disable_flash_boot(&self) -> bool

source

pub fn set_disable_flash_boot(&mut self, val: bool)

source

pub const fn disable_otp_boot(&self) -> bool

Takes precedence over ENABLE_OTP_BOOT.

source

pub fn set_disable_otp_boot(&mut self, val: bool)

Takes precedence over ENABLE_OTP_BOOT.

source

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.

source

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.

source

pub const fn disable_power_scratch(&self) -> bool

source

pub fn set_disable_power_scratch(&mut self, val: bool)

source

pub const fn disable_watchdog_scratch(&self) -> bool

source

pub fn set_disable_watchdog_scratch(&mut self, val: bool)

source

pub const fn disable_bootsel_usb_msd_ifc(&self) -> bool

source

pub fn set_disable_bootsel_usb_msd_ifc(&mut self, val: bool)

source

pub const fn disable_bootsel_usb_picoboot_ifc(&self) -> bool

source

pub fn set_disable_bootsel_usb_picoboot_ifc(&mut self, val: bool)

source

pub const fn disable_bootsel_uart_boot(&self) -> bool

source

pub fn set_disable_bootsel_uart_boot(&mut self, val: bool)

source

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.

source

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.

source

pub const fn disable_sram_window_boot(&self) -> bool

source

pub fn set_disable_sram_window_boot(&mut self, val: bool)

Trait Implementations§

source§

impl Clone for BootFlags0

source§

fn clone(&self) -> BootFlags0

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Default for BootFlags0

source§

fn default() -> BootFlags0

Returns the “default value” for a type. Read more
source§

impl PartialEq for BootFlags0

source§

fn eq(&self, other: &BootFlags0) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for BootFlags0

source§

impl Eq for BootFlags0

source§

impl StructuralPartialEq for BootFlags0

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.