pub struct I3C_MST { /* private fields */ }
Expand description
I3C Controller (Master)
Implementations§
Source§impl I3C_MST
impl I3C_MST
Sourcepub const PTR: *const RegisterBlock = {0x500da000 as *const i3c_mst::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x500da000 as *const i3c_mst::RegisterBlock}
Pointer to the register block
Sourcepub const fn ptr() -> *const RegisterBlock
pub const fn ptr() -> *const RegisterBlock
Return the pointer to the register block
Sourcepub unsafe fn steal() -> Self
pub unsafe fn steal() -> Self
Steal an instance of this peripheral
§Safety
Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.
Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.
Methods from Deref<Target = RegisterBlock>§
Sourcepub fn device_ctrl(&self) -> &DEVICE_CTRL
pub fn device_ctrl(&self) -> &DEVICE_CTRL
0x00 - DEVICE_CTRL register controls the transfer properties and disposition of controllers capabilities.
Sourcepub fn buffer_thld_ctrl(&self) -> &BUFFER_THLD_CTRL
pub fn buffer_thld_ctrl(&self) -> &BUFFER_THLD_CTRL
0x1c - In-Band Interrupt Status Threshold Value . Every In Band Interrupt received by I3C controller generates an IBI status. This field controls the number of IBI status entries in the IBI buffer that trigger the IBI_STATUS_THLD_STAT interrupt.
Sourcepub fn data_buffer_thld_ctrl(&self) -> &DATA_BUFFER_THLD_CTRL
pub fn data_buffer_thld_ctrl(&self) -> &DATA_BUFFER_THLD_CTRL
0x20 - NA
Sourcepub fn ibi_notify_ctrl(&self) -> &IBI_NOTIFY_CTRL
pub fn ibi_notify_ctrl(&self) -> &IBI_NOTIFY_CTRL
0x24 - NA
Sourcepub fn ibi_sir_req_payload(&self) -> &IBI_SIR_REQ_PAYLOAD
pub fn ibi_sir_req_payload(&self) -> &IBI_SIR_REQ_PAYLOAD
0x28 - NA
Sourcepub fn ibi_sir_req_reject(&self) -> &IBI_SIR_REQ_REJECT
pub fn ibi_sir_req_reject(&self) -> &IBI_SIR_REQ_REJECT
0x2c - NA
Sourcepub fn int_st_ena(&self) -> &INT_ST_ENA
pub fn int_st_ena(&self) -> &INT_ST_ENA
0x3c - The Interrupt status will be updated in INTR_STATUS register if corresponding Status Enable bit set.
Sourcepub fn reset_ctrl(&self) -> &RESET_CTRL
pub fn reset_ctrl(&self) -> &RESET_CTRL
0x44 - NA
Sourcepub fn buffer_status_level(&self) -> &BUFFER_STATUS_LEVEL
pub fn buffer_status_level(&self) -> &BUFFER_STATUS_LEVEL
0x48 - BUFFER_STATUS_LEVEL reflects the status level of Buffers in the controller.
Sourcepub fn data_buffer_status_level(&self) -> &DATA_BUFFER_STATUS_LEVEL
pub fn data_buffer_status_level(&self) -> &DATA_BUFFER_STATUS_LEVEL
0x4c - DATA_BUFFER_STATUS_LEVEL reflects the status level of the Buffers in the controller.
Sourcepub fn present_state0(&self) -> &PRESENT_STATE0
pub fn present_state0(&self) -> &PRESENT_STATE0
0x50 - NA
Sourcepub fn present_state1(&self) -> &PRESENT_STATE1
pub fn present_state1(&self) -> &PRESENT_STATE1
0x54 - NA
Sourcepub fn device_table(&self) -> &DEVICE_TABLE
pub fn device_table(&self) -> &DEVICE_TABLE
0x58 - Pointer for Device Address Table
Sourcepub fn time_out_value(&self) -> &TIME_OUT_VALUE
pub fn time_out_value(&self) -> &TIME_OUT_VALUE
0x5c - NA
Sourcepub fn scl_i3c_mst_od_time(&self) -> &SCL_I3C_MST_OD_TIME
pub fn scl_i3c_mst_od_time(&self) -> &SCL_I3C_MST_OD_TIME
0x60 - NA
Sourcepub fn scl_i3c_mst_pp_time(&self) -> &SCL_I3C_MST_PP_TIME
pub fn scl_i3c_mst_pp_time(&self) -> &SCL_I3C_MST_PP_TIME
0x64 - NA
Sourcepub fn scl_i2c_fm_time(&self) -> &SCL_I2C_FM_TIME
pub fn scl_i2c_fm_time(&self) -> &SCL_I2C_FM_TIME
0x68 - NA
Sourcepub fn scl_i2c_fmp_time(&self) -> &SCL_I2C_FMP_TIME
pub fn scl_i2c_fmp_time(&self) -> &SCL_I2C_FMP_TIME
0x6c - NA
Sourcepub fn scl_ext_low_time(&self) -> &SCL_EXT_LOW_TIME
pub fn scl_ext_low_time(&self) -> &SCL_EXT_LOW_TIME
0x70 - NA
Sourcepub fn sda_sample_time(&self) -> &SDA_SAMPLE_TIME
pub fn sda_sample_time(&self) -> &SDA_SAMPLE_TIME
0x74 - NA
Sourcepub fn sda_hold_time(&self) -> &SDA_HOLD_TIME
pub fn sda_hold_time(&self) -> &SDA_HOLD_TIME
0x78 - NA
Sourcepub fn scl_start_hold(&self) -> &SCL_START_HOLD
pub fn scl_start_hold(&self) -> &SCL_START_HOLD
0x7c - NA
Sourcepub fn scl_rstart_setup(&self) -> &SCL_RSTART_SETUP
pub fn scl_rstart_setup(&self) -> &SCL_RSTART_SETUP
0x80 - NA
Sourcepub fn scl_stop_hold(&self) -> &SCL_STOP_HOLD
pub fn scl_stop_hold(&self) -> &SCL_STOP_HOLD
0x84 - NA
Sourcepub fn scl_stop_setup(&self) -> &SCL_STOP_SETUP
pub fn scl_stop_setup(&self) -> &SCL_STOP_SETUP
0x88 - NA
Sourcepub fn bus_free_time(&self) -> &BUS_FREE_TIME
pub fn bus_free_time(&self) -> &BUS_FREE_TIME
0x90 - NA
Sourcepub fn scl_termn_t_ext_low_time(&self) -> &SCL_TERMN_T_EXT_LOW_TIME
pub fn scl_termn_t_ext_low_time(&self) -> &SCL_TERMN_T_EXT_LOW_TIME
0x94 - NA
Sourcepub fn fpga_debug_probe(&self) -> &FPGA_DEBUG_PROBE
pub fn fpga_debug_probe(&self) -> &FPGA_DEBUG_PROBE
0xac - NA
Sourcepub fn rnd_eco_cs(&self) -> &RND_ECO_CS
pub fn rnd_eco_cs(&self) -> &RND_ECO_CS
0xb0 - NA
Sourcepub fn rnd_eco_low(&self) -> &RND_ECO_LOW
pub fn rnd_eco_low(&self) -> &RND_ECO_LOW
0xb4 - NA
Sourcepub fn rnd_eco_high(&self) -> &RND_ECO_HIGH
pub fn rnd_eco_high(&self) -> &RND_ECO_HIGH
0xb8 - NA