Skip to main content

RegisterBlock

Struct RegisterBlock 

Source
pub struct RegisterBlock { /* private fields */ }
Expand description

Register block

Implementations§

Source§

impl RegisterBlock

Source

pub const fn spi_er(&self) -> &SpiEr

0x00 - SPI enable register

Source

pub const fn spi_ctra(&self) -> &SpiCtra

0x04 - SPI control register 0

Source

pub const fn spi_ctrb(&self) -> &SpiCtrb

0x08 - SPI control register 1 (master only)

Source

pub const fn spi_enhctl(&self) -> &SpiEnhctl

0x0c - Enhanced control register (Dual/Quad/Octal)

Source

pub const fn spi_brs(&self) -> &SpiBrs

0x14 - Baud rate select register

Source

pub const fn spi_dcr(&self) -> &SpiDcr

0x18 - DMA control register

Source

pub const fn spi_drdl(&self) -> &SpiDrdl

0x1c - DMA RX data level

Source

pub const fn spi_dtdl(&self) -> &SpiDtdl

0x20 - DMA TX data level

Source

pub const fn spi_dr(&self) -> &SpiDr

0x60 - Data register (FIFO read/write)

Source

pub const fn spi_rainsr(&self) -> &SpiRainsr

0xbc - Raw interrupt status register

Source

pub const fn spi_insr(&self) -> &SpiInsr

0xc0 - Interrupt status register (masked)

Source

pub const fn spi_inmar(&self) -> &SpiInmar

0xc4 - Interrupt mask register

Source

pub const fn spi_slenr(&self) -> &SpiSlenr

0xc8 - Slave enable register (master only)

Source

pub const fn spi_twlr(&self) -> &SpiTwlr

0xcc - TX FIFO threshold level

Source

pub const fn spi_tlr(&self) -> &SpiTlr

0xd0 - TX FIFO level register

Source

pub const fn spi_rwlr(&self) -> &SpiRwlr

0xd8 - RX FIFO threshold level

Source

pub const fn spi_rlr(&self) -> &SpiRlr

0xdc - RX FIFO level register

Source

pub const fn spi_wsr(&self) -> &SpiWsr

0xe4 - Status register. Bit layout matches the HiSilicon SSI v151 silicon (vendor hal_spi_v151_regs_def.h spi_wsr_data), NOT the textbook DesignWare SR: the FIFO/busy flags are spread out, not packed in bits 0..6. Verified on WS63 silicon 2026-06-14 (idle reads 0x1800 = TXFNF | TXFE).

Source

pub const fn spi_icr(&self) -> &SpiIcr

0xf8 - Interrupt clear register

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.