1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 #[doc = "0x00 - Debug Monitor information"]
5 pub dbg_mon: crate::Reg<dbg_mon::DBG_MON_SPEC>,
6 #[doc = "0x04 - Register for selecting the subsystem routed to the debug monitor"]
7 pub subsys_dbg_mon_sel:
8 crate::Reg<subsys_dbg_mon_sel::SUBSYS_DBG_MON_SEL_SPEC>,
9 #[doc = "0x08 - Select A0 debug monitors"]
10 pub a0_dbg_mon_sel: crate::Reg<a0_dbg_mon_sel::A0_DBG_MON_SEL_SPEC>,
11 #[doc = "0x0c - Selects the data present in the PMU debug monitor. The output will be (Except 0 and 10), {Status0, Status1, ISO, RET, GateCLK_N, Mem_DS, MP_Gate, RP_Gate)"]
12 pub a0_pmu_dbg_mon_sel:
13 crate::Reg<a0_pmu_dbg_mon_sel::A0_PMU_DBG_MON_SEL_SPEC>,
14 _reserved4: [u8; 0xf0],
15 #[doc = "0x100 - Reads the value of the IO pins"]
16 pub io_input: crate::Reg<io_input::IO_INPUT_SPEC>,
17 #[doc = "0x104 - Allows FW to drive the IO with the values specified in this register"]
18 pub io_output: crate::Reg<io_output::IO_OUTPUT_SPEC>,
19 _reserved6: [u8; 0x08],
20 #[doc = "0x110 - Software Mailbox (can be used for communication between M4 and AP)"]
21 pub sw_mb_1: crate::Reg<sw_mb_1::SW_MB_1_SPEC>,
22 #[doc = "0x114 - Software Mailbox (can be used for communication between M4 and AP)"]
23 pub sw_mb_2: crate::Reg<sw_mb_2::SW_MB_2_SPEC>,
24 _reserved8: [u8; 0xe8],
25 #[doc = "0x200 - Select 1.8V for VCCIO for up to 4 banks. Write a 1 to a bank field to make the IO VCC = 1.8V"]
26 pub pad_sel18: crate::Reg<pad_sel18::PAD_SEL18_SPEC>,
27 _reserved9: [u8; 0x0c],
28 #[doc = "0x210 - Memory Configuration"]
29 pub config_mem128_aon:
30 crate::Reg<config_mem128_aon::CONFIG_MEM128_AON_SPEC>,
31 _reserved10: [u8; 0xfc],
32 #[doc = "0x310 - Control value and status of LOCK_KEY"]
33 pub lock_key_ctrl: crate::Reg<lock_key_ctrl::LOCK_KEY_CTRL_SPEC>,
34 _reserved11: [u8; 0xe8],
35 #[doc = "0x3fc - Fabric device ID"]
36 pub fb_device_id: crate::Reg<fb_device_id::FB_DEVICE_ID_SPEC>,
37}
38#[doc = "DBG_MON register accessor: an alias for `Reg<DBG_MON_SPEC>`"]
39pub type DBG_MON = crate::Reg<dbg_mon::DBG_MON_SPEC>;
40#[doc = "Debug Monitor information"]
41pub mod dbg_mon;
42#[doc = "SUBSYS_DBG_MON_SEL register accessor: an alias for `Reg<SUBSYS_DBG_MON_SEL_SPEC>`"]
43pub type SUBSYS_DBG_MON_SEL =
44 crate::Reg<subsys_dbg_mon_sel::SUBSYS_DBG_MON_SEL_SPEC>;
45#[doc = "Register for selecting the subsystem routed to the debug monitor"]
46pub mod subsys_dbg_mon_sel;
47#[doc = "A0_DBG_MON_SEL register accessor: an alias for `Reg<A0_DBG_MON_SEL_SPEC>`"]
48pub type A0_DBG_MON_SEL = crate::Reg<a0_dbg_mon_sel::A0_DBG_MON_SEL_SPEC>;
49#[doc = "Select A0 debug monitors"]
50pub mod a0_dbg_mon_sel;
51#[doc = "A0_PMU_DBG_MON_SEL register accessor: an alias for `Reg<A0_PMU_DBG_MON_SEL_SPEC>`"]
52pub type A0_PMU_DBG_MON_SEL =
53 crate::Reg<a0_pmu_dbg_mon_sel::A0_PMU_DBG_MON_SEL_SPEC>;
54#[doc = "Selects the data present in the PMU debug monitor. The output will be (Except 0 and 10), {Status0, Status1, ISO, RET, GateCLK_N, Mem_DS, MP_Gate, RP_Gate)"]
55pub mod a0_pmu_dbg_mon_sel;
56#[doc = "IO_INPUT register accessor: an alias for `Reg<IO_INPUT_SPEC>`"]
57pub type IO_INPUT = crate::Reg<io_input::IO_INPUT_SPEC>;
58#[doc = "Reads the value of the IO pins"]
59pub mod io_input;
60#[doc = "IO_OUTPUT register accessor: an alias for `Reg<IO_OUTPUT_SPEC>`"]
61pub type IO_OUTPUT = crate::Reg<io_output::IO_OUTPUT_SPEC>;
62#[doc = "Allows FW to drive the IO with the values specified in this register"]
63pub mod io_output;
64#[doc = "SW_MB_1 register accessor: an alias for `Reg<SW_MB_1_SPEC>`"]
65pub type SW_MB_1 = crate::Reg<sw_mb_1::SW_MB_1_SPEC>;
66#[doc = "Software Mailbox (can be used for communication between M4 and AP)"]
67pub mod sw_mb_1;
68#[doc = "SW_MB_2 register accessor: an alias for `Reg<SW_MB_2_SPEC>`"]
69pub type SW_MB_2 = crate::Reg<sw_mb_2::SW_MB_2_SPEC>;
70#[doc = "Software Mailbox (can be used for communication between M4 and AP)"]
71pub mod sw_mb_2;
72#[doc = "PAD_SEL18 register accessor: an alias for `Reg<PAD_SEL18_SPEC>`"]
73pub type PAD_SEL18 = crate::Reg<pad_sel18::PAD_SEL18_SPEC>;
74#[doc = "Select 1.8V for VCCIO for up to 4 banks. Write a 1 to a bank field to make the IO VCC = 1.8V"]
75pub mod pad_sel18;
76#[doc = "CONFIG_MEM128_AON register accessor: an alias for `Reg<CONFIG_MEM128_AON_SPEC>`"]
77pub type CONFIG_MEM128_AON =
78 crate::Reg<config_mem128_aon::CONFIG_MEM128_AON_SPEC>;
79#[doc = "Memory Configuration"]
80pub mod config_mem128_aon;
81#[doc = "LOCK_KEY_CTRL register accessor: an alias for `Reg<LOCK_KEY_CTRL_SPEC>`"]
82pub type LOCK_KEY_CTRL = crate::Reg<lock_key_ctrl::LOCK_KEY_CTRL_SPEC>;
83#[doc = "Control value and status of LOCK_KEY"]
84pub mod lock_key_ctrl;
85#[doc = "FB_DEVICE_ID register accessor: an alias for `Reg<FB_DEVICE_ID_SPEC>`"]
86pub type FB_DEVICE_ID = crate::Reg<fb_device_id::FB_DEVICE_ID_SPEC>;
87#[doc = "Fabric device ID"]
88pub mod fb_device_id;