16#define RPU_ADDR_GRAM_START 0xB7000000
18#define RPU_ADDR_GRAM_END 0xB70101FF
20#define RPU_ADDR_SBUS_START 0xA4000000
22#define RPU_ADDR_SBUS_END 0xA4007FFF
24#define RPU_ADDR_PBUS_START 0xA5000000
26#define RPU_ADDR_PBUS_END 0xA503FFFF
28#define RPU_ADDR_BEV_START 0xBFC00000
30#define RPU_ADDR_BEV_END 0xBFCFFFFF
32#define RPU_ADDR_PKTRAM_START 0xB0000000
34#define RPU_ADDR_PKTRAM_END 0xB0030FFF
37#define RPU_ADDR_LMAC_CORE_RET_START 0x80040000
39#define RPU_ADDR_UMAC_CORE_RET_START 0x80080000
96 {0x80000000, 0x80033FFF},
97 {0x80040000, 0x8004BFFF},
98 {0x80080000, 0x8008FFFF}
104 {0x80000000, 0x800617FF},
105 {0x80080000, 0x800A3FFF},
106 {0x80100000, 0x80137FFF},
112#define RPU_MCU_MAX_BOOT_VECTORS 4
136#define RPU_ADDR_MASK_BASE 0xFF000000
138#define RPU_ADDR_MASK_OFFSET 0x00FFFFFF
140#define RPU_ADDR_MASK_BEV_OFFSET 0x000FFFFF
143#define RPU_REG_INT_FROM_RPU_CTRL 0xA4000400
145#define RPU_REG_BIT_INT_FROM_RPU_CTRL 17
148#define RPU_REG_INT_TO_MCU_CTRL 0xA4000480
151#define RPU_REG_INT_FROM_MCU_ACK 0xA4000488
153#define RPU_REG_BIT_INT_FROM_MCU_ACK 31
156#define RPU_REG_INT_FROM_MCU_CTRL 0xA4000494
158#define RPU_REG_BIT_INT_FROM_MCU_CTRL 31
161#define RPU_REG_UCC_SLEEP_CTRL_DATA_0 0xA4002C2C
163#define RPU_REG_UCC_SLEEP_CTRL_DATA_1 0xA4002C30
165#define RPU_REG_MIPS_MCU_CONTROL 0xA4000000
167#define RPU_REG_MIPS_MCU2_CONTROL 0xA4000100
170#define RPU_REG_MIPS_MCU_UCCP_INT_STATUS 0xA4000004
172#define RPU_REG_BIT_MIPS_WATCHDOG_INT_STATUS 1
175#define RPU_REG_MIPS_MCU_TIMER 0xA400004C
177#define RPU_REG_MIPS_MCU_TIMER_RESET_VAL 0xFFFFFF
180#define RPU_REG_MIPS_MCU_UCCP_INT_CLEAR 0xA400000C
182#define RPU_REG_BIT_MIPS_WATCHDOG_INT_CLEAR 1
186#define RPU_REG_MIPS_MCU_SYS_CORE_MEM_CTRL 0xA4000030
188#define RPU_REG_MIPS_MCU_SYS_CORE_MEM_WDATA 0xA4000034
191#define RPU_REG_MIPS_MCU_BOOT_EXCP_INSTR_0 0xA4000050
192#define RPU_REG_MIPS_MCU_BOOT_EXCP_INSTR_1 0xA4000054
193#define RPU_REG_MIPS_MCU_BOOT_EXCP_INSTR_2 0xA4000058
194#define RPU_REG_MIPS_MCU_BOOT_EXCP_INSTR_3 0xA400005C
198#define RPU_REG_MIPS_MCU2_SYS_CORE_MEM_CTRL 0xA4000130
200#define RPU_REG_MIPS_MCU2_SYS_CORE_MEM_WDATA 0xA4000134
202#define RPU_REG_MIPS_MCU2_BOOT_EXCP_INSTR_0 0xA4000150
203#define RPU_REG_MIPS_MCU2_BOOT_EXCP_INSTR_1 0xA4000154
204#define RPU_REG_MIPS_MCU2_BOOT_EXCP_INSTR_2 0xA4000158
205#define RPU_REG_MIPS_MCU2_BOOT_EXCP_INSTR_3 0xA400015C
208#define RPU_REG_BIT_PS_CTRL 0
210#define RPU_REG_BIT_PS_STATE 1
212#define RPU_REG_BIT_READY_STATE 2
214#define RPU_MEM_RX_CMD_BASE 0xB7000D58
217#define RPU_MEM_HPQ_INFO 0xB0000024
219#define RPU_MEM_TX_CMD_BASE 0xB00000B8
222#define RPU_MEM_OTP_FT_PROG_VERSION 0xB0004FD8
224#define RPU_MEM_OTP_INFO_FLAGS 0xB0004FDC
226#define RPU_MEM_OTP_PACKAGE_TYPE 0xB0004FD4
229#define RPU_MEM_PKT_BASE 0xB0005000
231#define RPU_CMD_START_MAGIC 0xDEAD
233#define RPU_DATA_CMD_SIZE_MAX_RX 8
235#define RPU_DATA_CMD_SIZE_MAX_TX 148
237#define RPU_EVENT_COMMON_SIZE_MAX 128
240#define MAX_EVENT_POOL_LEN 1000
242#define MAX_NUM_OF_RX_QUEUES 3
245#define RPU_PKTRAM_SIZE (RPU_ADDR_PKTRAM_END - RPU_MEM_PKT_BASE + 1)
248#define RPU_MEM_RF_TEST_CAP_BASE 0xB0006000
251#define REGION_PROTECT 64
252#define PRODTEST_FT_PROGVERSION 29
253#define PRODTEST_TRIM0 32
254#define PRODTEST_TRIM1 33
255#define PRODTEST_TRIM2 34
256#define PRODTEST_TRIM3 35
257#define PRODTEST_TRIM4 36
258#define PRODTEST_TRIM5 37
259#define PRODTEST_TRIM6 38
260#define PRODTEST_TRIM7 39
261#define PRODTEST_TRIM8 40
262#define PRODTEST_TRIM9 41
263#define PRODTEST_TRIM10 42
264#define PRODTEST_TRIM11 43
265#define PRODTEST_TRIM12 44
266#define PRODTEST_TRIM13 45
267#define PRODTEST_TRIM14 46
269#define INFO_VARIANT 49
275#define REGION_DEFAULTS 85
276#define PRODRETEST_PROGVERSION 86
277#define PRODRETEST_TRIM0 87
278#define PRODRETEST_TRIM1 88
279#define PRODRETEST_TRIM2 89
280#define PRODRETEST_TRIM3 90
281#define PRODRETEST_TRIM4 91
282#define PRODRETEST_TRIM5 92
283#define PRODRETEST_TRIM6 93
284#define PRODRETEST_TRIM7 94
285#define PRODRETEST_TRIM8 95
286#define PRODRETEST_TRIM9 96
287#define PRODRETEST_TRIM10 97
288#define PRODRETEST_TRIM11 98
289#define PRODRETEST_TRIM12 99
290#define PRODRETEST_TRIM13 100
291#define PRODRETEST_TRIM14 101
292#define OTP_MAX_WORD_LEN 128
293#define QSPI_KEY_LENGTH_BYTES 16
297#define OTP_SZ_CALIB_XO 1
300#define OTP_OFF_CALIB_XO 0
303#define QSPI_KEY_FLAG_MASK ~(1U<<0)
304#define MAC0_ADDR_FLAG_MASK ~(1U<<1)
305#define MAC1_ADDR_FLAG_MASK ~(1U<<2)
306#define CALIB_XO_FLAG_MASK ~(1U<<3)
309#define OTP_VOLTCTRL_ADDR 0x19004
311#define OTP_VOLTCTRL_2V5 0x3b
313#define OTP_VOLTCTRL_1V8 0xb
315#define OTP_POLL_ADDR 0x01B804
316#define OTP_WR_DONE 0x1
317#define OTP_READ_VALID 0x2
321#define OTP_RWSBMODE_ADDR 0x01B800
322#define OTP_READ_MODE 0x1
323#define OTP_BYTE_WRITE_MODE 0x42
326#define OTP_RDENABLE_ADDR 0x01B810
327#define OTP_READREG_ADDR 0x01B814
329#define OTP_WRENABLE_ADDR 0x01B808
330#define OTP_WRITEREG_ADDR 0x01B80C
332#define OTP_TIMING_REG1_ADDR 0x01B820
333#define OTP_TIMING_REG1_VAL 0x0
334#define OTP_TIMING_REG2_ADDR 0x01B824
335#define OTP_TIMING_REG2_VAL 0x030D8B
337#define OTP_FRESH_FROM_FAB 0xFFFFFFFF
338#define OTP_PROGRAMMED 0x00000000
339#define OTP_ENABLE_PATTERN 0x50FA50FA
340#define OTP_INVALID 0xDEADBEEF
342#define FT_PROG_VER_MASK 0xF0000
#define __NRF_WIFI_PKD
Definition pack_def.h:27
static const struct rpu_addr_map RPU_ADDR_MAP_MCU[]
Memory map of the MCUs in the RPU.
Definition rpu_if.h:92
#define RPU_MCU_MAX_BOOT_VECTORS
Definition rpu_if.h:112
#define MAX_NUM_OF_RX_QUEUES
Definition rpu_if.h:242
RPU_MCU_ADDR_REGIONS
Regions in the MCU local memory.
Definition rpu_if.h:49
@ RPU_MCU_ADDR_REGION_SCRATCH
Definition rpu_if.h:52
@ RPU_MCU_ADDR_REGION_ROM
Definition rpu_if.h:50
@ RPU_MCU_ADDR_REGION_MAX
Definition rpu_if.h:53
@ RPU_MCU_ADDR_REGION_RETENTION
Definition rpu_if.h:51
unsigned int dequeue_addr
Definition rpu_if.h:364
unsigned int enqueue_addr
Definition rpu_if.h:362
Hostport Queue (HPQ) information.
Definition rpu_if.h:360
struct host_rpu_hpq cmd_busy_queue
Definition rpu_if.h:380
struct host_rpu_hpq event_avl_queue
Definition rpu_if.h:378
struct host_rpu_hpq cmd_avl_queue
Definition rpu_if.h:384
struct host_rpu_hpq event_busy_queue
Definition rpu_if.h:376
struct host_rpu_hpq rx_buf_busy_queue[3]
Definition rpu_if.h:386
Information about Hostport Queues (HPQ) to be used for exchanging information between the Host and RP...
Definition rpu_if.h:374
unsigned int len
Definition rpu_if.h:396
unsigned int resubmit
Definition rpu_if.h:400
Common header included in each command/event. This structure encapsulates the common information incl...
Definition rpu_if.h:394
unsigned int addr
Definition rpu_if.h:352
RX buffer related information to be passed to nRF70.
Definition rpu_if.h:350
struct rpu_addr_region regions[RPU_MCU_ADDR_REGION_MAX]
Definition rpu_if.h:77
Address map of the MCU memory.
Definition rpu_if.h:76
unsigned int start
Definition rpu_if.h:64
unsigned int end
Definition rpu_if.h:65
Address limits of each MCU local memory region.
Definition rpu_if.h:63
unsigned int val
Definition rpu_if.h:123
unsigned int addr
Definition rpu_if.h:122
Boot vector definition for a MCU in nRF70.
Definition rpu_if.h:121
struct rpu_mcu_boot_vector vectors[4]
Definition rpu_if.h:132
Boot vectors for the MCUs in nRF70.
Definition rpu_if.h:131