diff options
| author | Ian McIntyre <me@mciantyre.dev> | 2025-11-30 18:52:34 -0500 |
|---|---|---|
| committer | Ian McIntyre <me@mciantyre.dev> | 2025-11-30 19:10:51 -0500 |
| commit | 76199f21616ad86cf68f3b063c1ce23c6fc5a52f (patch) | |
| tree | 4c076d0afd649803a2bd9a5ed5cbb1f1c74fb459 /chips/imxrt1160/src/lib.rs | |
First commit
Diffstat (limited to 'chips/imxrt1160/src/lib.rs')
| -rw-r--r-- | chips/imxrt1160/src/lib.rs | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/chips/imxrt1160/src/lib.rs b/chips/imxrt1160/src/lib.rs new file mode 100644 index 0000000..d018052 --- /dev/null +++ b/chips/imxrt1160/src/lib.rs @@ -0,0 +1,90 @@ +#![no_std] + +mod rt; +pub use rt::*; + +pub use imxrt_drivers_ccm_11xx::ral_11xx as ccm; +pub use imxrt_drivers_enet as enet; +pub use imxrt_drivers_flexspi as flexspi; +pub use imxrt_drivers_gpio as gpio; +pub use imxrt_drivers_iomuxc_11xx::{iomuxc, iomuxc_gpr, iomuxc_lpsr}; +pub use imxrt_drivers_lpspi as lpspi; +pub use imxrt_drivers_pit as pit; + +pub mod dma { + pub use imxrt_drivers_edma::dma::edma as controller; + pub use imxrt_drivers_edma::dmamux as mux; + pub use imxrt_drivers_edma::edma as channel; + pub use imxrt_drivers_edma::element; + + pub mod events { + use core::num::NonZero; + + pub const LPSPI_RX: NonZero<u8> = NonZero::new(36).unwrap(); + pub const LPSPI_TX: NonZero<u8> = NonZero::new(37).unwrap(); + } +} + +pub use imxrt_drivers_gpc_11xx::cpu_mode_ctrl as gpc_cpu_mode_ctrl; +pub use imxrt_drivers_pmu_11xx as pmu; +pub use imxrt_drivers_rtwdog as rtwdog; + +pub mod instances { + ral_registers::instances! { + unsafe { + pub gpio1<crate::gpio::RegisterBlock> = 0x4012_c000; + pub gpio2<crate::gpio::RegisterBlock> = 0x4013_0000; + pub gpio3<crate::gpio::RegisterBlock> = 0x4013_4000; + pub gpio4<crate::gpio::RegisterBlock> = 0x4013_8000; + pub gpio5<crate::gpio::RegisterBlock> = 0x4013_c000; + pub gpio6<crate::gpio::RegisterBlock> = 0x4014_0000; + pub gpio7<crate::gpio::RegisterBlock> = 0x40c5_c000; + pub gpio8<crate::gpio::RegisterBlock> = 0x40c6_0000; + pub gpio9<crate::gpio::RegisterBlock> = 0x40c6_4000; + pub gpio10<crate::gpio::RegisterBlock> = 0x40c6_8000; + pub gpio11<crate::gpio::RegisterBlock> = 0x40c6_c000; + pub gpio12<crate::gpio::RegisterBlock> = 0x40c7_0000; + pub gpio13<crate::gpio::RegisterBlock> = 0x40ca_0000; + pub cm7_gpio2<crate::gpio::RegisterBlock> = 0x4200_8000; + pub cm7_gpio3<crate::gpio::RegisterBlock> = 0x4200_c000; + + pub ccm<crate::ccm::RegisterBlock> = 0x40CC_0000; + + pub enet<crate::enet::RegisterBlock> = 0x4042_4000; + pub enet_1g<crate::enet::RegisterBlock> = 0x4042_0000; + + pub flexspi1<crate::flexspi::RegisterBlock> = 0x400C_C000; + pub flexspi2<crate::flexspi::RegisterBlock> = 0x400D_0000; + + pub iomuxc<crate::iomuxc::RegisterBlock> = 0x400E_8000; + pub iomuxc_gpr<crate::iomuxc_gpr::RegisterBlock> = 0x400E_4000; + pub iomuxc_lpsr<crate::iomuxc_lpsr::RegisterBlock> = 0x40C0_8000; + + pub pit1<crate::pit::RegisterBlock> = 0x400d_8000; + pub pit2<crate::pit::RegisterBlock> = 0x40cb_0000; + + pub lpspi1<crate::lpspi::RegisterBlock> = 0x4011_4000; + pub lpspi2<crate::lpspi::RegisterBlock> = 0x4011_8000; + pub lpspi3<crate::lpspi::RegisterBlock> = 0x4011_c000; + pub lpspi4<crate::lpspi::RegisterBlock> = 0x4012_0000; + pub lpspi5<crate::lpspi::RegisterBlock> = 0x40c2_c000; + pub lpspi6<crate::lpspi::RegisterBlock> = 0x40c3_0000; + + pub dmamux0<crate::dma::mux::RegisterBlock> = 0x4007_4000; + pub dmamux1<crate::dma::mux::RegisterBlock> = 0x40C1_8000; + + pub dma0<crate::dma::controller::RegisterBlock> = 0x4007_0000; + pub dma1<crate::dma::controller::RegisterBlock> = 0x40C1_4000; + + pub gpc_cpu_mode_ctrl0<crate::gpc_cpu_mode_ctrl::RegisterBlock> = 0x40C0_0000; + pub gpc_cpu_mode_ctrl1<crate::gpc_cpu_mode_ctrl::RegisterBlock> = 0x40C0_0800; + + pub pmu<crate::pmu::RegisterBlock> = 0x40C8_4000; + + pub pll<crate::ccm::pll::RegisterBlock> = 0x40C8_4000; + + pub wdog3<crate::rtwdog::RegisterBlock> = 0x4003_8000; + pub wdog4<crate::rtwdog::RegisterBlock> = 0x40C1_0000; + } + } +} |
