embassy-mcxa

Crates

git

Versions

mcx-a256

Flavors

ClocksConfig

Struct ClocksConfig 

Source
#[non_exhaustive]
pub struct ClocksConfig { pub firc: Option<FircConfig>, pub sirc: SircConfig, pub fro16k: Option<Fro16KConfig>, }
Expand description
              ┌─────────────────────────────────────────────────────────┐
              │                                                         │
              │   ┌───────────┐  clk_out   ┌─────────┐                  │
   XTAL ──────┼──▷│ System    │───────────▷│         │       clk_in     │
              │   │  OSC      │ clkout_byp │   MUX   │──────────────────┼──────▷
  EXTAL ──────┼──▷│           │───────────▷│         │                  │
              │   └───────────┘            └─────────┘                  │
              │                                                         │
              │   ┌───────────┐ fro_hf_root  ┌────┐          fro_hf     │
              │   │ FRO180    ├───────┬─────▷│ CG │─────────────────────┼──────▷
              │   │           │       │      ├────┤         clk_45m     │
              │   │           │       └─────▷│ CG │─────────────────────┼──────▷
              │   └───────────┘              └────┘                     │
              │   ┌───────────┐ fro_12m_root  ┌────┐         fro_12m    │
              │   │ FRO12M    │────────┬─────▷│ CG │────────────────────┼──────▷
              │   │           │        │      ├────┤          clk_1m    │
              │   │           │        └─────▷│1/12│────────────────────┼──────▷
              │   └───────────┘               └────┘                    │
              │                                                         │
              │                  ┌──────────┐                           │
              │                  │000       │                           │
              │      clk_in      │          │                           │
              │  ───────────────▷│001       │                           │
              │      fro_12m     │          │                           │
              │  ───────────────▷│010       │                           │
              │    fro_hf_root   │          │                           │
              │  ───────────────▷│011       │              main_clk     │
              │                  │          │───────────────────────────┼──────▷
clk_16k ──────┼─────────────────▷│100       │                           │
              │       none       │          │                           │
              │  ───────────────▷│101       │                           │
              │     pll1_clk     │          │                           │
              │  ───────────────▷│110       │                           │
              │       none       │          │                           │
              │  ───────────────▷│111       │                           │
              │                  └──────────┘                           │
              │                        ▲                                │
              │                        │                                │
              │                     SCG SCS                             │
              │ SCG-Lite                                                │
              └─────────────────────────────────────────────────────────┘


                     clk_in      ┌─────┐
                 ───────────────▷│00   │
                     clk_45m     │     │
                 ───────────────▷│01   │      ┌───────────┐   pll1_clk
                      none       │     │─────▷│   SPLL    │───────────────▷
                 ───────────────▷│10   │      └───────────┘
                     fro_12m     │     │
                 ───────────────▷│11   │
                                 └─────┘

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§firc: Option<FircConfig>

FIRC, FRO180, 45/60/90/180M clock source

§sirc: SircConfig

SIRC, FRO12M, clk_12m clock source

§fro16k: Option<Fro16KConfig>

FRO16K clock source

Trait Implementations§

Source§

impl Default for ClocksConfig

Source§

fn default() -> Self

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

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> 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.