crate::unstable_module! {
pub mod clocks;
}
pub mod gpio;
pub(crate) mod regi2c;
pub(crate) use esp32c5 as pac;
#[cfg_attr(not(feature = "unstable"), allow(unused))]
pub(crate) mod constants {}
pub(crate) fn pre_init() {
for m in crate::peripherals::TEE::regs().m_mode_ctrl_iter() {
m.reset();
}
crate::peripherals::GPIO::regs().enable().reset();
}
#[doc(hidden)]
#[unsafe(link_section = ".rwtext")]
pub unsafe fn cache_writeback_addr(addr: u32, size: u32) {
unsafe extern "C" {
fn Cache_WriteBack_Addr(addr: u32, size: u32);
}
unsafe {
Cache_WriteBack_Addr(addr, size);
}
}
#[doc(hidden)]
#[unsafe(link_section = ".rwtext")]
pub unsafe fn cache_invalidate_addr(addr: u32, size: u32) {
unsafe extern "C" {
fn Cache_Invalidate_Addr(addr: u32, size: u32);
}
unsafe {
Cache_Invalidate_Addr(addr, size);
}
}
#[doc(hidden)]
#[unsafe(link_section = ".rwtext")]
pub unsafe fn cache_get_dcache_line_size() -> u32 {
unsafe extern "C" {
fn Cache_Get_DCache_Line_Size() -> u32;
}
unsafe { Cache_Get_DCache_Line_Size() }
}