0001
0002
0003
0004
0005
0006
0007 #ifndef __iwl_csr_h__
0008 #define __iwl_csr_h__
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027 #define CSR_BASE (0x000)
0028
0029 #define CSR_HW_IF_CONFIG_REG (CSR_BASE+0x000)
0030 #define CSR_INT_COALESCING (CSR_BASE+0x004)
0031 #define CSR_INT (CSR_BASE+0x008)
0032 #define CSR_INT_MASK (CSR_BASE+0x00c)
0033 #define CSR_FH_INT_STATUS (CSR_BASE+0x010)
0034 #define CSR_GPIO_IN (CSR_BASE+0x018)
0035 #define CSR_RESET (CSR_BASE+0x020)
0036 #define CSR_GP_CNTRL (CSR_BASE+0x024)
0037 #define CSR_FUNC_SCRATCH (CSR_BASE+0x02c)
0038
0039
0040 #define CSR_INT_PERIODIC_REG (CSR_BASE+0x005)
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050 #define CSR_HW_REV (CSR_BASE+0x028)
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061 #define CSR_HW_RF_ID (CSR_BASE+0x09c)
0062
0063
0064
0065
0066
0067
0068
0069 #define CSR_EEPROM_REG (CSR_BASE+0x02c)
0070 #define CSR_EEPROM_GP (CSR_BASE+0x030)
0071 #define CSR_OTP_GP_REG (CSR_BASE+0x034)
0072
0073 #define CSR_GIO_REG (CSR_BASE+0x03C)
0074 #define CSR_GP_UCODE_REG (CSR_BASE+0x048)
0075 #define CSR_GP_DRIVER_REG (CSR_BASE+0x050)
0076
0077
0078
0079
0080
0081 #define CSR_UCODE_DRV_GP1 (CSR_BASE+0x054)
0082 #define CSR_UCODE_DRV_GP1_SET (CSR_BASE+0x058)
0083 #define CSR_UCODE_DRV_GP1_CLR (CSR_BASE+0x05c)
0084 #define CSR_UCODE_DRV_GP2 (CSR_BASE+0x060)
0085
0086 #define CSR_MBOX_SET_REG (CSR_BASE + 0x88)
0087
0088 #define CSR_LED_REG (CSR_BASE+0x094)
0089 #define CSR_DRAM_INT_TBL_REG (CSR_BASE+0x0A0)
0090 #define CSR_MAC_SHADOW_REG_CTRL (CSR_BASE + 0x0A8)
0091 #define CSR_MAC_SHADOW_REG_CTRL_RX_WAKE BIT(20)
0092 #define CSR_MAC_SHADOW_REG_CTL2 (CSR_BASE + 0x0AC)
0093 #define CSR_MAC_SHADOW_REG_CTL2_RX_WAKE 0xFFFF
0094
0095
0096 #define CSR_LTR_LONG_VAL_AD (CSR_BASE + 0x0D4)
0097 #define CSR_LTR_LONG_VAL_AD_NO_SNOOP_REQ 0x80000000
0098 #define CSR_LTR_LONG_VAL_AD_NO_SNOOP_SCALE 0x1c000000
0099 #define CSR_LTR_LONG_VAL_AD_NO_SNOOP_VAL 0x03ff0000
0100 #define CSR_LTR_LONG_VAL_AD_SNOOP_REQ 0x00008000
0101 #define CSR_LTR_LONG_VAL_AD_SNOOP_SCALE 0x00001c00
0102 #define CSR_LTR_LONG_VAL_AD_SNOOP_VAL 0x000003ff
0103 #define CSR_LTR_LONG_VAL_AD_SCALE_USEC 2
0104
0105
0106 #define CSR_GIO_CHICKEN_BITS (CSR_BASE+0x100)
0107
0108 #define CSR_IPC_SLEEP_CONTROL (CSR_BASE + 0x114)
0109 #define CSR_IPC_SLEEP_CONTROL_SUSPEND 0x3
0110 #define CSR_IPC_SLEEP_CONTROL_RESUME 0
0111
0112
0113
0114
0115 #define CSR_DOORBELL_VECTOR (CSR_BASE + 0x130)
0116
0117
0118 #define CSR_HOST_CHICKEN (CSR_BASE + 0x204)
0119 #define CSR_HOST_CHICKEN_PM_IDLE_SRC_DIS_SB_PME BIT(19)
0120
0121
0122 #define CSR_ANA_PLL_CFG (CSR_BASE+0x20c)
0123
0124
0125
0126
0127 #define CSR_MONITOR_CFG_REG (CSR_BASE+0x214)
0128 #define CSR_MONITOR_STATUS_REG (CSR_BASE+0x228)
0129 #define CSR_MONITOR_XTAL_RESOURCES (0x00000010)
0130
0131
0132
0133
0134
0135
0136
0137
0138
0139 #define CSR_HW_REV_WA_REG (CSR_BASE+0x22C)
0140
0141 #define CSR_DBG_HPET_MEM_REG (CSR_BASE+0x240)
0142 #define CSR_DBG_LINK_PWR_MGMT_REG (CSR_BASE+0x250)
0143
0144
0145
0146
0147
0148 #define CSR_FUNC_SCRATCH_INIT_VALUE (0x01010101)
0149
0150
0151 #define CSR_HW_IF_CONFIG_REG_MSK_MAC_STEP_DASH (0x0000000F)
0152 #define CSR_HW_IF_CONFIG_REG_BIT_MONITOR_SRAM (0x00000080)
0153 #define CSR_HW_IF_CONFIG_REG_MSK_BOARD_VER (0x000000C0)
0154 #define CSR_HW_IF_CONFIG_REG_BIT_MAC_SI (0x00000100)
0155 #define CSR_HW_IF_CONFIG_REG_BIT_RADIO_SI (0x00000200)
0156 #define CSR_HW_IF_CONFIG_REG_D3_DEBUG (0x00000200)
0157 #define CSR_HW_IF_CONFIG_REG_MSK_PHY_TYPE (0x00000C00)
0158 #define CSR_HW_IF_CONFIG_REG_MSK_PHY_DASH (0x00003000)
0159 #define CSR_HW_IF_CONFIG_REG_MSK_PHY_STEP (0x0000C000)
0160
0161 #define CSR_HW_IF_CONFIG_REG_POS_MAC_DASH (0)
0162 #define CSR_HW_IF_CONFIG_REG_POS_MAC_STEP (2)
0163 #define CSR_HW_IF_CONFIG_REG_POS_BOARD_VER (6)
0164 #define CSR_HW_IF_CONFIG_REG_POS_PHY_TYPE (10)
0165 #define CSR_HW_IF_CONFIG_REG_POS_PHY_DASH (12)
0166 #define CSR_HW_IF_CONFIG_REG_POS_PHY_STEP (14)
0167
0168 #define CSR_HW_IF_CONFIG_REG_BIT_HAP_WAKE_L1A (0x00080000)
0169 #define CSR_HW_IF_CONFIG_REG_BIT_EEPROM_OWN_SEM (0x00200000)
0170 #define CSR_HW_IF_CONFIG_REG_BIT_NIC_READY (0x00400000)
0171 #define CSR_HW_IF_CONFIG_REG_BIT_NIC_PREPARE_DONE (0x02000000)
0172 #define CSR_HW_IF_CONFIG_REG_PREPARE (0x08000000)
0173 #define CSR_HW_IF_CONFIG_REG_ENABLE_PME (0x10000000)
0174 #define CSR_HW_IF_CONFIG_REG_PERSIST_MODE (0x40000000)
0175
0176 #define CSR_MBOX_SET_REG_OS_ALIVE BIT(5)
0177
0178 #define CSR_INT_PERIODIC_DIS (0x00)
0179 #define CSR_INT_PERIODIC_ENA (0xFF)
0180
0181
0182
0183 #define CSR_INT_BIT_FH_RX (1 << 31)
0184 #define CSR_INT_BIT_HW_ERR (1 << 29)
0185 #define CSR_INT_BIT_RX_PERIODIC (1 << 28)
0186 #define CSR_INT_BIT_FH_TX (1 << 27)
0187 #define CSR_INT_BIT_SCD (1 << 26)
0188 #define CSR_INT_BIT_SW_ERR (1 << 25)
0189 #define CSR_INT_BIT_RF_KILL (1 << 7)
0190 #define CSR_INT_BIT_CT_KILL (1 << 6)
0191 #define CSR_INT_BIT_SW_RX (1 << 3)
0192 #define CSR_INT_BIT_WAKEUP (1 << 1)
0193 #define CSR_INT_BIT_ALIVE (1 << 0)
0194
0195 #define CSR_INI_SET_MASK (CSR_INT_BIT_FH_RX | \
0196 CSR_INT_BIT_HW_ERR | \
0197 CSR_INT_BIT_FH_TX | \
0198 CSR_INT_BIT_SW_ERR | \
0199 CSR_INT_BIT_RF_KILL | \
0200 CSR_INT_BIT_SW_RX | \
0201 CSR_INT_BIT_WAKEUP | \
0202 CSR_INT_BIT_ALIVE | \
0203 CSR_INT_BIT_RX_PERIODIC)
0204
0205
0206 #define CSR_FH_INT_BIT_ERR (1 << 31)
0207 #define CSR_FH_INT_BIT_HI_PRIOR (1 << 30)
0208 #define CSR_FH_INT_BIT_RX_CHNL1 (1 << 17)
0209 #define CSR_FH_INT_BIT_RX_CHNL0 (1 << 16)
0210 #define CSR_FH_INT_BIT_TX_CHNL1 (1 << 1)
0211 #define CSR_FH_INT_BIT_TX_CHNL0 (1 << 0)
0212
0213 #define CSR_FH_INT_RX_MASK (CSR_FH_INT_BIT_HI_PRIOR | \
0214 CSR_FH_INT_BIT_RX_CHNL1 | \
0215 CSR_FH_INT_BIT_RX_CHNL0)
0216
0217 #define CSR_FH_INT_TX_MASK (CSR_FH_INT_BIT_TX_CHNL1 | \
0218 CSR_FH_INT_BIT_TX_CHNL0)
0219
0220
0221 #define CSR_GPIO_IN_BIT_AUX_POWER (0x00000200)
0222 #define CSR_GPIO_IN_VAL_VAUX_PWR_SRC (0x00000000)
0223 #define CSR_GPIO_IN_VAL_VMAIN_PWR_SRC (0x00000200)
0224
0225
0226 #define CSR_RESET_REG_FLAG_NEVO_RESET (0x00000001)
0227 #define CSR_RESET_REG_FLAG_FORCE_NMI (0x00000002)
0228 #define CSR_RESET_REG_FLAG_SW_RESET (0x00000080)
0229 #define CSR_RESET_REG_FLAG_MASTER_DISABLED (0x00000100)
0230 #define CSR_RESET_REG_FLAG_STOP_MASTER (0x00000200)
0231 #define CSR_RESET_LINK_PWR_MGMT_DISABLED (0x80000000)
0232
0233
0234
0235
0236
0237
0238
0239
0240
0241
0242
0243
0244
0245
0246
0247
0248
0249
0250
0251
0252
0253
0254
0255
0256
0257
0258
0259
0260
0261
0262
0263
0264
0265
0266
0267
0268
0269
0270
0271
0272 #define CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY (0x00000001)
0273 #define CSR_GP_CNTRL_REG_FLAG_INIT_DONE (0x00000004)
0274 #define CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ (0x00000008)
0275 #define CSR_GP_CNTRL_REG_FLAG_GOING_TO_SLEEP (0x00000010)
0276 #define CSR_GP_CNTRL_REG_FLAG_XTAL_ON (0x00000400)
0277
0278 #define CSR_GP_CNTRL_REG_VAL_MAC_ACCESS_EN (0x00000001)
0279
0280 #define CSR_GP_CNTRL_REG_MSK_POWER_SAVE_TYPE (0x07000000)
0281 #define CSR_GP_CNTRL_REG_FLAG_RFKILL_WAKE_L1A_EN (0x04000000)
0282 #define CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW (0x08000000)
0283
0284
0285 #define CSR_GP_CNTRL_REG_FLAG_MAC_INIT BIT(6)
0286 #define CSR_GP_CNTRL_REG_FLAG_ROM_START BIT(7)
0287 #define CSR_GP_CNTRL_REG_FLAG_MAC_STATUS BIT(20)
0288 #define CSR_GP_CNTRL_REG_FLAG_BZ_MAC_ACCESS_REQ BIT(21)
0289 #define CSR_GP_CNTRL_REG_FLAG_BUS_MASTER_DISABLE_STATUS BIT(28)
0290 #define CSR_GP_CNTRL_REG_FLAG_BUS_MASTER_DISABLE_REQ BIT(29)
0291 #define CSR_GP_CNTRL_REG_FLAG_SW_RESET BIT(31)
0292
0293
0294 #define CSR_HW_REV_STEP_DASH(_val) ((_val) & CSR_HW_IF_CONFIG_REG_MSK_MAC_STEP_DASH)
0295 #define CSR_HW_REV_TYPE(_val) (((_val) & 0x000FFF0) >> 4)
0296
0297
0298 #define CSR_HW_RFID_FLAVOR(_val) (((_val) & 0x000000F) >> 0)
0299 #define CSR_HW_RFID_DASH(_val) (((_val) & 0x00000F0) >> 4)
0300 #define CSR_HW_RFID_STEP(_val) (((_val) & 0x0000F00) >> 8)
0301 #define CSR_HW_RFID_TYPE(_val) (((_val) & 0x0FFF000) >> 12)
0302 #define CSR_HW_RFID_IS_CDB(_val) (((_val) & 0x10000000) >> 28)
0303 #define CSR_HW_RFID_IS_JACKET(_val) (((_val) & 0x20000000) >> 29)
0304
0305
0306
0307
0308 enum {
0309 SILICON_A_STEP = 0,
0310 SILICON_B_STEP,
0311 SILICON_C_STEP,
0312 SILICON_Z_STEP = 0xf,
0313 };
0314
0315
0316 #define CSR_HW_REV_TYPE_MSK (0x000FFF0)
0317 #define CSR_HW_REV_TYPE_5300 (0x0000020)
0318 #define CSR_HW_REV_TYPE_5350 (0x0000030)
0319 #define CSR_HW_REV_TYPE_5100 (0x0000050)
0320 #define CSR_HW_REV_TYPE_5150 (0x0000040)
0321 #define CSR_HW_REV_TYPE_1000 (0x0000060)
0322 #define CSR_HW_REV_TYPE_6x00 (0x0000070)
0323 #define CSR_HW_REV_TYPE_6x50 (0x0000080)
0324 #define CSR_HW_REV_TYPE_6150 (0x0000084)
0325 #define CSR_HW_REV_TYPE_6x05 (0x00000B0)
0326 #define CSR_HW_REV_TYPE_6x30 CSR_HW_REV_TYPE_6x05
0327 #define CSR_HW_REV_TYPE_6x35 CSR_HW_REV_TYPE_6x05
0328 #define CSR_HW_REV_TYPE_2x30 (0x00000C0)
0329 #define CSR_HW_REV_TYPE_2x00 (0x0000100)
0330 #define CSR_HW_REV_TYPE_105 (0x0000110)
0331 #define CSR_HW_REV_TYPE_135 (0x0000120)
0332 #define CSR_HW_REV_TYPE_3160 (0x0000164)
0333 #define CSR_HW_REV_TYPE_7265D (0x0000210)
0334 #define CSR_HW_REV_TYPE_NONE (0x00001F0)
0335 #define CSR_HW_REV_TYPE_QNJ (0x0000360)
0336 #define CSR_HW_REV_TYPE_QNJ_B0 (0x0000361)
0337 #define CSR_HW_REV_TYPE_QU_B0 (0x0000331)
0338 #define CSR_HW_REV_TYPE_QU_C0 (0x0000332)
0339 #define CSR_HW_REV_TYPE_QUZ (0x0000351)
0340 #define CSR_HW_REV_TYPE_HR_CDB (0x0000340)
0341 #define CSR_HW_REV_TYPE_SO (0x0000370)
0342 #define CSR_HW_REV_TYPE_TY (0x0000420)
0343
0344
0345 #define CSR_HW_RF_ID_TYPE_JF (0x00105100)
0346 #define CSR_HW_RF_ID_TYPE_HR (0x0010A000)
0347 #define CSR_HW_RF_ID_TYPE_HR1 (0x0010c100)
0348 #define CSR_HW_RF_ID_TYPE_HRCDB (0x00109F00)
0349 #define CSR_HW_RF_ID_TYPE_GF (0x0010D000)
0350 #define CSR_HW_RF_ID_TYPE_GF4 (0x0010E000)
0351
0352
0353 #define CSR_HW_RF_STEP(_val) (((_val) >> 8) & 0xF)
0354
0355
0356 #define CSR_EEPROM_REG_READ_VALID_MSK (0x00000001)
0357 #define CSR_EEPROM_REG_BIT_CMD (0x00000002)
0358 #define CSR_EEPROM_REG_MSK_ADDR (0x0000FFFC)
0359 #define CSR_EEPROM_REG_MSK_DATA (0xFFFF0000)
0360
0361
0362 #define CSR_EEPROM_GP_VALID_MSK (0x00000007)
0363 #define CSR_EEPROM_GP_IF_OWNER_MSK (0x00000180)
0364 #define CSR_EEPROM_GP_BAD_SIGNATURE_BOTH_EEP_AND_OTP (0x00000000)
0365 #define CSR_EEPROM_GP_BAD_SIG_EEP_GOOD_SIG_OTP (0x00000001)
0366 #define CSR_EEPROM_GP_GOOD_SIG_EEP_LESS_THAN_4K (0x00000002)
0367 #define CSR_EEPROM_GP_GOOD_SIG_EEP_MORE_THAN_4K (0x00000004)
0368
0369
0370 #define CSR_OTP_GP_REG_DEVICE_SELECT (0x00010000)
0371 #define CSR_OTP_GP_REG_OTP_ACCESS_MODE (0x00020000)
0372 #define CSR_OTP_GP_REG_ECC_CORR_STATUS_MSK (0x00100000)
0373 #define CSR_OTP_GP_REG_ECC_UNCORR_STATUS_MSK (0x00200000)
0374
0375
0376 #define CSR_GP_REG_POWER_SAVE_STATUS_MSK (0x03000000)
0377 #define CSR_GP_REG_NO_POWER_SAVE (0x00000000)
0378 #define CSR_GP_REG_MAC_POWER_SAVE (0x01000000)
0379 #define CSR_GP_REG_PHY_POWER_SAVE (0x02000000)
0380 #define CSR_GP_REG_POWER_SAVE_ERROR (0x03000000)
0381
0382
0383
0384 #define CSR_GIO_REG_VAL_L0S_DISABLED (0x00000002)
0385
0386
0387
0388
0389
0390
0391
0392
0393
0394
0395
0396
0397
0398
0399
0400
0401
0402
0403
0404
0405
0406
0407
0408
0409
0410
0411
0412
0413
0414 #define CSR_UCODE_DRV_GP1_BIT_MAC_SLEEP (0x00000001)
0415 #define CSR_UCODE_SW_BIT_RFKILL (0x00000002)
0416 #define CSR_UCODE_DRV_GP1_BIT_CMD_BLOCKED (0x00000004)
0417 #define CSR_UCODE_DRV_GP1_REG_BIT_CT_KILL_EXIT (0x00000008)
0418 #define CSR_UCODE_DRV_GP1_BIT_D3_CFG_COMPLETE (0x00000020)
0419
0420
0421 #define CSR_GP_DRIVER_REG_BIT_RADIO_SKU_MSK (0x00000003)
0422 #define CSR_GP_DRIVER_REG_BIT_RADIO_SKU_3x3_HYB (0x00000000)
0423 #define CSR_GP_DRIVER_REG_BIT_RADIO_SKU_2x2_HYB (0x00000001)
0424 #define CSR_GP_DRIVER_REG_BIT_RADIO_SKU_2x2_IPA (0x00000002)
0425 #define CSR_GP_DRIVER_REG_BIT_CALIB_VERSION6 (0x00000004)
0426 #define CSR_GP_DRIVER_REG_BIT_6050_1x2 (0x00000008)
0427
0428 #define CSR_GP_DRIVER_REG_BIT_RADIO_IQ_INVER (0x00000080)
0429
0430
0431 #define CSR_GIO_CHICKEN_BITS_REG_BIT_L1A_NO_L0S_RX (0x00800000)
0432 #define CSR_GIO_CHICKEN_BITS_REG_BIT_DIS_L0S_EXIT_TIMER (0x20000000)
0433
0434
0435 #define CSR_LED_BSM_CTRL_MSK (0xFFFFFFDF)
0436 #define CSR_LED_REG_TURN_ON (0x60)
0437 #define CSR_LED_REG_TURN_OFF (0x20)
0438
0439
0440 #define CSR50_ANA_PLL_CFG_VAL (0x00880300)
0441
0442
0443 #define CSR_DBG_HPET_MEM_REG_VAL (0xFFFF0000)
0444
0445
0446 #define CSR_DRAM_INT_TBL_ENABLE (1 << 31)
0447 #define CSR_DRAM_INIT_TBL_WRITE_POINTER (1 << 28)
0448 #define CSR_DRAM_INIT_TBL_WRAP_CHECK (1 << 27)
0449
0450
0451
0452
0453
0454
0455
0456
0457
0458
0459
0460
0461
0462
0463
0464
0465
0466
0467
0468
0469
0470
0471
0472
0473
0474
0475 #define HEEP_CTRL_WRD_PCIEX_CTRL_REG (CSR_BASE+0x0ec)
0476 #define HEEP_CTRL_WRD_PCIEX_DATA_REG (CSR_BASE+0x0f4)
0477
0478
0479
0480
0481
0482
0483
0484
0485
0486
0487
0488
0489
0490
0491
0492
0493 #define HBUS_BASE (0x400)
0494
0495
0496
0497
0498
0499
0500
0501
0502
0503
0504 #define HBUS_TARG_MEM_RADDR (HBUS_BASE+0x00c)
0505 #define HBUS_TARG_MEM_WADDR (HBUS_BASE+0x010)
0506 #define HBUS_TARG_MEM_WDAT (HBUS_BASE+0x018)
0507 #define HBUS_TARG_MEM_RDAT (HBUS_BASE+0x01c)
0508
0509
0510 #define HBUS_TARG_MBX_C (HBUS_BASE+0x030)
0511 #define HBUS_TARG_MBX_C_REG_BIT_CMD_BLOCKED (0x00000004)
0512
0513
0514
0515
0516
0517
0518
0519
0520
0521 #define HBUS_TARG_PRPH_WADDR (HBUS_BASE+0x044)
0522 #define HBUS_TARG_PRPH_RADDR (HBUS_BASE+0x048)
0523 #define HBUS_TARG_PRPH_WDAT (HBUS_BASE+0x04c)
0524 #define HBUS_TARG_PRPH_RDAT (HBUS_BASE+0x050)
0525
0526
0527 #define HBUS_TARG_TEST_REG (HBUS_BASE+0x05c)
0528
0529
0530
0531
0532
0533
0534
0535
0536 #define HBUS_TARG_WRPTR (HBUS_BASE+0x060)
0537
0538 #define HBUS_TARG_WRPTR_Q_SHIFT (16)
0539 #define HBUS_TARG_WRPTR_RX_Q(q) (((q) + 512) << HBUS_TARG_WRPTR_Q_SHIFT)
0540
0541
0542
0543
0544
0545
0546
0547
0548
0549
0550
0551 #define IWL_HOST_INT_TIMEOUT_MAX (0xFF)
0552 #define IWL_HOST_INT_TIMEOUT_DEF (0x40)
0553 #define IWL_HOST_INT_TIMEOUT_MIN (0x0)
0554 #define IWL_HOST_INT_OPER_MODE BIT(31)
0555
0556
0557
0558
0559
0560
0561 enum dtd_diode_reg {
0562 DTS_DIODE_REG_DIG_VAL = 0x000000FF,
0563 DTS_DIODE_REG_VREF_LOW = 0x0000FF00,
0564 DTS_DIODE_REG_VREF_HIGH = 0x00FF0000,
0565 DTS_DIODE_REG_VREF_ID = 0x03000000,
0566 DTS_DIODE_REG_PASS_ONCE = 0x80000000,
0567 DTS_DIODE_REG_FLAGS_MSK = 0xFF000000,
0568
0569 DTS_DIODE_REG_FLAGS_VREFS_ID_POS = 0,
0570 DTS_DIODE_REG_FLAGS_VREFS_ID = 0x00000003,
0571 DTS_DIODE_REG_FLAGS_PASS_ONCE_POS = 7,
0572 DTS_DIODE_REG_FLAGS_PASS_ONCE = 0x00000080,
0573 };
0574
0575
0576
0577
0578
0579 #define CSR_MSIX_BASE (0x2000)
0580 #define CSR_MSIX_FH_INT_CAUSES_AD (CSR_MSIX_BASE + 0x800)
0581 #define CSR_MSIX_FH_INT_MASK_AD (CSR_MSIX_BASE + 0x804)
0582 #define CSR_MSIX_HW_INT_CAUSES_AD (CSR_MSIX_BASE + 0x808)
0583 #define CSR_MSIX_HW_INT_MASK_AD (CSR_MSIX_BASE + 0x80C)
0584 #define CSR_MSIX_AUTOMASK_ST_AD (CSR_MSIX_BASE + 0x810)
0585 #define CSR_MSIX_RX_IVAR_AD_REG (CSR_MSIX_BASE + 0x880)
0586 #define CSR_MSIX_IVAR_AD_REG (CSR_MSIX_BASE + 0x890)
0587 #define CSR_MSIX_PENDING_PBA_AD (CSR_MSIX_BASE + 0x1000)
0588 #define CSR_MSIX_RX_IVAR(cause) (CSR_MSIX_RX_IVAR_AD_REG + (cause))
0589 #define CSR_MSIX_IVAR(cause) (CSR_MSIX_IVAR_AD_REG + (cause))
0590
0591 #define MSIX_FH_INT_CAUSES_Q(q) (q)
0592
0593
0594
0595
0596 enum msix_fh_int_causes {
0597 MSIX_FH_INT_CAUSES_Q0 = BIT(0),
0598 MSIX_FH_INT_CAUSES_Q1 = BIT(1),
0599 MSIX_FH_INT_CAUSES_D2S_CH0_NUM = BIT(16),
0600 MSIX_FH_INT_CAUSES_D2S_CH1_NUM = BIT(17),
0601 MSIX_FH_INT_CAUSES_S2D = BIT(19),
0602 MSIX_FH_INT_CAUSES_FH_ERR = BIT(21),
0603 };
0604
0605
0606 #define MSIX_FH_INT_CAUSES_DATA_QUEUE 0xffff
0607
0608
0609
0610
0611 enum msix_hw_int_causes {
0612 MSIX_HW_INT_CAUSES_REG_ALIVE = BIT(0),
0613 MSIX_HW_INT_CAUSES_REG_WAKEUP = BIT(1),
0614 MSIX_HW_INT_CAUSES_REG_IML = BIT(1),
0615 MSIX_HW_INT_CAUSES_REG_RESET_DONE = BIT(2),
0616 MSIX_HW_INT_CAUSES_REG_SW_ERR_BZ = BIT(5),
0617 MSIX_HW_INT_CAUSES_REG_CT_KILL = BIT(6),
0618 MSIX_HW_INT_CAUSES_REG_RF_KILL = BIT(7),
0619 MSIX_HW_INT_CAUSES_REG_PERIODIC = BIT(8),
0620 MSIX_HW_INT_CAUSES_REG_SW_ERR = BIT(25),
0621 MSIX_HW_INT_CAUSES_REG_SCD = BIT(26),
0622 MSIX_HW_INT_CAUSES_REG_FH_TX = BIT(27),
0623 MSIX_HW_INT_CAUSES_REG_HW_ERR = BIT(29),
0624 MSIX_HW_INT_CAUSES_REG_HAP = BIT(30),
0625 };
0626
0627 #define MSIX_MIN_INTERRUPT_VECTORS 2
0628 #define MSIX_AUTO_CLEAR_CAUSE 0
0629 #define MSIX_NON_AUTO_CLEAR_CAUSE BIT(7)
0630
0631
0632
0633
0634
0635 #define CSR_ADDR_BASE(trans) ((trans)->cfg->mac_addr_from_csr)
0636 #define CSR_MAC_ADDR0_OTP(trans) (CSR_ADDR_BASE(trans) + 0x00)
0637 #define CSR_MAC_ADDR1_OTP(trans) (CSR_ADDR_BASE(trans) + 0x04)
0638 #define CSR_MAC_ADDR0_STRAP(trans) (CSR_ADDR_BASE(trans) + 0x08)
0639 #define CSR_MAC_ADDR1_STRAP(trans) (CSR_ADDR_BASE(trans) + 0x0c)
0640
0641 #endif