aboutsummaryrefslogtreecommitdiff
path: root/chips/imxrt1160/src/lib.rs
diff options
context:
space:
mode:
authorIan McIntyre <me@mciantyre.dev>2025-11-30 18:52:34 -0500
committerIan McIntyre <me@mciantyre.dev>2025-11-30 19:10:51 -0500
commit76199f21616ad86cf68f3b063c1ce23c6fc5a52f (patch)
tree4c076d0afd649803a2bd9a5ed5cbb1f1c74fb459 /chips/imxrt1160/src/lib.rs
First commit
Diffstat (limited to 'chips/imxrt1160/src/lib.rs')
-rw-r--r--chips/imxrt1160/src/lib.rs90
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;
+ }
+ }
+}