#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
#[doc = "0x00 - I2C_SCL_LOW_PERIOD"]
pub scl_low_period: crate::Reg<scl_low_period::SCL_LOW_PERIOD_SPEC>,
#[doc = "0x04 - I2C_CTR"]
pub ctr: crate::Reg<ctr::CTR_SPEC>,
#[doc = "0x08 - I2C_SR"]
pub sr: crate::Reg<sr::SR_SPEC>,
#[doc = "0x0c - I2C_TO"]
pub to: crate::Reg<to::TO_SPEC>,
#[doc = "0x10 - I2C_SLAVE_ADDR"]
pub slave_addr: crate::Reg<slave_addr::SLAVE_ADDR_SPEC>,
#[doc = "0x14 - I2C_RXFIFO_ST"]
pub rxfifo_st: crate::Reg<rxfifo_st::RXFIFO_ST_SPEC>,
#[doc = "0x18 - I2C_FIFO_CONF"]
pub fifo_conf: crate::Reg<fifo_conf::FIFO_CONF_SPEC>,
#[doc = "0x1c - I2C_DATA"]
pub data: crate::Reg<data::DATA_SPEC>,
#[doc = "0x20 - I2C_INT_RAW"]
pub int_raw: crate::Reg<int_raw::INT_RAW_SPEC>,
#[doc = "0x24 - I2C_INT_CLR"]
pub int_clr: crate::Reg<int_clr::INT_CLR_SPEC>,
#[doc = "0x28 - I2C_INT_ENA"]
pub int_ena: crate::Reg<int_ena::INT_ENA_SPEC>,
#[doc = "0x2c - I2C_INT_STATUS"]
pub int_status: crate::Reg<int_status::INT_STATUS_SPEC>,
#[doc = "0x30 - I2C_SDA_HOLD"]
pub sda_hold: crate::Reg<sda_hold::SDA_HOLD_SPEC>,
#[doc = "0x34 - I2C_SDA_SAMPLE"]
pub sda_sample: crate::Reg<sda_sample::SDA_SAMPLE_SPEC>,
#[doc = "0x38 - I2C_SCL_HIGH_PERIOD"]
pub scl_high_period: crate::Reg<scl_high_period::SCL_HIGH_PERIOD_SPEC>,
_reserved15: [u8; 4usize],
#[doc = "0x40 - I2C_SCL_START_HOLD"]
pub scl_start_hold: crate::Reg<scl_start_hold::SCL_START_HOLD_SPEC>,
#[doc = "0x44 - I2C_SCL_RSTART_SETUP"]
pub scl_rstart_setup: crate::Reg<scl_rstart_setup::SCL_RSTART_SETUP_SPEC>,
#[doc = "0x48 - I2C_SCL_STOP_HOLD"]
pub scl_stop_hold: crate::Reg<scl_stop_hold::SCL_STOP_HOLD_SPEC>,
#[doc = "0x4c - I2C_SCL_STOP_SETUP"]
pub scl_stop_setup: crate::Reg<scl_stop_setup::SCL_STOP_SETUP_SPEC>,
#[doc = "0x50 - I2C_SCL_FILTER_CFG"]
pub scl_filter_cfg: crate::Reg<scl_filter_cfg::SCL_FILTER_CFG_SPEC>,
#[doc = "0x54 - I2C_SDA_FILTER_CFG"]
pub sda_filter_cfg: crate::Reg<sda_filter_cfg::SDA_FILTER_CFG_SPEC>,
#[doc = "0x58 - I2C_COMD0"]
pub comd0: crate::Reg<comd0::COMD0_SPEC>,
#[doc = "0x5c - I2C_COMD1"]
pub comd1: crate::Reg<comd1::COMD1_SPEC>,
#[doc = "0x60 - I2C_COMD2"]
pub comd2: crate::Reg<comd2::COMD2_SPEC>,
#[doc = "0x64 - I2C_COMD3"]
pub comd3: crate::Reg<comd3::COMD3_SPEC>,
#[doc = "0x68 - I2C_COMD4"]
pub comd4: crate::Reg<comd4::COMD4_SPEC>,
#[doc = "0x6c - I2C_COMD5"]
pub comd5: crate::Reg<comd5::COMD5_SPEC>,
#[doc = "0x70 - I2C_COMD6"]
pub comd6: crate::Reg<comd6::COMD6_SPEC>,
#[doc = "0x74 - I2C_COMD7"]
pub comd7: crate::Reg<comd7::COMD7_SPEC>,
#[doc = "0x78 - I2C_COMD8"]
pub comd8: crate::Reg<comd8::COMD8_SPEC>,
#[doc = "0x7c - I2C_COMD9"]
pub comd9: crate::Reg<comd9::COMD9_SPEC>,
#[doc = "0x80 - I2C_COMD10"]
pub comd10: crate::Reg<comd10::COMD10_SPEC>,
#[doc = "0x84 - I2C_COMD11"]
pub comd11: crate::Reg<comd11::COMD11_SPEC>,
#[doc = "0x88 - I2C_COMD12"]
pub comd12: crate::Reg<comd12::COMD12_SPEC>,
#[doc = "0x8c - I2C_COMD13"]
pub comd13: crate::Reg<comd13::COMD13_SPEC>,
#[doc = "0x90 - I2C_COMD14"]
pub comd14: crate::Reg<comd14::COMD14_SPEC>,
#[doc = "0x94 - I2C_COMD15"]
pub comd15: crate::Reg<comd15::COMD15_SPEC>,
_reserved37: [u8; 96usize],
#[doc = "0xf8 - I2C_DATE"]
pub date: crate::Reg<date::DATE_SPEC>,
}
#[doc = "SCL_LOW_PERIOD register accessor: an alias for `Reg<SCL_LOW_PERIOD_SPEC>`"]
pub type SCL_LOW_PERIOD = crate::Reg<scl_low_period::SCL_LOW_PERIOD_SPEC>;
#[doc = "I2C_SCL_LOW_PERIOD"]
pub mod scl_low_period;
#[doc = "CTR register accessor: an alias for `Reg<CTR_SPEC>`"]
pub type CTR = crate::Reg<ctr::CTR_SPEC>;
#[doc = "I2C_CTR"]
pub mod ctr;
#[doc = "SR register accessor: an alias for `Reg<SR_SPEC>`"]
pub type SR = crate::Reg<sr::SR_SPEC>;
#[doc = "I2C_SR"]
pub mod sr;
#[doc = "TO register accessor: an alias for `Reg<TO_SPEC>`"]
pub type TO = crate::Reg<to::TO_SPEC>;
#[doc = "I2C_TO"]
pub mod to;
#[doc = "SLAVE_ADDR register accessor: an alias for `Reg<SLAVE_ADDR_SPEC>`"]
pub type SLAVE_ADDR = crate::Reg<slave_addr::SLAVE_ADDR_SPEC>;
#[doc = "I2C_SLAVE_ADDR"]
pub mod slave_addr;
#[doc = "RXFIFO_ST register accessor: an alias for `Reg<RXFIFO_ST_SPEC>`"]
pub type RXFIFO_ST = crate::Reg<rxfifo_st::RXFIFO_ST_SPEC>;
#[doc = "I2C_RXFIFO_ST"]
pub mod rxfifo_st;
#[doc = "FIFO_CONF register accessor: an alias for `Reg<FIFO_CONF_SPEC>`"]
pub type FIFO_CONF = crate::Reg<fifo_conf::FIFO_CONF_SPEC>;
#[doc = "I2C_FIFO_CONF"]
pub mod fifo_conf;
#[doc = "DATA register accessor: an alias for `Reg<DATA_SPEC>`"]
pub type DATA = crate::Reg<data::DATA_SPEC>;
#[doc = "I2C_DATA"]
pub mod data;
#[doc = "INT_RAW register accessor: an alias for `Reg<INT_RAW_SPEC>`"]
pub type INT_RAW = crate::Reg<int_raw::INT_RAW_SPEC>;
#[doc = "I2C_INT_RAW"]
pub mod int_raw;
#[doc = "INT_CLR register accessor: an alias for `Reg<INT_CLR_SPEC>`"]
pub type INT_CLR = crate::Reg<int_clr::INT_CLR_SPEC>;
#[doc = "I2C_INT_CLR"]
pub mod int_clr;
#[doc = "INT_ENA register accessor: an alias for `Reg<INT_ENA_SPEC>`"]
pub type INT_ENA = crate::Reg<int_ena::INT_ENA_SPEC>;
#[doc = "I2C_INT_ENA"]
pub mod int_ena;
#[doc = "INT_STATUS register accessor: an alias for `Reg<INT_STATUS_SPEC>`"]
pub type INT_STATUS = crate::Reg<int_status::INT_STATUS_SPEC>;
#[doc = "I2C_INT_STATUS"]
pub mod int_status;
#[doc = "SDA_HOLD register accessor: an alias for `Reg<SDA_HOLD_SPEC>`"]
pub type SDA_HOLD = crate::Reg<sda_hold::SDA_HOLD_SPEC>;
#[doc = "I2C_SDA_HOLD"]
pub mod sda_hold;
#[doc = "SDA_SAMPLE register accessor: an alias for `Reg<SDA_SAMPLE_SPEC>`"]
pub type SDA_SAMPLE = crate::Reg<sda_sample::SDA_SAMPLE_SPEC>;
#[doc = "I2C_SDA_SAMPLE"]
pub mod sda_sample;
#[doc = "SCL_HIGH_PERIOD register accessor: an alias for `Reg<SCL_HIGH_PERIOD_SPEC>`"]
pub type SCL_HIGH_PERIOD = crate::Reg<scl_high_period::SCL_HIGH_PERIOD_SPEC>;
#[doc = "I2C_SCL_HIGH_PERIOD"]
pub mod scl_high_period;
#[doc = "SCL_START_HOLD register accessor: an alias for `Reg<SCL_START_HOLD_SPEC>`"]
pub type SCL_START_HOLD = crate::Reg<scl_start_hold::SCL_START_HOLD_SPEC>;
#[doc = "I2C_SCL_START_HOLD"]
pub mod scl_start_hold;
#[doc = "SCL_RSTART_SETUP register accessor: an alias for `Reg<SCL_RSTART_SETUP_SPEC>`"]
pub type SCL_RSTART_SETUP = crate::Reg<scl_rstart_setup::SCL_RSTART_SETUP_SPEC>;
#[doc = "I2C_SCL_RSTART_SETUP"]
pub mod scl_rstart_setup;
#[doc = "SCL_STOP_HOLD register accessor: an alias for `Reg<SCL_STOP_HOLD_SPEC>`"]
pub type SCL_STOP_HOLD = crate::Reg<scl_stop_hold::SCL_STOP_HOLD_SPEC>;
#[doc = "I2C_SCL_STOP_HOLD"]
pub mod scl_stop_hold;
#[doc = "SCL_STOP_SETUP register accessor: an alias for `Reg<SCL_STOP_SETUP_SPEC>`"]
pub type SCL_STOP_SETUP = crate::Reg<scl_stop_setup::SCL_STOP_SETUP_SPEC>;
#[doc = "I2C_SCL_STOP_SETUP"]
pub mod scl_stop_setup;
#[doc = "SCL_FILTER_CFG register accessor: an alias for `Reg<SCL_FILTER_CFG_SPEC>`"]
pub type SCL_FILTER_CFG = crate::Reg<scl_filter_cfg::SCL_FILTER_CFG_SPEC>;
#[doc = "I2C_SCL_FILTER_CFG"]
pub mod scl_filter_cfg;
#[doc = "SDA_FILTER_CFG register accessor: an alias for `Reg<SDA_FILTER_CFG_SPEC>`"]
pub type SDA_FILTER_CFG = crate::Reg<sda_filter_cfg::SDA_FILTER_CFG_SPEC>;
#[doc = "I2C_SDA_FILTER_CFG"]
pub mod sda_filter_cfg;
#[doc = "COMD0 register accessor: an alias for `Reg<COMD0_SPEC>`"]
pub type COMD0 = crate::Reg<comd0::COMD0_SPEC>;
#[doc = "I2C_COMD0"]
pub mod comd0;
#[doc = "COMD1 register accessor: an alias for `Reg<COMD1_SPEC>`"]
pub type COMD1 = crate::Reg<comd1::COMD1_SPEC>;
#[doc = "I2C_COMD1"]
pub mod comd1;
#[doc = "COMD2 register accessor: an alias for `Reg<COMD2_SPEC>`"]
pub type COMD2 = crate::Reg<comd2::COMD2_SPEC>;
#[doc = "I2C_COMD2"]
pub mod comd2;
#[doc = "COMD3 register accessor: an alias for `Reg<COMD3_SPEC>`"]
pub type COMD3 = crate::Reg<comd3::COMD3_SPEC>;
#[doc = "I2C_COMD3"]
pub mod comd3;
#[doc = "COMD4 register accessor: an alias for `Reg<COMD4_SPEC>`"]
pub type COMD4 = crate::Reg<comd4::COMD4_SPEC>;
#[doc = "I2C_COMD4"]
pub mod comd4;
#[doc = "COMD5 register accessor: an alias for `Reg<COMD5_SPEC>`"]
pub type COMD5 = crate::Reg<comd5::COMD5_SPEC>;
#[doc = "I2C_COMD5"]
pub mod comd5;
#[doc = "COMD6 register accessor: an alias for `Reg<COMD6_SPEC>`"]
pub type COMD6 = crate::Reg<comd6::COMD6_SPEC>;
#[doc = "I2C_COMD6"]
pub mod comd6;
#[doc = "COMD7 register accessor: an alias for `Reg<COMD7_SPEC>`"]
pub type COMD7 = crate::Reg<comd7::COMD7_SPEC>;
#[doc = "I2C_COMD7"]
pub mod comd7;
#[doc = "COMD8 register accessor: an alias for `Reg<COMD8_SPEC>`"]
pub type COMD8 = crate::Reg<comd8::COMD8_SPEC>;
#[doc = "I2C_COMD8"]
pub mod comd8;
#[doc = "COMD9 register accessor: an alias for `Reg<COMD9_SPEC>`"]
pub type COMD9 = crate::Reg<comd9::COMD9_SPEC>;
#[doc = "I2C_COMD9"]
pub mod comd9;
#[doc = "COMD10 register accessor: an alias for `Reg<COMD10_SPEC>`"]
pub type COMD10 = crate::Reg<comd10::COMD10_SPEC>;
#[doc = "I2C_COMD10"]
pub mod comd10;
#[doc = "COMD11 register accessor: an alias for `Reg<COMD11_SPEC>`"]
pub type COMD11 = crate::Reg<comd11::COMD11_SPEC>;
#[doc = "I2C_COMD11"]
pub mod comd11;
#[doc = "COMD12 register accessor: an alias for `Reg<COMD12_SPEC>`"]
pub type COMD12 = crate::Reg<comd12::COMD12_SPEC>;
#[doc = "I2C_COMD12"]
pub mod comd12;
#[doc = "COMD13 register accessor: an alias for `Reg<COMD13_SPEC>`"]
pub type COMD13 = crate::Reg<comd13::COMD13_SPEC>;
#[doc = "I2C_COMD13"]
pub mod comd13;
#[doc = "COMD14 register accessor: an alias for `Reg<COMD14_SPEC>`"]
pub type COMD14 = crate::Reg<comd14::COMD14_SPEC>;
#[doc = "I2C_COMD14"]
pub mod comd14;
#[doc = "COMD15 register accessor: an alias for `Reg<COMD15_SPEC>`"]
pub type COMD15 = crate::Reg<comd15::COMD15_SPEC>;
#[doc = "I2C_COMD15"]
pub mod comd15;
#[doc = "DATE register accessor: an alias for `Reg<DATE_SPEC>`"]
pub type DATE = crate::Reg<date::DATE_SPEC>;
#[doc = "I2C_DATE"]
pub mod date;