9#define RPU_ADDR_SPI_START 0x00000000
10#define RPU_ADDR_GRAM_START 0xB7000000
11#define RPU_ADDR_GRAM_END 0xB70101FF
12#define RPU_ADDR_SBUS_START 0xA4000000
13#define RPU_ADDR_SBUS_END 0xA4007FFF
14#define RPU_ADDR_PBUS_START 0xA5000000
15#define RPU_ADDR_PBUS_END 0xA503FFFF
16#define RPU_ADDR_BEV_START 0xBFC00000
17#define RPU_ADDR_BEV_END 0xBFCFFFFF
18#define RPU_ADDR_PKTRAM_START 0xB0000000
19#define RPU_ADDR_PKTRAM_END 0xB0030FFF
22#define RPU_ADDR_LMAC_CORE_RET_START 0x80040000
23#define RPU_ADDR_UMAC_CORE_RET_START 0x80080000
45 {0x80000000, 0x80033FFF},
46 {0x80040000, 0x8004BFFF},
47 {0x80080000, 0x8008FFFF}
53 {0x80000000, 0x800617FF},
54 {0x80080000, 0x800A3FFF},
55 {0x80100000, 0x80137FFF},
60#define RPU_MCU_MAX_BOOT_VECTORS 4
70#define RPU_ADDR_MASK_BASE 0xFF000000
71#define RPU_ADDR_MASK_OFFSET 0x00FFFFFF
72#define RPU_ADDR_MASK_BEV_OFFSET 0x000FFFFF
75#define RPU_REG_INT_FROM_RPU_CTRL 0xA4000400
76#define RPU_REG_BIT_INT_FROM_RPU_CTRL 17
78#define RPU_REG_INT_TO_MCU_CTRL 0xA4000480
80#define RPU_REG_INT_FROM_MCU_ACK 0xA4000488
81#define RPU_REG_BIT_INT_FROM_MCU_ACK 31
83#define RPU_REG_INT_FROM_MCU_CTRL 0xA4000494
84#define RPU_REG_BIT_INT_FROM_MCU_CTRL 31
86#define RPU_REG_UCC_SLEEP_CTRL_DATA_0 0xA4002C2C
87#define RPU_REG_UCC_SLEEP_CTRL_DATA_1 0xA4002C30
89#define RPU_REG_MIPS_MCU_CONTROL 0xA4000000
90#define RPU_REG_BIT_MIPS_MCU_LATCH_SOFT_RESET 1
91#define RPU_REG_MIPS_MCU2_CONTROL 0xA4000100
93#define RPU_REG_MIPS_MCU_UCCP_INT_STATUS 0xA4000004
94#define RPU_REG_BIT_MIPS_UCCP_INT_STATUS 0
95#define RPU_REG_BIT_MIPS_WATCHDOG_INT_STATUS 1
97#define RPU_REG_MIPS_MCU_TIMER_CONTROL 0xA4000048
98#define RPU_REG_MIPS_MCU_TIMER 0xA400004C
99#define RPU_REG_MIPS_MCU_TIMER_RESET_VAL 0xFFFFFF
101#define RPU_REG_MIPS_MCU_UCCP_INT_CLEAR 0xA400000C
102#define RPU_REG_BIT_MIPS_UCCP_INT_CLEAR 0
103#define RPU_REG_BIT_MIPS_WATCHDOG_INT_CLEAR 1
105#define RPU_REG_MIPS_MCU_SYS_CORE_MEM_CTRL 0xA4000030
106#define RPU_REG_MIPS_MCU_SYS_CORE_MEM_WDATA 0xA4000034
107#define RPU_REG_MIPS_MCU_BOOT_EXCP_INSTR_0 0xA4000050
108#define RPU_REG_MIPS_MCU_BOOT_EXCP_INSTR_1 0xA4000054
109#define RPU_REG_MIPS_MCU_BOOT_EXCP_INSTR_2 0xA4000058
110#define RPU_REG_MIPS_MCU_BOOT_EXCP_INSTR_3 0xA400005C
112#define RPU_REG_MIPS_MCU2_SYS_CORE_MEM_CTRL 0xA4000130
113#define RPU_REG_MIPS_MCU2_SYS_CORE_MEM_WDATA 0xA4000134
114#define RPU_REG_MIPS_MCU2_BOOT_EXCP_INSTR_0 0xA4000150
115#define RPU_REG_MIPS_MCU2_BOOT_EXCP_INSTR_1 0xA4000154
116#define RPU_REG_MIPS_MCU2_BOOT_EXCP_INSTR_2 0xA4000158
117#define RPU_REG_MIPS_MCU2_BOOT_EXCP_INSTR_3 0xA400015C
119#define RPU_REG_MCP_SYS_CSTRCTRL 0xA4001200
120#define RPU_REG_MCP_SYS_CSTRDAT32 0xA4001218
122#define RPU_REG_MCP2_SYS_CSTRCTRL 0xA4003200
123#define RPU_REG_MCP2_SYS_CSTRDAT32 0xA4003218
125#define RPU_REG_MCP3_SYS_CSTRCTRL 0xA4004200
126#define RPU_REG_MCP3_SYS_CSTRDAT32 0xA4004218
128#ifdef RPU_RF_C0_SUPPORT
129#define PWR_CTRL1_SYSDEF 0xA4019000
130#define PWR_COUNTERSTART_SYSDEF 0xA40190A0
131#define PWR_COUNTERCYCLES_SYSDEF 0xA40190A4
132#define PWR_COUNTERSTATUS0_SYSDEF 0xA40190B0
133#define PWR_COUNTERSTATUS1_SYSDEF 0xA40190B4
134#define PWR_COUNTERSTATUS2_SYSDEF 0xA40190B8
135#define PWR_COUNTERSTATUS3_SYSDEF 0xA40190BC
136#define WL_PWR_MON_SYSDEF 0xA4009310
137#define WL_PWR_AUX_SYSDEF 0xA4009314
138#define WL_PWR_VMON_CTRL_SYSDEF 0xA4009330
139#define WL_PWR_VMON_DATA_SYSDEF 0xA4009334
140#define WLAFE_WL_BBPLLEN_SYSDEF 0xA400B004
141#define WLAFE_RG_BBPLL_CLK_01_SYSDEF 0xA400B050
142#define WLAFE_RG_AFE_LDOCTRL_SYSDEF 0xA400B0F0
144#define PWR_BREAKTIMER90_SYSDEF 0xA4019190
145#define PWR_BREAKCOND2_SYSDEF 0xA4019094
146#define PWR_BREAK3_SYSDEF 0xA4019080
147#define PWR_BREAKCOND3_SYSDEF 0xA4019098
148#define PWR_BREAK5_SYSDEF 0xA4019088
152#define RPU_REG_RFCTL_UCC_RF_CTRL_CONFIG_00 0xA401C200
153#define RPU_REG_RFCTL_UCC_RF_CTRL_CONFIG_01 0xA401C204
154#define RPU_REG_RFCTL_UCC_RF_CTRL_CONFIG_02 0xA401C208
155#define RPU_REG_RFCTL_UCC_RF_CTRL_CONFIG_04 0xA401C210
156#define RPU_REG_RFCTL_UCC_RF_CTRL_CONFIG_16 0xA401C260
157#define RPU_REG_RFCTL_SPI_CMD_DATA_TABLE_0 0xA401C300
158#define RPU_REG_RFCTL_SPI_CMD_DATA_TABLE_1 0xA401C304
159#define RPU_REG_RFCTL_SPI_CMD_DATA_TABLE_2 0xA401C308
160#define RPU_REG_RFCTL_SPI_READ_DATA_TABLE_0 0xA401C380
162#define PWR_CTRL1_SYSDEF 0x1040
163#define PWR_COUNTERSTART_SYSDEF 0x1158
164#define PWR_COUNTERCYCLES_SYSDEF 0x1159
165#define PWR_COUNTERSTATUS0_SYSDEF 0x115C
166#define PWR_COUNTERSTATUS1_SYSDEF 0x115D
167#define PWR_COUNTERSTATUS2_SYSDEF 0x115E
168#define PWR_COUNTERSTATUS3_SYSDEF 0x115F
169#define WL_PWR_MON_SYSDEF 0x0144
170#define WL_PWR_AUX_SYSDEF 0x0145
172#define PWR_BREAKTIMER90_SYSDEF 0x1264
173#define PWR_BREAKCOND2_SYSDEF 0x1155
174#define PWR_BREAK3_SYSDEF 0x1150
175#define PWR_BREAKCOND3_SYSDEF 0x1156
176#define PWR_BREAK5_SYSDEF 0x1152
178#define SPI_PAGESELECT 0x007C
179#define SPI_DIGREFCLOCKCTRL 0x007D
182#define RPU_REG_BIT_HARDRST_CTRL 8
183#define RPU_REG_BIT_PS_CTRL 0
184#define RPU_REG_BIT_PS_STATE 1
185#define RPU_REG_BIT_READY_STATE 2
187#define RPU_MEM_RX_CMD_BASE 0xB7000D58
189#define RPU_MEM_HPQ_INFO 0xB0000024
190#define RPU_MEM_TX_CMD_BASE 0xB00000B8
191#define RPU_MEM_OTP_INFO 0xB000005C
192#define RPU_MEM_OTP_FT_PROG_VERSION 0xB0004FD8
193#define RPU_MEM_OTP_INFO_FLAGS 0xB0004FDC
194#define RPU_MEM_LMAC_IF_INFO 0xB0004FE0
195#define RPU_MEM_OTP_PACKAGE_TYPE 0xB0004FD4
197#define RPU_MEM_PKT_BASE 0xB0005000
198#define RPU_CMD_START_MAGIC 0xDEAD
199#define RPU_DATA_CMD_SIZE_MAX_RX 8
200#define RPU_DATA_CMD_SIZE_MAX_TX 148
201#define RPU_EVENT_COMMON_SIZE_MAX 128
204#define EVENT_POOL_NUM_ELEMS (7)
205#define MAX_EVENT_POOL_LEN 1000
207#define MAX_NUM_OF_RX_QUEUES 3
209#define NRF_WIFI_RPU_PWR_DATA_TYPE_LFC_ERR 0
210#define NRF_WIFI_RPU_PWR_DATA_TYPE_VBAT_MON 1
211#define NRF_WIFI_RPU_PWR_DATA_TYPE_TEMP 2
212#define NRF_WIFI_RPU_PWR_DATA_TYPE_ALL 3
213#define NRF_WIFI_RPU_PWR_DATA_TYPE_MAX 4
215#ifndef RPU_RF_C0_SUPPORT
216#define NRF_WIFI_RPU_RF_CLK_TYPE_20 0
217#define NRF_WIFI_RPU_RF_CLK_TYPE_40 1
218#define NRF_WIFI_RPU_RF_CLK_TYPE_MAX 2
221#define RPU_PKTRAM_SIZE (RPU_ADDR_PKTRAM_END - RPU_MEM_PKT_BASE + 1)
223#ifdef CONFIG_NRF700X_RADIO_TEST
224#define RPU_MEM_RF_TEST_CAP_BASE 0xB0006000
228#define REGION_PROTECT 64
229#define PRODTEST_FT_PROGVERSION 29
230#define PRODTEST_TRIM0 32
231#define PRODTEST_TRIM1 33
232#define PRODTEST_TRIM2 34
233#define PRODTEST_TRIM3 35
234#define PRODTEST_TRIM4 36
235#define PRODTEST_TRIM5 37
236#define PRODTEST_TRIM6 38
237#define PRODTEST_TRIM7 39
238#define PRODTEST_TRIM8 40
239#define PRODTEST_TRIM9 41
240#define PRODTEST_TRIM10 42
241#define PRODTEST_TRIM11 43
242#define PRODTEST_TRIM12 44
243#define PRODTEST_TRIM13 45
244#define PRODTEST_TRIM14 46
245#define PRODCTRL_DISABLE5GHZ 47
247#define INFO_VARIANT 49
253#define CALIB_PDADJM7 77
254#define CALIB_PDADJM0 78
255#define CALIB_PWR2G 79
256#define CALIB_PWR5GM7 80
257#define CALIB_PWR5GM0 81
258#define CALIB_RXGNOFF 82
259#define CALIB_TXPOWBACKOFFT 83
260#define CALIB_TXPOWBACKOFFV 84
261#define REGION_DEFAULTS 85
262#define PRODRETEST_PROGVERSION 86
263#define PRODRETEST_TRIM0 87
264#define PRODRETEST_TRIM1 88
265#define PRODRETEST_TRIM2 89
266#define PRODRETEST_TRIM3 90
267#define PRODRETEST_TRIM4 91
268#define PRODRETEST_TRIM5 92
269#define PRODRETEST_TRIM6 93
270#define PRODRETEST_TRIM7 94
271#define PRODRETEST_TRIM8 95
272#define PRODRETEST_TRIM9 96
273#define PRODRETEST_TRIM10 97
274#define PRODRETEST_TRIM11 98
275#define PRODRETEST_TRIM12 99
276#define PRODRETEST_TRIM13 100
277#define PRODRETEST_TRIM14 101
278#define OTP_MAX_WORD_LEN 128
279#define QSPI_KEY_LENGTH_BYTES 16
283#define OTP_SZ_CALIB_XO 1
284#define OTP_SZ_CALIB_PDADJM7 4
285#define OTP_SZ_CALIB_PDADJM0 4
286#define OTP_SZ_CALIB_PWR2G 1
287#define OTP_SZ_CALIB_PWR2GM0M7 2
288#define OTP_SZ_CALIB_PWR5GM7 3
289#define OTP_SZ_CALIB_PWR5GM0 3
290#define OTP_SZ_CALIB_RXGNOFF 4
291#define OTP_SZ_CALIB_TXP_BOFF_2GH 1
292#define OTP_SZ_CALIB_TXP_BOFF_2GL 1
293#define OTP_SZ_CALIB_TXP_BOFF_5GH 1
294#define OTP_SZ_CALIB_TXP_BOFF_5GL 1
295#define OTP_SZ_CALIB_TXP_BOFF_V 4
298#define OTP_OFF_CALIB_XO 0
299#define OTP_OFF_CALIB_PDADJM7 4
300#define OTP_OFF_CALIB_PDADJM0 8
301#define OTP_OFF_CALIB_PWR2G 12
302#define OTP_OFF_CALIB_PWR2GM0M7 13
303#define OTP_OFF_CALIB_PWR5GM7 16
304#define OTP_OFF_CALIB_PWR5GM0 20
305#define OTP_OFF_CALIB_RXGNOFF 24
306#define OTP_OFF_CALIB_TXP_BOFF_2GH 28
307#define OTP_OFF_CALIB_TXP_BOFF_2GL 29
308#define OTP_OFF_CALIB_TXP_BOFF_5GH 30
309#define OTP_OFF_CALIB_TXP_BOFF_5GL 31
310#define OTP_OFF_CALIB_TXP_BOFF_V 32
313#define QSPI_KEY_FLAG_MASK ~(1U<<0)
314#define MAC0_ADDR_FLAG_MASK ~(1U<<1)
315#define MAC1_ADDR_FLAG_MASK ~(1U<<2)
316#define CALIB_XO_FLAG_MASK ~(1U<<3)
317#define CALIB_PDADJM7_FLAG_MASK ~(1U<<4)
318#define CALIB_PDADJM0_FLAG_MASK ~(1U<<5)
319#define CALIB_PWR2G_FLAG_MASK ~(1U<<6)
320#define CALIB_PWR5GM7_FLAG_MASK ~(1U<<7)
321#define CALIB_PWR5GM0_FLAG_MASK ~(1U<<8)
322#define CALIB_RXGNOFF_FLAG_MASK ~(1U<<9)
323#define CALIB_TXPOWBACKOFFT_FLAG_MASK ~(1U<<10)
324#define CALIB_TXPOWBACKOFFV_FLAG_MASK ~(1U<<11)
327#define OTP_VOLTCTRL_ADDR 0x19004
328#define OTP_VOLTCTRL_2V5 0x3b
329#define OTP_VOLTCTRL_1V8 0xb
331#define OTP_POLL_ADDR 0x01B804
332#define OTP_WR_DONE 0x1
333#define OTP_READ_VALID 0x2
337#define OTP_RWSBMODE_ADDR 0x01B800
338#define OTP_STANDBY_MODE 0x0
339#define OTP_READ_MODE 0x1
340#define OTP_BYTE_WRITE_MODE 0x42
343#define OTP_RDENABLE_ADDR 0x01B810
344#define OTP_READREG_ADDR 0x01B814
346#define OTP_WRENABLE_ADDR 0x01B808
347#define OTP_WRITEREG_ADDR 0x01B80C
349#define OTP_TIMING_REG1_ADDR 0x01B820
350#define OTP_TIMING_REG1_VAL 0x0
351#define OTP_TIMING_REG2_ADDR 0x01B824
352#define OTP_TIMING_REG2_VAL 0x030D8B
354#define PRODTEST_TRIM_LEN 15
356#define OTP_FRESH_FROM_FAB 0xFFFFFFFF
357#define OTP_PROGRAMMED 0x00000000
358#define OTP_ENABLE_PATTERN 0x50FA50FA
359#define OTP_INVALID 0xDEADBEEF
361#define FT_PROG_VER_MASK 0xF0000
static const struct rpu_addr_map RPU_ADDR_MAP_MCU[]
Definition: rpu_if.h:41
#define RPU_MCU_MAX_BOOT_VECTORS
Definition: rpu_if.h:60
#define MAX_NUM_OF_RX_QUEUES
Definition: rpu_if.h:207
RPU_MCU_ADDR_REGIONS
Definition: rpu_if.h:25
@ RPU_MCU_ADDR_REGION_SCRATCH
Definition: rpu_if.h:28
@ RPU_MCU_ADDR_REGION_ROM
Definition: rpu_if.h:26
@ RPU_MCU_ADDR_REGION_MAX
Definition: rpu_if.h:29
@ RPU_MCU_ADDR_REGION_RETENTION
Definition: rpu_if.h:27
unsigned int dequeue_addr
Definition: rpu_if.h:398
unsigned int enqueue_addr
Definition: rpu_if.h:396
Hostport Queue (HPQ) information.
Definition: rpu_if.h:394
struct host_rpu_hpq cmd_busy_queue
Definition: rpu_if.h:415
struct host_rpu_hpq event_avl_queue
Definition: rpu_if.h:413
struct host_rpu_hpq cmd_avl_queue
Definition: rpu_if.h:419
struct host_rpu_hpq event_busy_queue
Definition: rpu_if.h:411
struct host_rpu_hpq rx_buf_busy_queue[3]
Definition: rpu_if.h:421
Information about Hostport Queues (HPQ) to be used for exchanging information between the Host and RP...
Definition: rpu_if.h:409
unsigned int len
Definition: rpu_if.h:432
unsigned int resubmit
Definition: rpu_if.h:436
Common header included in each command/event. This structure encapsulates the common information incl...
Definition: rpu_if.h:430
unsigned int addr
Definition: rpu_if.h:385
RX buffer related information to be passed to he RPU.
Definition: rpu_if.h:383
int vbat_mon
Definition: rpu_if.h:371
int lfc_err
Definition: rpu_if.h:369
int temp
Definition: rpu_if.h:373
Data that host may want to read from the Power IP. This structure represents the Power IP monitoring ...
Definition: rpu_if.h:367
struct rpu_addr_region regions[RPU_MCU_ADDR_REGION_MAX]
Definition: rpu_if.h:38
unsigned int start
Definition: rpu_if.h:33
unsigned int end
Definition: rpu_if.h:34
unsigned int val
Definition: rpu_if.h:63
unsigned int addr
Definition: rpu_if.h:62
struct rpu_mcu_boot_vector vectors[4]
Definition: rpu_if.h:67