pub struct Sio { /* private fields */ }
Expand description
Single-cycle IO block Provides core-local and inter-core hardware for the two processors, with single-cycle access.
Implementations§
source§impl Sio
impl Sio
pub const unsafe fn from_ptr(ptr: *mut ()) -> Self
pub const fn as_ptr(&self) -> *mut ()
pub const fn gpio_out(self, n: usize) -> Gpio
pub const fn gpio_oe(self, n: usize) -> Gpio
pub const fn fifo(self) -> Fifo
sourcepub const fn spinlock_st(self) -> Reg<u32, RW>
pub const fn spinlock_st(self) -> Reg<u32, RW>
Spinlock state A bitmap containing the state of all 32 spinlocks (1=locked). Mainly intended for debugging.
pub const fn div(self) -> Div
pub const fn interp(self, n: usize) -> Interp
sourcepub const fn spinlock(self, n: usize) -> Reg<u32, RW>
pub const fn spinlock(self, n: usize) -> Reg<u32, RW>
Reading from a spinlock address will: - Return 0 if lock is already locked - Otherwise return nonzero, and simultaneously claim the lock Writing (any value) releases the lock. If core 0 and core 1 attempt to claim the same lock simultaneously, core 0 wins. The value returned on success is 0x1 << lock number.
Trait Implementations§
impl Copy for Sio
impl Eq for Sio
impl Send for Sio
impl StructuralPartialEq for Sio
impl Sync for Sio
Auto Trait Implementations§
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)