pub struct Sio(pub *mut u8);
Expand description
Single-cycle IO block Provides core-local and inter-core hardware for the two processors, with single-cycle access.
Tuple Fields§
§0: *mut u8
Implementations§
Source§impl Sio
impl Sio
Sourcepub fn cpuid(self) -> Reg<u32, R>
pub 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 fn gpio_out(self, n: usize) -> Gpio
pub fn gpio_oe(self, n: usize) -> Gpio
pub fn fifo(self) -> Fifo
Sourcepub fn spinlock_st(self) -> Reg<u32, R>
pub 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 fn div(self) -> Div
pub fn interp(self, n: usize) -> Interp
Sourcepub fn spinlock(self, n: usize) -> Reg<u32, RW>
pub 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