#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
#[doc = "0x00 - GPIO_BT_SELECT"]
pub bt_select: crate::Reg<bt_select::BT_SELECT_SPEC>,
#[doc = "0x04 - GPIO_OUT"]
pub out: crate::Reg<out::OUT_SPEC>,
#[doc = "0x08 - GPIO_OUT_W1TS"]
pub out_w1ts: crate::Reg<out_w1ts::OUT_W1TS_SPEC>,
#[doc = "0x0c - GPIO_OUT_W1TC"]
pub out_w1tc: crate::Reg<out_w1tc::OUT_W1TC_SPEC>,
#[doc = "0x10 - GPIO_OUT1"]
pub out1: crate::Reg<out1::OUT1_SPEC>,
#[doc = "0x14 - GPIO_OUT1_W1TS"]
pub out1_w1ts: crate::Reg<out1_w1ts::OUT1_W1TS_SPEC>,
#[doc = "0x18 - GPIO_OUT1_W1TC"]
pub out1_w1tc: crate::Reg<out1_w1tc::OUT1_W1TC_SPEC>,
#[doc = "0x1c - GPIO_SDIO_SELECT"]
pub sdio_select: crate::Reg<sdio_select::SDIO_SELECT_SPEC>,
#[doc = "0x20 - GPIO_ENABLE"]
pub enable: crate::Reg<enable::ENABLE_SPEC>,
#[doc = "0x24 - GPIO_ENABLE_W1TS"]
pub enable_w1ts: crate::Reg<enable_w1ts::ENABLE_W1TS_SPEC>,
#[doc = "0x28 - GPIO_ENABLE_W1TC"]
pub enable_w1tc: crate::Reg<enable_w1tc::ENABLE_W1TC_SPEC>,
#[doc = "0x2c - GPIO_ENABLE1"]
pub enable1: crate::Reg<enable1::ENABLE1_SPEC>,
#[doc = "0x30 - GPIO_ENABLE1_W1TS"]
pub enable1_w1ts: crate::Reg<enable1_w1ts::ENABLE1_W1TS_SPEC>,
#[doc = "0x34 - GPIO_ENABLE1_W1TC"]
pub enable1_w1tc: crate::Reg<enable1_w1tc::ENABLE1_W1TC_SPEC>,
#[doc = "0x38 - GPIO_STRAP"]
pub strap: crate::Reg<strap::STRAP_SPEC>,
#[doc = "0x3c - GPIO_IN"]
pub in_: crate::Reg<in_::IN_SPEC>,
#[doc = "0x40 - GPIO_IN1"]
pub in1: crate::Reg<in1::IN1_SPEC>,
#[doc = "0x44 - GPIO_STATUS"]
pub status: crate::Reg<status::STATUS_SPEC>,
#[doc = "0x48 - GPIO_STATUS_W1TS"]
pub status_w1ts: crate::Reg<status_w1ts::STATUS_W1TS_SPEC>,
#[doc = "0x4c - GPIO_STATUS_W1TC"]
pub status_w1tc: crate::Reg<status_w1tc::STATUS_W1TC_SPEC>,
#[doc = "0x50 - GPIO_STATUS1"]
pub status1: crate::Reg<status1::STATUS1_SPEC>,
#[doc = "0x54 - GPIO_STATUS1_W1TS"]
pub status1_w1ts: crate::Reg<status1_w1ts::STATUS1_W1TS_SPEC>,
#[doc = "0x58 - GPIO_STATUS1_W1TC"]
pub status1_w1tc: crate::Reg<status1_w1tc::STATUS1_W1TC_SPEC>,
_reserved23: [u8; 4usize],
#[doc = "0x60 - GPIO_ACPU_INT"]
pub acpu_int: crate::Reg<acpu_int::ACPU_INT_SPEC>,
#[doc = "0x64 - GPIO_ACPU_NMI_INT"]
pub acpu_nmi_int: crate::Reg<acpu_nmi_int::ACPU_NMI_INT_SPEC>,
#[doc = "0x68 - GPIO_PCPU_INT"]
pub pcpu_int: crate::Reg<pcpu_int::PCPU_INT_SPEC>,
#[doc = "0x6c - GPIO_PCPU_NMI_INT"]
pub pcpu_nmi_int: crate::Reg<pcpu_nmi_int::PCPU_NMI_INT_SPEC>,
#[doc = "0x70 - GPIO_CPUSDIO_INT"]
pub cpusdio_int: crate::Reg<cpusdio_int::CPUSDIO_INT_SPEC>,
#[doc = "0x74 - GPIO_ACPU_INT1"]
pub acpu_int1: crate::Reg<acpu_int1::ACPU_INT1_SPEC>,
#[doc = "0x78 - GPIO_ACPU_NMI_INT1"]
pub acpu_nmi_int1: crate::Reg<acpu_nmi_int1::ACPU_NMI_INT1_SPEC>,
#[doc = "0x7c - GPIO_PCPU_INT1"]
pub pcpu_int1: crate::Reg<pcpu_int1::PCPU_INT1_SPEC>,
#[doc = "0x80 - GPIO_PCPU_NMI_INT1"]
pub pcpu_nmi_int1: crate::Reg<pcpu_nmi_int1::PCPU_NMI_INT1_SPEC>,
#[doc = "0x84 - GPIO_CPUSDIO_INT1"]
pub cpusdio_int1: crate::Reg<cpusdio_int1::CPUSDIO_INT1_SPEC>,
#[doc = "0x88 - GPIO_PIN0"]
pub pin: [crate::Reg<pin::PIN_SPEC>; 40],
#[doc = "0x128 - GPIO_cali_conf"]
pub cali_conf: crate::Reg<cali_conf::CALI_CONF_SPEC>,
#[doc = "0x12c - GPIO_cali_data"]
pub cali_data: crate::Reg<cali_data::CALI_DATA_SPEC>,
#[doc = "0x130 - GPIO_FUNC0_IN_SEL_CFG"]
pub func_in_sel_cfg: [crate::Reg<func_in_sel_cfg::FUNC_IN_SEL_CFG_SPEC>; 256],
#[doc = "0x530 - GPIO_FUNC0_OUT_SEL_CFG"]
pub func_out_sel_cfg: [crate::Reg<func_out_sel_cfg::FUNC_OUT_SEL_CFG_SPEC>; 40],
}
#[doc = "BT_SELECT register accessor: an alias for `Reg<BT_SELECT_SPEC>`"]
pub type BT_SELECT = crate::Reg<bt_select::BT_SELECT_SPEC>;
#[doc = "GPIO_BT_SELECT"]
pub mod bt_select;
#[doc = "OUT register accessor: an alias for `Reg<OUT_SPEC>`"]
pub type OUT = crate::Reg<out::OUT_SPEC>;
#[doc = "GPIO_OUT"]
pub mod out;
#[doc = "OUT_W1TS register accessor: an alias for `Reg<OUT_W1TS_SPEC>`"]
pub type OUT_W1TS = crate::Reg<out_w1ts::OUT_W1TS_SPEC>;
#[doc = "GPIO_OUT_W1TS"]
pub mod out_w1ts;
#[doc = "OUT_W1TC register accessor: an alias for `Reg<OUT_W1TC_SPEC>`"]
pub type OUT_W1TC = crate::Reg<out_w1tc::OUT_W1TC_SPEC>;
#[doc = "GPIO_OUT_W1TC"]
pub mod out_w1tc;
#[doc = "OUT1 register accessor: an alias for `Reg<OUT1_SPEC>`"]
pub type OUT1 = crate::Reg<out1::OUT1_SPEC>;
#[doc = "GPIO_OUT1"]
pub mod out1;
#[doc = "OUT1_W1TS register accessor: an alias for `Reg<OUT1_W1TS_SPEC>`"]
pub type OUT1_W1TS = crate::Reg<out1_w1ts::OUT1_W1TS_SPEC>;
#[doc = "GPIO_OUT1_W1TS"]
pub mod out1_w1ts;
#[doc = "OUT1_W1TC register accessor: an alias for `Reg<OUT1_W1TC_SPEC>`"]
pub type OUT1_W1TC = crate::Reg<out1_w1tc::OUT1_W1TC_SPEC>;
#[doc = "GPIO_OUT1_W1TC"]
pub mod out1_w1tc;
#[doc = "SDIO_SELECT register accessor: an alias for `Reg<SDIO_SELECT_SPEC>`"]
pub type SDIO_SELECT = crate::Reg<sdio_select::SDIO_SELECT_SPEC>;
#[doc = "GPIO_SDIO_SELECT"]
pub mod sdio_select;
#[doc = "ENABLE register accessor: an alias for `Reg<ENABLE_SPEC>`"]
pub type ENABLE = crate::Reg<enable::ENABLE_SPEC>;
#[doc = "GPIO_ENABLE"]
pub mod enable;
#[doc = "ENABLE_W1TS register accessor: an alias for `Reg<ENABLE_W1TS_SPEC>`"]
pub type ENABLE_W1TS = crate::Reg<enable_w1ts::ENABLE_W1TS_SPEC>;
#[doc = "GPIO_ENABLE_W1TS"]
pub mod enable_w1ts;
#[doc = "ENABLE_W1TC register accessor: an alias for `Reg<ENABLE_W1TC_SPEC>`"]
pub type ENABLE_W1TC = crate::Reg<enable_w1tc::ENABLE_W1TC_SPEC>;
#[doc = "GPIO_ENABLE_W1TC"]
pub mod enable_w1tc;
#[doc = "ENABLE1 register accessor: an alias for `Reg<ENABLE1_SPEC>`"]
pub type ENABLE1 = crate::Reg<enable1::ENABLE1_SPEC>;
#[doc = "GPIO_ENABLE1"]
pub mod enable1;
#[doc = "ENABLE1_W1TS register accessor: an alias for `Reg<ENABLE1_W1TS_SPEC>`"]
pub type ENABLE1_W1TS = crate::Reg<enable1_w1ts::ENABLE1_W1TS_SPEC>;
#[doc = "GPIO_ENABLE1_W1TS"]
pub mod enable1_w1ts;
#[doc = "ENABLE1_W1TC register accessor: an alias for `Reg<ENABLE1_W1TC_SPEC>`"]
pub type ENABLE1_W1TC = crate::Reg<enable1_w1tc::ENABLE1_W1TC_SPEC>;
#[doc = "GPIO_ENABLE1_W1TC"]
pub mod enable1_w1tc;
#[doc = "STRAP register accessor: an alias for `Reg<STRAP_SPEC>`"]
pub type STRAP = crate::Reg<strap::STRAP_SPEC>;
#[doc = "GPIO_STRAP"]
pub mod strap;
#[doc = "IN register accessor: an alias for `Reg<IN_SPEC>`"]
pub type IN = crate::Reg<in_::IN_SPEC>;
#[doc = "GPIO_IN"]
pub mod in_;
#[doc = "IN1 register accessor: an alias for `Reg<IN1_SPEC>`"]
pub type IN1 = crate::Reg<in1::IN1_SPEC>;
#[doc = "GPIO_IN1"]
pub mod in1;
#[doc = "STATUS register accessor: an alias for `Reg<STATUS_SPEC>`"]
pub type STATUS = crate::Reg<status::STATUS_SPEC>;
#[doc = "GPIO_STATUS"]
pub mod status;
#[doc = "STATUS_W1TS register accessor: an alias for `Reg<STATUS_W1TS_SPEC>`"]
pub type STATUS_W1TS = crate::Reg<status_w1ts::STATUS_W1TS_SPEC>;
#[doc = "GPIO_STATUS_W1TS"]
pub mod status_w1ts;
#[doc = "STATUS_W1TC register accessor: an alias for `Reg<STATUS_W1TC_SPEC>`"]
pub type STATUS_W1TC = crate::Reg<status_w1tc::STATUS_W1TC_SPEC>;
#[doc = "GPIO_STATUS_W1TC"]
pub mod status_w1tc;
#[doc = "STATUS1 register accessor: an alias for `Reg<STATUS1_SPEC>`"]
pub type STATUS1 = crate::Reg<status1::STATUS1_SPEC>;
#[doc = "GPIO_STATUS1"]
pub mod status1;
#[doc = "STATUS1_W1TS register accessor: an alias for `Reg<STATUS1_W1TS_SPEC>`"]
pub type STATUS1_W1TS = crate::Reg<status1_w1ts::STATUS1_W1TS_SPEC>;
#[doc = "GPIO_STATUS1_W1TS"]
pub mod status1_w1ts;
#[doc = "STATUS1_W1TC register accessor: an alias for `Reg<STATUS1_W1TC_SPEC>`"]
pub type STATUS1_W1TC = crate::Reg<status1_w1tc::STATUS1_W1TC_SPEC>;
#[doc = "GPIO_STATUS1_W1TC"]
pub mod status1_w1tc;
#[doc = "ACPU_INT register accessor: an alias for `Reg<ACPU_INT_SPEC>`"]
pub type ACPU_INT = crate::Reg<acpu_int::ACPU_INT_SPEC>;
#[doc = "GPIO_ACPU_INT"]
pub mod acpu_int;
#[doc = "ACPU_NMI_INT register accessor: an alias for `Reg<ACPU_NMI_INT_SPEC>`"]
pub type ACPU_NMI_INT = crate::Reg<acpu_nmi_int::ACPU_NMI_INT_SPEC>;
#[doc = "GPIO_ACPU_NMI_INT"]
pub mod acpu_nmi_int;
#[doc = "PCPU_INT register accessor: an alias for `Reg<PCPU_INT_SPEC>`"]
pub type PCPU_INT = crate::Reg<pcpu_int::PCPU_INT_SPEC>;
#[doc = "GPIO_PCPU_INT"]
pub mod pcpu_int;
#[doc = "PCPU_NMI_INT register accessor: an alias for `Reg<PCPU_NMI_INT_SPEC>`"]
pub type PCPU_NMI_INT = crate::Reg<pcpu_nmi_int::PCPU_NMI_INT_SPEC>;
#[doc = "GPIO_PCPU_NMI_INT"]
pub mod pcpu_nmi_int;
#[doc = "CPUSDIO_INT register accessor: an alias for `Reg<CPUSDIO_INT_SPEC>`"]
pub type CPUSDIO_INT = crate::Reg<cpusdio_int::CPUSDIO_INT_SPEC>;
#[doc = "GPIO_CPUSDIO_INT"]
pub mod cpusdio_int;
#[doc = "ACPU_INT1 register accessor: an alias for `Reg<ACPU_INT1_SPEC>`"]
pub type ACPU_INT1 = crate::Reg<acpu_int1::ACPU_INT1_SPEC>;
#[doc = "GPIO_ACPU_INT1"]
pub mod acpu_int1;
#[doc = "ACPU_NMI_INT1 register accessor: an alias for `Reg<ACPU_NMI_INT1_SPEC>`"]
pub type ACPU_NMI_INT1 = crate::Reg<acpu_nmi_int1::ACPU_NMI_INT1_SPEC>;
#[doc = "GPIO_ACPU_NMI_INT1"]
pub mod acpu_nmi_int1;
#[doc = "PCPU_INT1 register accessor: an alias for `Reg<PCPU_INT1_SPEC>`"]
pub type PCPU_INT1 = crate::Reg<pcpu_int1::PCPU_INT1_SPEC>;
#[doc = "GPIO_PCPU_INT1"]
pub mod pcpu_int1;
#[doc = "PCPU_NMI_INT1 register accessor: an alias for `Reg<PCPU_NMI_INT1_SPEC>`"]
pub type PCPU_NMI_INT1 = crate::Reg<pcpu_nmi_int1::PCPU_NMI_INT1_SPEC>;
#[doc = "GPIO_PCPU_NMI_INT1"]
pub mod pcpu_nmi_int1;
#[doc = "CPUSDIO_INT1 register accessor: an alias for `Reg<CPUSDIO_INT1_SPEC>`"]
pub type CPUSDIO_INT1 = crate::Reg<cpusdio_int1::CPUSDIO_INT1_SPEC>;
#[doc = "GPIO_CPUSDIO_INT1"]
pub mod cpusdio_int1;
#[doc = "PIN register accessor: an alias for `Reg<PIN_SPEC>`"]
pub type PIN = crate::Reg<pin::PIN_SPEC>;
#[doc = "GPIO_PIN0"]
pub mod pin;
#[doc = "cali_conf register accessor: an alias for `Reg<CALI_CONF_SPEC>`"]
pub type CALI_CONF = crate::Reg<cali_conf::CALI_CONF_SPEC>;
#[doc = "GPIO_cali_conf"]
pub mod cali_conf;
#[doc = "cali_data register accessor: an alias for `Reg<CALI_DATA_SPEC>`"]
pub type CALI_DATA = crate::Reg<cali_data::CALI_DATA_SPEC>;
#[doc = "GPIO_cali_data"]
pub mod cali_data;
#[doc = "FUNC_IN_SEL_CFG register accessor: an alias for `Reg<FUNC_IN_SEL_CFG_SPEC>`"]
pub type FUNC_IN_SEL_CFG = crate::Reg<func_in_sel_cfg::FUNC_IN_SEL_CFG_SPEC>;
#[doc = "GPIO_FUNC0_IN_SEL_CFG"]
pub mod func_in_sel_cfg;
#[doc = "FUNC_OUT_SEL_CFG register accessor: an alias for `Reg<FUNC_OUT_SEL_CFG_SPEC>`"]
pub type FUNC_OUT_SEL_CFG = crate::Reg<func_out_sel_cfg::FUNC_OUT_SEL_CFG_SPEC>;
#[doc = "GPIO_FUNC0_OUT_SEL_CFG"]
pub mod func_out_sel_cfg;