 |
Software APIs
|
Go to the documentation of this file.
20#define MBX_PARAM_NUM_ALERTS 2
23#define MBX_PARAM_REG_WIDTH 32
26#define MBX_INTR_COMMON_MBX_READY_BIT 0
27#define MBX_INTR_COMMON_MBX_ABORT_BIT 1
28#define MBX_INTR_COMMON_MBX_ERROR_BIT 2
31#define MBX_INTR_STATE_REG_OFFSET 0x0
32#define MBX_INTR_STATE_REG_RESVAL 0x0u
33#define MBX_INTR_STATE_MBX_READY_BIT 0
34#define MBX_INTR_STATE_MBX_ABORT_BIT 1
35#define MBX_INTR_STATE_MBX_ERROR_BIT 2
38#define MBX_INTR_ENABLE_REG_OFFSET 0x4
39#define MBX_INTR_ENABLE_REG_RESVAL 0x0u
40#define MBX_INTR_ENABLE_MBX_READY_BIT 0
41#define MBX_INTR_ENABLE_MBX_ABORT_BIT 1
42#define MBX_INTR_ENABLE_MBX_ERROR_BIT 2
45#define MBX_INTR_TEST_REG_OFFSET 0x8
46#define MBX_INTR_TEST_REG_RESVAL 0x0u
47#define MBX_INTR_TEST_MBX_READY_BIT 0
48#define MBX_INTR_TEST_MBX_ABORT_BIT 1
49#define MBX_INTR_TEST_MBX_ERROR_BIT 2
52#define MBX_ALERT_TEST_REG_OFFSET 0xc
53#define MBX_ALERT_TEST_REG_RESVAL 0x80000000u
54#define MBX_ALERT_TEST_FATAL_FAULT_BIT 0
55#define MBX_ALERT_TEST_RECOV_FAULT_BIT 1
56#define MBX_ALERT_TEST_REGWEN_BIT 31
59#define MBX_CONTROL_REG_OFFSET 0x10
60#define MBX_CONTROL_REG_RESVAL 0x0u
61#define MBX_CONTROL_ABORT_BIT 0
62#define MBX_CONTROL_ERROR_BIT 1
63#define MBX_CONTROL_SYS_ASYNC_MSG_BIT 3
66#define MBX_STATUS_REG_OFFSET 0x14
67#define MBX_STATUS_REG_RESVAL 0x1u
68#define MBX_STATUS_BUSY_BIT 0
69#define MBX_STATUS_SYS_INTR_STATE_BIT 1
70#define MBX_STATUS_SYS_INTR_ENABLE_BIT 2
71#define MBX_STATUS_SYS_ASYNC_ENABLE_BIT 3
74#define MBX_ADDRESS_RANGE_REGWEN_REG_OFFSET 0x18
75#define MBX_ADDRESS_RANGE_REGWEN_REG_RESVAL 0x6u
76#define MBX_ADDRESS_RANGE_REGWEN_REGWEN_MASK 0xfu
77#define MBX_ADDRESS_RANGE_REGWEN_REGWEN_OFFSET 0
78#define MBX_ADDRESS_RANGE_REGWEN_REGWEN_FIELD \
79 ((bitfield_field32_t) { .mask = MBX_ADDRESS_RANGE_REGWEN_REGWEN_MASK, .index = MBX_ADDRESS_RANGE_REGWEN_REGWEN_OFFSET })
83#define MBX_ADDRESS_RANGE_VALID_REG_OFFSET 0x1c
84#define MBX_ADDRESS_RANGE_VALID_REG_RESVAL 0x0u
85#define MBX_ADDRESS_RANGE_VALID_RANGE_VALID_BIT 0
89#define MBX_INBOUND_BASE_ADDRESS_REG_OFFSET 0x20
90#define MBX_INBOUND_BASE_ADDRESS_REG_RESVAL 0x0u
91#define MBX_INBOUND_BASE_ADDRESS_BASE_ADDRESS_MASK 0x3fffffffu
92#define MBX_INBOUND_BASE_ADDRESS_BASE_ADDRESS_OFFSET 2
93#define MBX_INBOUND_BASE_ADDRESS_BASE_ADDRESS_FIELD \
94 ((bitfield_field32_t) { .mask = MBX_INBOUND_BASE_ADDRESS_BASE_ADDRESS_MASK, .index = MBX_INBOUND_BASE_ADDRESS_BASE_ADDRESS_OFFSET })
98#define MBX_INBOUND_LIMIT_ADDRESS_REG_OFFSET 0x24
99#define MBX_INBOUND_LIMIT_ADDRESS_REG_RESVAL 0x0u
100#define MBX_INBOUND_LIMIT_ADDRESS_LIMIT_MASK 0x3fffffffu
101#define MBX_INBOUND_LIMIT_ADDRESS_LIMIT_OFFSET 2
102#define MBX_INBOUND_LIMIT_ADDRESS_LIMIT_FIELD \
103 ((bitfield_field32_t) { .mask = MBX_INBOUND_LIMIT_ADDRESS_LIMIT_MASK, .index = MBX_INBOUND_LIMIT_ADDRESS_LIMIT_OFFSET })
106#define MBX_INBOUND_WRITE_PTR_REG_OFFSET 0x28
107#define MBX_INBOUND_WRITE_PTR_REG_RESVAL 0x0u
108#define MBX_INBOUND_WRITE_PTR_INBOUND_WRITE_PTR_MASK 0x3fffffffu
109#define MBX_INBOUND_WRITE_PTR_INBOUND_WRITE_PTR_OFFSET 2
110#define MBX_INBOUND_WRITE_PTR_INBOUND_WRITE_PTR_FIELD \
111 ((bitfield_field32_t) { .mask = MBX_INBOUND_WRITE_PTR_INBOUND_WRITE_PTR_MASK, .index = MBX_INBOUND_WRITE_PTR_INBOUND_WRITE_PTR_OFFSET })
115#define MBX_OUTBOUND_BASE_ADDRESS_REG_OFFSET 0x2c
116#define MBX_OUTBOUND_BASE_ADDRESS_REG_RESVAL 0x0u
117#define MBX_OUTBOUND_BASE_ADDRESS_BASE_ADDRESS_MASK 0x3fffffffu
118#define MBX_OUTBOUND_BASE_ADDRESS_BASE_ADDRESS_OFFSET 2
119#define MBX_OUTBOUND_BASE_ADDRESS_BASE_ADDRESS_FIELD \
120 ((bitfield_field32_t) { .mask = MBX_OUTBOUND_BASE_ADDRESS_BASE_ADDRESS_MASK, .index = MBX_OUTBOUND_BASE_ADDRESS_BASE_ADDRESS_OFFSET })
124#define MBX_OUTBOUND_LIMIT_ADDRESS_REG_OFFSET 0x30
125#define MBX_OUTBOUND_LIMIT_ADDRESS_REG_RESVAL 0x0u
126#define MBX_OUTBOUND_LIMIT_ADDRESS_LIMIT_MASK 0x3fffffffu
127#define MBX_OUTBOUND_LIMIT_ADDRESS_LIMIT_OFFSET 2
128#define MBX_OUTBOUND_LIMIT_ADDRESS_LIMIT_FIELD \
129 ((bitfield_field32_t) { .mask = MBX_OUTBOUND_LIMIT_ADDRESS_LIMIT_MASK, .index = MBX_OUTBOUND_LIMIT_ADDRESS_LIMIT_OFFSET })
132#define MBX_OUTBOUND_READ_PTR_REG_OFFSET 0x34
133#define MBX_OUTBOUND_READ_PTR_REG_RESVAL 0x0u
134#define MBX_OUTBOUND_READ_PTR_OUTBOUND_READ_PTR_MASK 0x3fffffffu
135#define MBX_OUTBOUND_READ_PTR_OUTBOUND_READ_PTR_OFFSET 2
136#define MBX_OUTBOUND_READ_PTR_OUTBOUND_READ_PTR_FIELD \
137 ((bitfield_field32_t) { .mask = MBX_OUTBOUND_READ_PTR_OUTBOUND_READ_PTR_MASK, .index = MBX_OUTBOUND_READ_PTR_OUTBOUND_READ_PTR_OFFSET })
140#define MBX_OUTBOUND_OBJECT_SIZE_REG_OFFSET 0x38
141#define MBX_OUTBOUND_OBJECT_SIZE_REG_RESVAL 0x0u
142#define MBX_OUTBOUND_OBJECT_SIZE_CNT_MASK 0x7ffu
143#define MBX_OUTBOUND_OBJECT_SIZE_CNT_OFFSET 0
144#define MBX_OUTBOUND_OBJECT_SIZE_CNT_FIELD \
145 ((bitfield_field32_t) { .mask = MBX_OUTBOUND_OBJECT_SIZE_CNT_MASK, .index = MBX_OUTBOUND_OBJECT_SIZE_CNT_OFFSET })
149#define MBX_DOE_INTR_MSG_ADDR_REG_OFFSET 0x3c
150#define MBX_DOE_INTR_MSG_ADDR_REG_RESVAL 0x0u
154#define MBX_DOE_INTR_MSG_DATA_REG_OFFSET 0x40
155#define MBX_DOE_INTR_MSG_DATA_REG_RESVAL 0x0u
158#define MBX_SOC_CONTROL_REG_OFFSET 0x8
159#define MBX_SOC_CONTROL_REG_RESVAL 0x0u
160#define MBX_SOC_CONTROL_ABORT_BIT 0
161#define MBX_SOC_CONTROL_DOE_INTR_EN_BIT 1
162#define MBX_SOC_CONTROL_DOE_ASYNC_MSG_EN_BIT 3
163#define MBX_SOC_CONTROL_GO_BIT 31
166#define MBX_SOC_STATUS_REG_OFFSET 0xc
167#define MBX_SOC_STATUS_REG_RESVAL 0x1u
168#define MBX_SOC_STATUS_BUSY_BIT 0
169#define MBX_SOC_STATUS_DOE_INTR_STATUS_BIT 1
170#define MBX_SOC_STATUS_ERROR_BIT 2
171#define MBX_SOC_STATUS_DOE_ASYNC_MSG_STATUS_BIT 3
172#define MBX_SOC_STATUS_READY_BIT 31
175#define MBX_WDATA_REG_OFFSET 0x10
176#define MBX_WDATA_SIZE_WORDS 1
177#define MBX_WDATA_SIZE_BYTES 4
179#define MBX_RDATA_REG_OFFSET 0x14
180#define MBX_RDATA_SIZE_WORDS 1
181#define MBX_RDATA_SIZE_BYTES 4
184#define MBX_SOC_DOE_INTR_MSG_ADDR_REG_OFFSET 0x18
185#define MBX_SOC_DOE_INTR_MSG_ADDR_REG_RESVAL 0x0u
189#define MBX_SOC_DOE_INTR_MSG_DATA_REG_OFFSET 0x1c
190#define MBX_SOC_DOE_INTR_MSG_DATA_REG_RESVAL 0x0u