0001
0002
0003
0004
0005
0006
0007 #ifndef __TARGADDRS_H__
0008 #define __TARGADDRS_H__
0009
0010 #include "hw.h"
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025 #define QCA988X_HOST_INTEREST_ADDRESS 0x00400800
0026 #define HOST_INTEREST_MAX_SIZE 0x200
0027
0028
0029
0030
0031
0032
0033
0034 struct host_interest {
0035
0036
0037
0038
0039 u32 hi_app_host_interest;
0040
0041
0042 u32 hi_failure_state;
0043
0044
0045 u32 hi_dbglog_hdr;
0046
0047 u32 hi_unused0c;
0048
0049
0050
0051
0052
0053 u32 hi_option_flag;
0054
0055
0056
0057
0058
0059 u32 hi_serial_enable;
0060
0061
0062 u32 hi_dset_list_head;
0063
0064
0065 u32 hi_app_start;
0066
0067
0068 u32 hi_skip_clock_init;
0069 u32 hi_core_clock_setting;
0070 u32 hi_cpu_clock_setting;
0071 u32 hi_system_sleep_setting;
0072 u32 hi_xtal_control_setting;
0073 u32 hi_pll_ctrl_setting_24ghz;
0074 u32 hi_pll_ctrl_setting_5ghz;
0075 u32 hi_ref_voltage_trim_setting;
0076 u32 hi_clock_info;
0077
0078
0079 u32 hi_be;
0080
0081 u32 hi_stack;
0082 u32 hi_err_stack;
0083 u32 hi_desired_cpu_speed_hz;
0084
0085
0086 u32 hi_board_data;
0087
0088
0089
0090
0091
0092
0093
0094 u32 hi_board_data_initialized;
0095
0096 u32 hi_dset_ram_index_table;
0097
0098 u32 hi_desired_baud_rate;
0099 u32 hi_dbglog_config;
0100 u32 hi_end_ram_reserve_sz;
0101 u32 hi_mbox_io_block_sz;
0102
0103 u32 hi_num_bpatch_streams;
0104 u32 hi_mbox_isr_yield_limit;
0105
0106 u32 hi_refclk_hz;
0107 u32 hi_ext_clk_detected;
0108 u32 hi_dbg_uart_txpin;
0109 u32 hi_dbg_uart_rxpin;
0110 u32 hi_hci_uart_baud;
0111 u32 hi_hci_uart_pin_assignments;
0112
0113 u32 hi_hci_uart_baud_scale_val;
0114 u32 hi_hci_uart_baud_step_val;
0115
0116 u32 hi_allocram_start;
0117 u32 hi_allocram_sz;
0118 u32 hi_hci_bridge_flags;
0119 u32 hi_hci_uart_support_pins;
0120
0121 u32 hi_hci_uart_pwr_mgmt_params;
0122
0123
0124
0125
0126
0127
0128 u32 hi_board_ext_data;
0129 u32 hi_board_ext_data_config;
0130
0131
0132
0133
0134
0135
0136
0137
0138
0139 u32 hi_reset_flag;
0140
0141 u32 hi_reset_flag_valid;
0142 u32 hi_hci_uart_pwr_mgmt_params_ext;
0143
0144
0145 u32 hi_acs_flags;
0146 u32 hi_console_flags;
0147 u32 hi_nvram_state;
0148 u32 hi_option_flag2;
0149
0150
0151 u32 hi_sw_version_override;
0152 u32 hi_abi_version_override;
0153
0154
0155
0156
0157
0158 u32 hi_hp_rx_traffic_ratio;
0159
0160
0161 u32 hi_test_apps_related;
0162
0163 u32 hi_ota_testscript;
0164
0165 u32 hi_cal_data;
0166
0167
0168 u32 hi_pktlog_num_buffers;
0169
0170
0171 u32 hi_wow_ext_config;
0172 u32 hi_pwr_save_flags;
0173
0174
0175 u32 hi_smps_options;
0176
0177
0178 u32 hi_interconnect_state;
0179
0180
0181 u32 hi_coex_config;
0182
0183
0184 u32 hi_early_alloc;
0185
0186
0187
0188
0189
0190
0191
0192
0193
0194
0195
0196 u32 hi_fw_swap;
0197
0198
0199 u32 hi_dynamic_mem_arenas_addr;
0200
0201
0202 u32 hi_dynamic_mem_allocated;
0203
0204
0205 u32 hi_dynamic_mem_remaining;
0206
0207
0208 u32 hi_dynamic_mem_track_max;
0209
0210
0211 u32 hi_minidump;
0212
0213
0214 u32 hi_bd_sig_key;
0215 } __packed;
0216
0217 #define HI_ITEM(item) offsetof(struct host_interest, item)
0218
0219
0220
0221
0222 #define HI_OPTION_TIMER_WAR 0x01
0223
0224 #define HI_OPTION_BMI_CRED_LIMIT 0x02
0225
0226 #define HI_OPTION_RELAY_DOT11_HDR 0x04
0227
0228 #define HI_OPTION_MAC_ADDR_METHOD 0x08
0229
0230 #define HI_OPTION_FW_BRIDGE 0x10
0231
0232 #define HI_OPTION_ENABLE_PROFILE 0x20
0233
0234 #define HI_OPTION_DISABLE_DBGLOG 0x40
0235
0236 #define HI_OPTION_SKIP_ERA_TRACKING 0x80
0237
0238 #define HI_OPTION_PAPRD_DISABLE 0x100
0239 #define HI_OPTION_NUM_DEV_LSB 0x200
0240 #define HI_OPTION_NUM_DEV_MSB 0x800
0241 #define HI_OPTION_DEV_MODE_LSB 0x1000
0242 #define HI_OPTION_DEV_MODE_MSB 0x8000000
0243
0244 #define HI_OPTION_NO_LFT_STBL 0x10000000
0245
0246 #define HI_OPTION_SKIP_REG_SCAN 0x20000000
0247
0248
0249
0250
0251 #define HI_OPTION_INIT_REG_SCAN 0x40000000
0252
0253
0254 #define HI_OPTION_SKIP_MEMMAP 0x80000000
0255
0256 #define HI_OPTION_MAC_ADDR_METHOD_SHIFT 3
0257
0258
0259 #define HI_OPTION_FW_MODE_IBSS 0x0
0260 #define HI_OPTION_FW_MODE_BSS_STA 0x1
0261 #define HI_OPTION_FW_MODE_AP 0x2
0262 #define HI_OPTION_FW_MODE_BT30AMP 0x3
0263
0264
0265 #define HI_OPTION_FW_SUBMODE_NONE 0x0
0266 #define HI_OPTION_FW_SUBMODE_P2PDEV 0x1
0267 #define HI_OPTION_FW_SUBMODE_P2PCLIENT 0x2
0268 #define HI_OPTION_FW_SUBMODE_P2PGO 0x3
0269
0270
0271 #define HI_OPTION_NUM_DEV_MASK 0x7
0272 #define HI_OPTION_NUM_DEV_SHIFT 0x9
0273
0274
0275 #define HI_OPTION_FW_BRIDGE_SHIFT 0x04
0276
0277
0278
0279
0280
0281
0282
0283
0284
0285 #define HI_OPTION_FW_MODE_BITS 0x2
0286 #define HI_OPTION_FW_MODE_MASK 0x3
0287 #define HI_OPTION_FW_MODE_SHIFT 0xC
0288 #define HI_OPTION_ALL_FW_MODE_MASK 0xFF
0289
0290 #define HI_OPTION_FW_SUBMODE_BITS 0x2
0291 #define HI_OPTION_FW_SUBMODE_MASK 0x3
0292 #define HI_OPTION_FW_SUBMODE_SHIFT 0x14
0293 #define HI_OPTION_ALL_FW_SUBMODE_MASK 0xFF00
0294 #define HI_OPTION_ALL_FW_SUBMODE_SHIFT 0x8
0295
0296
0297 #define HI_OPTION_OFFLOAD_AMSDU 0x01
0298 #define HI_OPTION_DFS_SUPPORT 0x02
0299 #define HI_OPTION_ENABLE_RFKILL 0x04
0300 #define HI_OPTION_RADIO_RETENTION_DISABLE 0x08
0301 #define HI_OPTION_EARLY_CFG_DONE 0x10
0302
0303 #define HI_OPTION_RF_KILL_SHIFT 0x2
0304 #define HI_OPTION_RF_KILL_MASK 0x1
0305
0306
0307
0308 #define HI_RESET_FLAG_PRESERVE_APP_START 0x01
0309
0310 #define HI_RESET_FLAG_PRESERVE_HOST_INTEREST 0x02
0311
0312 #define HI_RESET_FLAG_PRESERVE_ROMDATA 0x04
0313 #define HI_RESET_FLAG_PRESERVE_NVRAM_STATE 0x08
0314 #define HI_RESET_FLAG_PRESERVE_BOOT_INFO 0x10
0315 #define HI_RESET_FLAG_WARM_RESET 0x20
0316
0317
0318 #define HI_DESC_IN_FW_BIT 0x01
0319
0320
0321 #define HI_RESET_FLAG_IS_VALID 0x12345678
0322
0323
0324 #define HI_ACS_FLAGS_ENABLED (1 << 0)
0325
0326 #define HI_ACS_FLAGS_USE_WWAN (1 << 1)
0327
0328 #define HI_ACS_FLAGS_TEST_VAP (1 << 2)
0329
0330 #define HI_ACS_FLAGS_SDIO_SWAP_MAILBOX_SET (1 << 0)
0331 #define HI_ACS_FLAGS_SDIO_REDUCE_TX_COMPL_SET (1 << 1)
0332 #define HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE (1 << 2)
0333 #define HI_ACS_FLAGS_SDIO_SWAP_MAILBOX_FW_ACK (1 << 16)
0334 #define HI_ACS_FLAGS_SDIO_REDUCE_TX_COMPL_FW_ACK (1 << 17)
0335
0336
0337
0338
0339
0340
0341
0342 #define HI_OPTION_SDIO_CRASH_DUMP_ENHANCEMENT_HOST 0x400
0343
0344
0345 #define HI_OPTION_SDIO_CRASH_DUMP_ENHANCEMENT_FW 0x800
0346
0347
0348
0349
0350
0351
0352
0353
0354
0355
0356
0357
0358
0359 #define HI_CONSOLE_FLAGS_ENABLE (1 << 31)
0360 #define HI_CONSOLE_FLAGS_UART_MASK (0x7)
0361 #define HI_CONSOLE_FLAGS_UART_SHIFT 0
0362 #define HI_CONSOLE_FLAGS_BAUD_SELECT (1 << 3)
0363
0364
0365 #define HI_SMPS_ALLOW_MASK (0x00000001)
0366 #define HI_SMPS_MODE_MASK (0x00000002)
0367 #define HI_SMPS_MODE_STATIC (0x00000000)
0368 #define HI_SMPS_MODE_DYNAMIC (0x00000002)
0369 #define HI_SMPS_DISABLE_AUTO_MODE (0x00000004)
0370 #define HI_SMPS_DATA_THRESH_MASK (0x000007f8)
0371 #define HI_SMPS_DATA_THRESH_SHIFT (3)
0372 #define HI_SMPS_RSSI_THRESH_MASK (0x0007f800)
0373 #define HI_SMPS_RSSI_THRESH_SHIFT (11)
0374 #define HI_SMPS_LOWPWR_CM_MASK (0x00380000)
0375 #define HI_SMPS_LOWPWR_CM_SHIFT (15)
0376 #define HI_SMPS_HIPWR_CM_MASK (0x03c00000)
0377 #define HI_SMPS_HIPWR_CM_SHIFT (19)
0378
0379
0380
0381
0382
0383
0384
0385
0386
0387
0388
0389
0390
0391
0392
0393 #define HI_WOW_EXT_ENABLED_MASK (1 << 31)
0394 #define HI_WOW_EXT_NUM_LIST_SHIFT 16
0395 #define HI_WOW_EXT_NUM_LIST_MASK (0x3 << HI_WOW_EXT_NUM_LIST_SHIFT)
0396 #define HI_WOW_EXT_NUM_PATTERNS_SHIFT 9
0397 #define HI_WOW_EXT_NUM_PATTERNS_MASK (0x7F << HI_WOW_EXT_NUM_PATTERNS_SHIFT)
0398 #define HI_WOW_EXT_PATTERN_SIZE_SHIFT 0
0399 #define HI_WOW_EXT_PATTERN_SIZE_MASK (0x1FF << HI_WOW_EXT_PATTERN_SIZE_SHIFT)
0400
0401 #define HI_WOW_EXT_MAKE_CONFIG(num_lists, count, size) \
0402 ((((num_lists) << HI_WOW_EXT_NUM_LIST_SHIFT) & \
0403 HI_WOW_EXT_NUM_LIST_MASK) | \
0404 (((count) << HI_WOW_EXT_NUM_PATTERNS_SHIFT) & \
0405 HI_WOW_EXT_NUM_PATTERNS_MASK) | \
0406 (((size) << HI_WOW_EXT_PATTERN_SIZE_SHIFT) & \
0407 HI_WOW_EXT_PATTERN_SIZE_MASK))
0408
0409 #define HI_WOW_EXT_GET_NUM_LISTS(config) \
0410 (((config) & HI_WOW_EXT_NUM_LIST_MASK) >> HI_WOW_EXT_NUM_LIST_SHIFT)
0411 #define HI_WOW_EXT_GET_NUM_PATTERNS(config) \
0412 (((config) & HI_WOW_EXT_NUM_PATTERNS_MASK) >> \
0413 HI_WOW_EXT_NUM_PATTERNS_SHIFT)
0414 #define HI_WOW_EXT_GET_PATTERN_SIZE(config) \
0415 (((config) & HI_WOW_EXT_PATTERN_SIZE_MASK) >> \
0416 HI_WOW_EXT_PATTERN_SIZE_SHIFT)
0417
0418
0419
0420
0421
0422
0423
0424
0425
0426
0427
0428
0429
0430
0431
0432
0433
0434
0435
0436
0437
0438 #define HI_EARLY_ALLOC_MAGIC 0x6d8a
0439 #define HI_EARLY_ALLOC_MAGIC_MASK 0xffff0000
0440 #define HI_EARLY_ALLOC_MAGIC_SHIFT 16
0441 #define HI_EARLY_ALLOC_IRAM_BANKS_MASK 0x0000000f
0442 #define HI_EARLY_ALLOC_IRAM_BANKS_SHIFT 0
0443
0444 #define HI_EARLY_ALLOC_VALID() \
0445 ((((HOST_INTEREST->hi_early_alloc) & HI_EARLY_ALLOC_MAGIC_MASK) >> \
0446 HI_EARLY_ALLOC_MAGIC_SHIFT) == (HI_EARLY_ALLOC_MAGIC))
0447 #define HI_EARLY_ALLOC_GET_IRAM_BANKS() \
0448 (((HOST_INTEREST->hi_early_alloc) & HI_EARLY_ALLOC_IRAM_BANKS_MASK) \
0449 >> HI_EARLY_ALLOC_IRAM_BANKS_SHIFT)
0450
0451
0452 #define HI_PWR_SAVE_LPL_ENABLED 0x1
0453
0454
0455
0456
0457
0458
0459 #define HI_PWR_SAVE_LPL_DEV0_LSB 4
0460 #define HI_PWR_SAVE_LPL_DEV_MASK 0x3
0461
0462 #define HI_LPL_ENABLED() \
0463 ((HOST_INTEREST->hi_pwr_save_flags & HI_PWR_SAVE_LPL_ENABLED))
0464 #define HI_DEV_LPL_TYPE_GET(_devix) \
0465 (HOST_INTEREST->hi_pwr_save_flags & ((HI_PWR_SAVE_LPL_DEV_MASK) << \
0466 (HI_PWR_SAVE_LPL_DEV0_LSB + (_devix) * 2)))
0467
0468 #define HOST_INTEREST_SMPS_IS_ALLOWED() \
0469 ((HOST_INTEREST->hi_smps_options & HI_SMPS_ALLOW_MASK))
0470
0471
0472 #define QCA988X_BOARD_DATA_SZ 7168
0473 #define QCA988X_BOARD_EXT_DATA_SZ 0
0474
0475 #define QCA9887_BOARD_DATA_SZ 7168
0476 #define QCA9887_BOARD_EXT_DATA_SZ 0
0477
0478 #define QCA6174_BOARD_DATA_SZ 8192
0479 #define QCA6174_BOARD_EXT_DATA_SZ 0
0480
0481 #define QCA9377_BOARD_DATA_SZ QCA6174_BOARD_DATA_SZ
0482 #define QCA9377_BOARD_EXT_DATA_SZ 0
0483
0484 #define QCA99X0_BOARD_DATA_SZ 12288
0485 #define QCA99X0_BOARD_EXT_DATA_SZ 0
0486
0487
0488 #define QCA99X0_EXT_BOARD_DATA_SZ 2048
0489 #define EXT_BOARD_ADDRESS_OFFSET 0x3000
0490
0491 #define QCA4019_BOARD_DATA_SZ 12064
0492 #define QCA4019_BOARD_EXT_DATA_SZ 0
0493
0494 #endif