rp-pac

Crates

git

Versions

rp235x

Flavors

Struct rp_pac::otp_data::regs::BootselPllCfg

source ·
#[repr(transparent)]
pub struct BootselPllCfg(pub u16);
Expand description

Optional PLL configuration for BOOTSEL mode. (ECC) This should be configured to produce an exact 48 MHz based on the crystal oscillator frequency. User mode software may also use this value to calculate the expected crystal frequency based on an assumed 48 MHz PLL output. If no configuration is given, the crystal is assumed to be 12 MHz. The PLL frequency can be calculated as: PLL out = (XOSC frequency / (REFDIV+1)) x FBDIV / (POSTDIV1 x POSTDIV2) Conversely the crystal frequency can be calculated as: XOSC frequency = 48 MHz x (REFDIV+1) x (POSTDIV1 x POSTDIV2) / FBDIV (Note the +1 on REFDIV is because the value stored in this OTP location is the actual divisor value minus one.) Used if and only if ENABLE_BOOTSEL_NON_DEFAULT_PLL_XOSC_CFG is set in BOOT_FLAGS0. That bit should be set only after this row and BOOTSEL_XOSC_CFG are both correctly programmed.

Tuple Fields§

§0: u16

Implementations§

source§

impl BootselPllCfg

source

pub const fn fbdiv(&self) -> u16

PLL feedback divisor, in the range 16..320 inclusive.

source

pub fn set_fbdiv(&mut self, val: u16)

PLL feedback divisor, in the range 16..320 inclusive.

source

pub const fn postdiv1(&self) -> u8

PLL post-divide 1 divisor, in the range 1..7 inclusive.

source

pub fn set_postdiv1(&mut self, val: u8)

PLL post-divide 1 divisor, in the range 1..7 inclusive.

source

pub const fn postdiv2(&self) -> u8

PLL post-divide 2 divisor, in the range 1..7 inclusive.

source

pub fn set_postdiv2(&mut self, val: u8)

PLL post-divide 2 divisor, in the range 1..7 inclusive.

source

pub const fn refdiv(&self) -> bool

PLL reference divisor, minus one. Programming a value of 0 means a reference divisor of 1. Programming a value of 1 means a reference divisor of 2 (for exceptionally fast XIN inputs)

source

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

PLL reference divisor, minus one. Programming a value of 0 means a reference divisor of 1. Programming a value of 1 means a reference divisor of 2 (for exceptionally fast XIN inputs)

Trait Implementations§

source§

impl Clone for BootselPllCfg

source§

fn clone(&self) -> BootselPllCfg

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 BootselPllCfg

source§

fn default() -> BootselPllCfg

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

impl PartialEq for BootselPllCfg

source§

fn eq(&self, other: &BootselPllCfg) -> 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 BootselPllCfg

source§

impl Eq for BootselPllCfg

source§

impl StructuralPartialEq for BootselPllCfg

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.