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 ()
sourcepub const fn cpuid(self) -> Reg<u32, R>
pub const fn cpuid(self) -> Reg<u32, R>
Processor core identifier Value is 0 when read from processor core 0, and 1 when read from processor core 1.
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, R>
pub const fn spinlock_st(self) -> Reg<u32, R>
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 StructuralEq 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