pub use drivers::{
adc, ccm_10xx as ccm, dcdc, dma, gpio, iomuxc_10xx as iomuxc, ocotp, pit, sai, snvs, tempmon,
trng,
};
#[macro_use]
mod drivers {
pub mod adc;
pub mod dcdc;
pub mod dma;
pub mod gpio;
pub mod ocotp;
pub mod pit;
pub mod sai;
pub mod snvs;
pub mod tempmon;
pub mod trng;
#[macro_use]
pub mod ccm_10xx;
pub mod iomuxc_10xx;
pub(crate) mod ocotp_10xx;
}
#[path = "drivers"]
pub(crate) mod config {
pub use imxrt_iomuxc::imxrt1060 as pads;
#[path = "ccm_10xx"]
pub(crate) mod ccm {
pub mod arm_divider;
#[path = "pre_periph_clk_pll1.rs"]
pub mod pre_periph_clk;
mod periph_clk2_podf;
mod periph_clk2_sel;
pub mod periph_clk2 {
pub use super::periph_clk2_podf::*;
pub use super::periph_clk2_sel::*;
}
pub(crate) mod analog {
pub mod pll1;
pub mod pll7;
}
pub(crate) mod clock_gate {
use crate::chip::ccm::clock_gate;
pub const PERCLK_CLOCK_GATES: &[clock_gate::Locator] = &[
clock_gate::pit(),
clock_gate::gpt_bus::<1>(),
clock_gate::gpt_bus::<2>(),
clock_gate::gpt_serial::<1>(),
clock_gate::gpt_serial::<2>(),
];
pub const UART_CLOCK_GATES: &[clock_gate::Locator] = &[
clock_gate::lpuart::<1>(),
clock_gate::lpuart::<2>(),
clock_gate::lpuart::<3>(),
clock_gate::lpuart::<4>(),
clock_gate::lpuart::<5>(),
clock_gate::lpuart::<6>(),
clock_gate::lpuart::<7>(),
clock_gate::lpuart::<8>(),
];
pub const LPSPI_CLOCK_GATES: &[clock_gate::Locator] = &[
clock_gate::lpspi::<1>(),
clock_gate::lpspi::<2>(),
clock_gate::lpspi::<3>(),
clock_gate::lpspi::<4>(),
];
pub const LPI2C_CLOCK_GATES: &[clock_gate::Locator] = &[
clock_gate::lpi2c::<1>(),
clock_gate::lpi2c::<2>(),
clock_gate::lpi2c::<3>(),
clock_gate::lpi2c::<4>(),
];
pub const SAI_CLOCK_GATES: &[clock_gate::Locator] = &[
clock_gate::sai::<1>(),
clock_gate::sai::<2>(),
clock_gate::sai::<3>(),
];
pub const IPG_CLOCK_GATES: &[clock_gate::Locator] = &[
clock_gate::adc::<1>(),
clock_gate::adc::<2>(),
clock_gate::dma(),
clock_gate::flexpwm::<1>(),
clock_gate::flexpwm::<2>(),
clock_gate::flexpwm::<3>(),
clock_gate::flexpwm::<4>(),
clock_gate::gpio::<1>(),
clock_gate::gpio::<2>(),
clock_gate::gpio::<3>(),
clock_gate::gpio::<4>(),
clock_gate::gpio::<5>(),
clock_gate::trng(),
clock_gate::snvs_lp(),
clock_gate::snvs_hp(),
clock_gate::usb(),
];
}
pub(crate) mod clko {
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum Clko1Selection {}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum Clko2Selection {}
}
ccm_flexio!(
flexio1_clk, "FLEXIO1",
divider: (CDCDR, FLEXIO1_CLK_PODF),
predivider: (CDCDR, FLEXIO1_CLK_PRED),
selection: (CDCDR, FLEXIO1_CLK_SEL),
);
ccm_flexio!(
flexio2_clk, "FLEXIO2",
divider: (CS1CDR, FLEXIO2_CLK_PODF),
predivider: (CS1CDR, FLEXIO2_CLK_PRED),
selection: (CSCMR2, FLEXIO2_CLK_SEL),
);
}
pub(crate) const DMA_CHANNEL_COUNT: usize = 32;
}