1*5113495bSYour Name /* 2*5113495bSYour Name * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. 3*5113495bSYour Name * 4*5113495bSYour Name * Permission to use, copy, modify, and/or distribute this software for any 5*5113495bSYour Name * purpose with or without fee is hereby granted, provided that the above 6*5113495bSYour Name * copyright notice and this permission notice appear in all copies. 7*5113495bSYour Name 8*5113495bSYour Name * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9*5113495bSYour Name * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10*5113495bSYour Name * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 11*5113495bSYour Name * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12*5113495bSYour Name * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 13*5113495bSYour Name * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14*5113495bSYour Name * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15*5113495bSYour Name */ 16*5113495bSYour Name 17*5113495bSYour Name #if defined(WCN6450_HEADERS_DEF) 18*5113495bSYour Name 19*5113495bSYour Name #include "msmhwiobase.h" 20*5113495bSYour Name #include "hwio.h" 21*5113495bSYour Name 22*5113495bSYour Name #define WCN6450_CE0_BASE_ADDRESS HOST_SOC_A_WFSS_CE0_WFSS_CE_0_REG_REG_BASE 23*5113495bSYour Name #define WCN6450_CE1_BASE_ADDRESS HOST_SOC_A_WFSS_CE1_WFSS_CE_1_REG_REG_BASE 24*5113495bSYour Name 25*5113495bSYour Name #define WCN6450_SR_WR_INDEX_OFFSET \ 26*5113495bSYour Name (HWIO_HOST_SOC_A_WFSS_CE0_SRC_WR_INDEX_ADDR - \ 27*5113495bSYour Name WCN6450_CE0_BASE_ADDRESS) 28*5113495bSYour Name #define WCN6450_DST_WR_INDEX_OFFSET \ 29*5113495bSYour Name (HWIO_HOST_SOC_A_WFSS_CE0_DST_WR_INDEX_ADDR - \ 30*5113495bSYour Name WCN6450_CE0_BASE_ADDRESS) 31*5113495bSYour Name #define WCN6450_SRC_WATERMARK_OFFSET \ 32*5113495bSYour Name (HWIO_HOST_SOC_A_WFSS_CE0_SRC_WATERMARK_ADDR - \ 33*5113495bSYour Name WCN6450_CE0_BASE_ADDRESS) 34*5113495bSYour Name #define WCN6450_SRC_WATERMARK_LOW_MASK \ 35*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_SRC_WATERMARK_SR_LOW_WATER_MARK_THRESOLD_BMSK 36*5113495bSYour Name #define WCN6450_SRC_WATERMARK_LOW_LSB \ 37*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_SRC_WATERMARK_SR_LOW_WATER_MARK_THRESOLD_SHFT 38*5113495bSYour Name #define WCN6450_SRC_WATERMARK_HIGH_MASK \ 39*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_SRC_WATERMARK_SR_HIGH_WATER_MARK_THRESHOLD_BMSK 40*5113495bSYour Name #define WCN6450_SRC_WATERMARK_HIGH_LSB \ 41*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_SRC_WATERMARK_SR_HIGH_WATER_MARK_THRESHOLD_SHFT 42*5113495bSYour Name #define WCN6450_DST_WATERMARK_OFFSET \ 43*5113495bSYour Name (HWIO_HOST_SOC_A_WFSS_CE0_DST_WATERMARK_ADDR - \ 44*5113495bSYour Name WCN6450_CE0_BASE_ADDRESS) 45*5113495bSYour Name #define WCN6450_DST_WATERMARK_LOW_MASK \ 46*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_DST_WATERMARK_DR_LOW_WATER_MARK_THRESHOLD_BMSK 47*5113495bSYour Name #define WCN6450_DST_WATERMARK_LOW_LSB \ 48*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_DST_WATERMARK_DR_LOW_WATER_MARK_THRESHOLD_SHFT 49*5113495bSYour Name #define WCN6450_DST_WATERMARK_HIGH_MASK \ 50*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_DST_WATERMARK_DR_HIGH_WATER_MARK_THRESHOLD_BMSK 51*5113495bSYour Name #define WCN6450_DST_WATERMARK_HIGH_LSB \ 52*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_DST_WATERMARK_DR_HIGH_WATER_MARK_THRESHOLD_SHFT 53*5113495bSYour Name #define WCN6450_CURRENT_SRRI_OFFSET \ 54*5113495bSYour Name (HWIO_HOST_SOC_A_WFSS_CE0_CURRENT_SRRI_ADDR - \ 55*5113495bSYour Name WCN6450_CE0_BASE_ADDRESS) 56*5113495bSYour Name #define WCN6450_CURRENT_DRRI_OFFSET \ 57*5113495bSYour Name (HWIO_HOST_SOC_A_WFSS_CE0_CURRENT_DRRI_ADDR - \ 58*5113495bSYour Name WCN6450_CE0_BASE_ADDRESS) 59*5113495bSYour Name #define WCN6450_HOST_IS_SRC_RING_HIGH_WATERMARK_MASK \ 60*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_HOST_IS_SRC_RING_HIGH_WATERMARK_BMSK 61*5113495bSYour Name #define WCN6450_HOST_IS_SRC_RING_LOW_WATERMARK_MASK \ 62*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_HOST_IS_SRC_RING_LOW_WATERMARK_BMSK 63*5113495bSYour Name #define WCN6450_HOST_IS_DST_RING_HIGH_WATERMARK_MASK \ 64*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_HOST_IS_DST_RING_HIGH_WATERMARK_BMSK 65*5113495bSYour Name #define WCN6450_HOST_IS_DST_RING_LOW_WATERMARK_MASK \ 66*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_HOST_IS_DST_RING_LOW_WATERMARK_BMSK 67*5113495bSYour Name #define WCN6450_HOST_IS_OFFSET (HWIO_HOST_SOC_A_WFSS_CE0_HOST_IS_ADDR \ 68*5113495bSYour Name - WCN6450_CE0_BASE_ADDRESS) 69*5113495bSYour Name #define WCN6450_MISC_IS_OFFSET (HWIO_HOST_SOC_A_WFSS_CE0_MISC_IE_ADDR \ 70*5113495bSYour Name - WCN6450_CE0_BASE_ADDRESS) 71*5113495bSYour Name #define WCN6450_HOST_IS_COPY_COMPLETE_MASK \ 72*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_HOST_IS_COPY_COMPLETE_BMSK 73*5113495bSYour Name #define WCN6450_CE_COMMON_WRAPPER_BASE_ADDRESS \ 74*5113495bSYour Name HOST_SOC_A_WFSS_CE_COMMON_WRAPPER_REG_BASE 75*5113495bSYour Name #define WCN6450_CE_COMMON_WRAPPER_INTERRUPT_SUMMARY_ADDRESS_OFFSET \ 76*5113495bSYour Name (HWIO_HOST_SOC_A_WFSS_CE_COMMON_WRAPPER_CE_WRAPPER_HOST_INTERRUPT_SUMMARY_ADDR \ 77*5113495bSYour Name - WCN6450_CE_COMMON_WRAPPER_BASE_ADDRESS) 78*5113495bSYour Name #define WCN6450_CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_MASK \ 79*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE_COMMON_WRAPPER_CE_WRAPPER_HOST_INTERRUPT_SUMMARY_HOST_BMSK 80*5113495bSYour Name #define WCN6450_CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_LSB \ 81*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE_COMMON_WRAPPER_CE_WRAPPER_HOST_INTERRUPT_SUMMARY_HOST_SHFT 82*5113495bSYour Name #define WCN6450_CE_DDR_ADDRESS_FOR_RRI_LOW \ 83*5113495bSYour Name (HWIO_HOST_SOC_A_WFSS_CE_COMMON_WRAPPER_CE_WRAPPER_INDEX_BASE_LOW_ADDR \ 84*5113495bSYour Name - WCN6450_CE_COMMON_WRAPPER_BASE_ADDRESS) 85*5113495bSYour Name #define WCN6450_CE_DDR_ADDRESS_FOR_RRI_HIGH \ 86*5113495bSYour Name (HWIO_HOST_SOC_A_WFSS_CE_COMMON_WRAPPER_CE_WRAPPER_INDEX_BASE_HIGH_ADDR \ 87*5113495bSYour Name - WCN6450_CE_COMMON_WRAPPER_BASE_ADDRESS) 88*5113495bSYour Name #define WCN6450_HOST_IE_OFFSET (HWIO_HOST_SOC_A_WFSS_CE0_HOST_IE_ADDR \ 89*5113495bSYour Name - WCN6450_CE0_BASE_ADDRESS) 90*5113495bSYour Name #define WCN6450_HOST_IE_COPY_COMPLETE_MASK \ 91*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_HOST_IE_COPY_COMPLETE_BMSK 92*5113495bSYour Name #define WCN6450_HOST_IE_SRC_BATCH_TIMER_MASK \ 93*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_HOST_IE_SRC_TIMER_BATCH_BMSK 94*5113495bSYour Name #define WCN6450_HOST_IE_DST_BATCH_TIMER_MASK \ 95*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_HOST_IE_DST_TIMER_BATCH_BMSK 96*5113495bSYour Name #define WCN6450_SR_BA_OFFSET (HWIO_HOST_SOC_A_WFSS_CE0_SR_BA_LOW_ADDR \ 97*5113495bSYour Name - WCN6450_CE0_BASE_ADDRESS) 98*5113495bSYour Name #define WCN6450_SR_BA_HIGH_OFFSET (HWIO_HOST_SOC_A_WFSS_CE0_SR_BA_HIGH_ADDR \ 99*5113495bSYour Name - WCN6450_CE0_BASE_ADDRESS) 100*5113495bSYour Name #define WCN6450_SR_SIZE_OFFSET (HWIO_HOST_SOC_A_WFSS_CE0_SR_SIZE_ADDR \ 101*5113495bSYour Name - WCN6450_CE0_BASE_ADDRESS) 102*5113495bSYour Name #define WCN6450_DR_BA_OFFSET (HWIO_HOST_SOC_A_WFSS_CE0_DR_BA_LOW_ADDR \ 103*5113495bSYour Name - WCN6450_CE0_BASE_ADDRESS) 104*5113495bSYour Name #define WCN6450_DR_BA_HIGH_OFFSET (HWIO_HOST_SOC_A_WFSS_CE0_DR_BA_HIGH_ADDR \ 105*5113495bSYour Name - WCN6450_CE0_BASE_ADDRESS) 106*5113495bSYour Name #define WCN6450_DR_SIZE_OFFSET (HWIO_HOST_SOC_A_WFSS_CE0_DR_SIZE_ADDR \ 107*5113495bSYour Name - WCN6450_CE0_BASE_ADDRESS) 108*5113495bSYour Name #define WCN6450_CE_CTRL1_OFFSET (HWIO_HOST_SOC_A_WFSS_CE0_CE_CTRL1_ADDR \ 109*5113495bSYour Name - WCN6450_CE0_BASE_ADDRESS) 110*5113495bSYour Name #define WCN6450_CE_CTRL1_DMAX_LENGTH_MASK \ 111*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_CE_CTRL1_DEST_MAX_LENGTH_BMSK 112*5113495bSYour Name #define WCN6450_CE_CTRL1_DMAX_LENGTH_LSB \ 113*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_CE_CTRL1_DEST_MAX_LENGTH_SHFT 114*5113495bSYour Name #define WCN6450_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_MASK \ 115*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_BMSK 116*5113495bSYour Name #define WCN6450_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_LSB \ 117*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_SHFT 118*5113495bSYour Name #define WCN6450_CE_CTRL1_DST_RING_BYTE_SWAP_EN_MASK \ 119*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_CE_CTRL1_DST_RING_BYTE_SWAP_EN_BMSK 120*5113495bSYour Name #define WCN6450_CE_CTRL1_DST_RING_BYTE_SWAP_EN_LSB \ 121*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_CE_CTRL1_DST_RING_BYTE_SWAP_EN_SHFT 122*5113495bSYour Name #define WCN6450_CE_CTRL1_IDX_UPD_EN_MASK \ 123*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_CE_CTRL1_IDX_UPD_EN_BMSK 124*5113495bSYour Name #define WCN6450_CE_CMD_REGISTER_OFFSET (HWIO_HOST_SOC_A_WFSS_CE0_CE_CMD_ADDR \ 125*5113495bSYour Name - WCN6450_CE0_BASE_ADDRESS) 126*5113495bSYour Name #define WCN6450_CE_MSI_ADDRESS \ 127*5113495bSYour Name (HWIO_HOST_SOC_A_WFSS_CE0_HOST_MSI_ADDR_LOW_ADDR - \ 128*5113495bSYour Name WCN6450_CE0_BASE_ADDRESS) 129*5113495bSYour Name #define WCN6450_CE_MSI_ADDRESS_HIGH \ 130*5113495bSYour Name (HWIO_HOST_SOC_A_WFSS_CE0_HOST_MSI_ADDR_HIGH_ADDR - \ 131*5113495bSYour Name WCN6450_CE0_BASE_ADDRESS) 132*5113495bSYour Name #define WCN6450_CE_MSI_DATA (HWIO_HOST_SOC_A_WFSS_CE0_HOST_MSI_DATA_ADDR \ 133*5113495bSYour Name - WCN6450_CE0_BASE_ADDRESS) 134*5113495bSYour Name #define WCN6450_CE_MSI_ENABLE_MASK \ 135*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_CE_CTRL1_HOST_MSI_EN_BMSK 136*5113495bSYour Name #define WCN6450_CE_SRC_BATCH_TIMER_THRESH_MASK \ 137*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_CE_SRC_BATCH_TIMER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 138*5113495bSYour Name #define WCN6450_CE_SRC_BATCH_COUNTER_THRESH_MASK \ 139*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_CE_SRC_BATCH_TIMER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 140*5113495bSYour Name #define WCN6450_CE_SRC_BATCH_TIMER_THRESH_LSB \ 141*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_CE_SRC_BATCH_TIMER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT 142*5113495bSYour Name #define WCN6450_CE_SRC_BATCH_COUNTER_THRESH_LSB \ 143*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_CE_SRC_BATCH_TIMER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT 144*5113495bSYour Name #define WCN6450_CE_SRC_BATCH_TIMER_INT_SETUP_OFFSET \ 145*5113495bSYour Name (HWIO_HOST_SOC_A_WFSS_CE0_CE_SRC_BATCH_TIMER_INT_SETUP_ADDR \ 146*5113495bSYour Name - WCN6450_CE0_BASE_ADDRESS) 147*5113495bSYour Name #define WCN6450_CE_DST_BATCH_TIMER_THRESH_MASK \ 148*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_CE_DST_BATCH_TIMER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK 149*5113495bSYour Name #define WCN6450_CE_DST_BATCH_COUNTER_THRESH_MASK \ 150*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_CE_DST_BATCH_TIMER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK 151*5113495bSYour Name #define WCN6450_CE_DST_BATCH_TIMER_THRESH_LSB \ 152*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_CE_DST_BATCH_TIMER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT 153*5113495bSYour Name #define WCN6450_CE_DST_BATCH_COUNTER_THRESH_LSB \ 154*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_CE_DST_BATCH_TIMER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT 155*5113495bSYour Name #define WCN6450_CE_DST_BATCH_TIMER_INT_SETUP_OFFSET \ 156*5113495bSYour Name (HWIO_HOST_SOC_A_WFSS_CE0_CE_DST_BATCH_TIMER_INT_SETUP_ADDR \ 157*5113495bSYour Name - WCN6450_CE0_BASE_ADDRESS) 158*5113495bSYour Name #define WCN6450_MISC_IE_OFFSET (HWIO_HOST_SOC_A_WFSS_CE0_MISC_IE_ADDR \ 159*5113495bSYour Name - WCN6450_CE0_BASE_ADDRESS) 160*5113495bSYour Name #define WCN6450_MISC_IS_AXI_ERR_MASK \ 161*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_MISC_IS_AXI_BUS_ERR_BMSK 162*5113495bSYour Name #define WCN6450_MISC_IS_SRC_LEN_ERR_MASK \ 163*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_MISC_IS_SRC_LEN_ERR_BMSK 164*5113495bSYour Name #define WCN6450_MISC_IS_DST_MAX_LEN_VIO_MASK \ 165*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_MISC_IS_DST_MAX_LEN_VIO_BMSK 166*5113495bSYour Name #define WCN6450_MISC_IS_DST_RING_OVERFLOW_MASK \ 167*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_MISC_IS_DST_RING_OVERFLOW_BMSK 168*5113495bSYour Name #define WCN6450_MISC_IS_SRC_RING_OVERFLOW_MASK \ 169*5113495bSYour Name HWIO_HOST_SOC_A_WFSS_CE0_MISC_IS_SRC_RING_OVERFLOW_BMSK 170*5113495bSYour Name 171*5113495bSYour Name #define WCN6450_MISC_IS_DST_ADDR_ERR_MASK MISSING 172*5113495bSYour Name #define WCN6450_CE_WRAPPER_DEBUG_OFFSET MISSING 173*5113495bSYour Name #define WCN6450_CE_WRAPPER_DEBUG_SEL_MSB MISSING 174*5113495bSYour Name #define WCN6450_CE_WRAPPER_DEBUG_SEL_LSB MISSING 175*5113495bSYour Name #define WCN6450_CE_WRAPPER_DEBUG_SEL_MASK MISSING 176*5113495bSYour Name #define WCN6450_CE_DEBUG_OFFSET MISSING 177*5113495bSYour Name #define WCN6450_CE_DEBUG_SEL_MSB MISSING 178*5113495bSYour Name #define WCN6450_CE_DEBUG_SEL_LSB MISSING 179*5113495bSYour Name #define WCN6450_CE_DEBUG_SEL_MASK MISSING 180*5113495bSYour Name #define MISSING_FOR_WCN6450 MISSING 181*5113495bSYour Name #define WCN6450_CE_COUNT 12 182*5113495bSYour Name 183*5113495bSYour Name #define SHADOW_REG_VAL_START_OFFSET 0x00000504 184*5113495bSYour Name #define SHADOW_REGISTER_VAL(x) ((SHADOW_REG_VAL_START_OFFSET) + (4 * (x))) 185*5113495bSYour Name 186*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_0 SHADOW_REGISTER_VAL(0) 187*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_1 SHADOW_REGISTER_VAL(1) 188*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_2 SHADOW_REGISTER_VAL(2) 189*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_3 SHADOW_REGISTER_VAL(3) 190*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_4 SHADOW_REGISTER_VAL(4) 191*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_5 SHADOW_REGISTER_VAL(5) 192*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_6 SHADOW_REGISTER_VAL(6) 193*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_7 SHADOW_REGISTER_VAL(7) 194*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_8 SHADOW_REGISTER_VAL(8) 195*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_9 SHADOW_REGISTER_VAL(9) 196*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_10 SHADOW_REGISTER_VAL(10) 197*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_11 SHADOW_REGISTER_VAL(11) 198*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_12 SHADOW_REGISTER_VAL(12) 199*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_13 SHADOW_REGISTER_VAL(13) 200*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_14 SHADOW_REGISTER_VAL(14) 201*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_15 SHADOW_REGISTER_VAL(15) 202*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_16 SHADOW_REGISTER_VAL(16) 203*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_17 SHADOW_REGISTER_VAL(17) 204*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_18 SHADOW_REGISTER_VAL(18) 205*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_19 SHADOW_REGISTER_VAL(19) 206*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_20 SHADOW_REGISTER_VAL(20) 207*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_21 SHADOW_REGISTER_VAL(21) 208*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_22 SHADOW_REGISTER_VAL(22) 209*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_23 SHADOW_REGISTER_VAL(23) 210*5113495bSYour Name 211*5113495bSYour Name struct targetdef_s wcn6450_targetdef = { 212*5113495bSYour Name .d_FW_INDICATOR_ADDRESS = MISSING_FOR_WCN6450, 213*5113495bSYour Name .d_SR_WR_INDEX_ADDRESS = WCN6450_SR_WR_INDEX_OFFSET, 214*5113495bSYour Name .d_DST_WATERMARK_ADDRESS = WCN6450_DST_WATERMARK_OFFSET, 215*5113495bSYour Name .d_CE_COUNT = WCN6450_CE_COUNT, 216*5113495bSYour Name }; 217*5113495bSYour Name 218*5113495bSYour Name struct hostdef_s wcn6450_hostdef = { 219*5113495bSYour Name .d_HOST_CE_COUNT = WCN6450_CE_COUNT, 220*5113495bSYour Name .d_MUX_ID_MASK = 0xf000, 221*5113495bSYour Name .d_TRANSACTION_ID_MASK = 0x0fff, 222*5113495bSYour Name .d_DESC_DATA_FLAG_MASK = 0x7FFF1F00, 223*5113495bSYour Name }; 224*5113495bSYour Name 225*5113495bSYour Name struct ce_reg_def wcn6450_ce_targetdef = { 226*5113495bSYour Name .d_DST_WR_INDEX_ADDRESS = WCN6450_DST_WR_INDEX_OFFSET, 227*5113495bSYour Name .d_SRC_WATERMARK_ADDRESS = WCN6450_SRC_WATERMARK_OFFSET, 228*5113495bSYour Name .d_SRC_WATERMARK_LOW_MASK = WCN6450_SRC_WATERMARK_LOW_MASK, 229*5113495bSYour Name .d_SRC_WATERMARK_HIGH_MASK = WCN6450_SRC_WATERMARK_HIGH_MASK, 230*5113495bSYour Name .d_DST_WATERMARK_LOW_MASK = WCN6450_DST_WATERMARK_LOW_MASK, 231*5113495bSYour Name .d_DST_WATERMARK_HIGH_MASK = WCN6450_DST_WATERMARK_HIGH_MASK, 232*5113495bSYour Name .d_CURRENT_SRRI_ADDRESS = WCN6450_CURRENT_SRRI_OFFSET, 233*5113495bSYour Name .d_CURRENT_DRRI_ADDRESS = WCN6450_CURRENT_DRRI_OFFSET, 234*5113495bSYour Name .d_HOST_IS_SRC_RING_HIGH_WATERMARK_MASK = 235*5113495bSYour Name WCN6450_HOST_IS_SRC_RING_HIGH_WATERMARK_MASK, 236*5113495bSYour Name .d_HOST_IS_SRC_RING_LOW_WATERMARK_MASK = 237*5113495bSYour Name WCN6450_HOST_IS_SRC_RING_LOW_WATERMARK_MASK, 238*5113495bSYour Name .d_HOST_IS_DST_RING_HIGH_WATERMARK_MASK = 239*5113495bSYour Name WCN6450_HOST_IS_DST_RING_HIGH_WATERMARK_MASK, 240*5113495bSYour Name .d_HOST_IS_DST_RING_LOW_WATERMARK_MASK = 241*5113495bSYour Name WCN6450_HOST_IS_DST_RING_LOW_WATERMARK_MASK, 242*5113495bSYour Name .d_HOST_IS_ADDRESS = WCN6450_HOST_IS_OFFSET, 243*5113495bSYour Name .d_MISC_IS_ADDRESS = WCN6450_MISC_IS_OFFSET, 244*5113495bSYour Name .d_HOST_IS_COPY_COMPLETE_MASK = WCN6450_HOST_IS_COPY_COMPLETE_MASK, 245*5113495bSYour Name .d_CE_WRAPPER_BASE_ADDRESS = WCN6450_CE_COMMON_WRAPPER_BASE_ADDRESS, 246*5113495bSYour Name .d_CE_WRAPPER_INTERRUPT_SUMMARY_ADDRESS = 247*5113495bSYour Name WCN6450_CE_COMMON_WRAPPER_INTERRUPT_SUMMARY_ADDRESS_OFFSET, 248*5113495bSYour Name .d_CE_DDR_ADDRESS_FOR_RRI_LOW = 249*5113495bSYour Name WCN6450_CE_DDR_ADDRESS_FOR_RRI_LOW, 250*5113495bSYour Name .d_CE_DDR_ADDRESS_FOR_RRI_HIGH = 251*5113495bSYour Name WCN6450_CE_DDR_ADDRESS_FOR_RRI_HIGH, 252*5113495bSYour Name .d_HOST_IE_ADDRESS = WCN6450_HOST_IE_OFFSET, 253*5113495bSYour Name .d_HOST_IE_COPY_COMPLETE_MASK = WCN6450_HOST_IE_COPY_COMPLETE_MASK, 254*5113495bSYour Name .d_HOST_IE_SRC_TIMER_BATCH_MASK = WCN6450_HOST_IE_SRC_BATCH_TIMER_MASK, 255*5113495bSYour Name .d_HOST_IE_DST_TIMER_BATCH_MASK = WCN6450_HOST_IE_DST_BATCH_TIMER_MASK, 256*5113495bSYour Name .d_SR_BA_ADDRESS = WCN6450_SR_BA_OFFSET, 257*5113495bSYour Name .d_SR_BA_ADDRESS_HIGH = WCN6450_SR_BA_HIGH_OFFSET, 258*5113495bSYour Name .d_SR_SIZE_ADDRESS = WCN6450_SR_SIZE_OFFSET, 259*5113495bSYour Name .d_CE_CTRL1_ADDRESS = WCN6450_CE_CTRL1_OFFSET, 260*5113495bSYour Name .d_CE_CTRL1_DMAX_LENGTH_MASK = WCN6450_CE_CTRL1_DMAX_LENGTH_MASK, 261*5113495bSYour Name .d_DR_BA_ADDRESS = WCN6450_DR_BA_OFFSET, 262*5113495bSYour Name .d_DR_BA_ADDRESS_HIGH = WCN6450_DR_BA_HIGH_OFFSET, 263*5113495bSYour Name .d_DR_SIZE_ADDRESS = WCN6450_DR_SIZE_OFFSET, 264*5113495bSYour Name .d_CE_CMD_REGISTER = WCN6450_CE_CMD_REGISTER_OFFSET, 265*5113495bSYour Name .d_CE_MSI_ADDRESS = WCN6450_CE_MSI_ADDRESS, 266*5113495bSYour Name .d_CE_MSI_ADDRESS_HIGH = WCN6450_CE_MSI_ADDRESS_HIGH, 267*5113495bSYour Name .d_CE_MSI_DATA = WCN6450_CE_MSI_DATA, 268*5113495bSYour Name .d_CE_MSI_ENABLE_BIT = WCN6450_CE_MSI_ENABLE_MASK, 269*5113495bSYour Name .d_MISC_IE_ADDRESS = WCN6450_MISC_IE_OFFSET, 270*5113495bSYour Name .d_MISC_IS_AXI_ERR_MASK = WCN6450_MISC_IS_AXI_ERR_MASK, 271*5113495bSYour Name .d_MISC_IS_DST_ADDR_ERR_MASK = WCN6450_MISC_IS_DST_ADDR_ERR_MASK, 272*5113495bSYour Name .d_MISC_IS_SRC_LEN_ERR_MASK = WCN6450_MISC_IS_SRC_LEN_ERR_MASK, 273*5113495bSYour Name .d_MISC_IS_DST_MAX_LEN_VIO_MASK = WCN6450_MISC_IS_DST_MAX_LEN_VIO_MASK, 274*5113495bSYour Name .d_MISC_IS_DST_RING_OVERFLOW_MASK = 275*5113495bSYour Name WCN6450_MISC_IS_DST_RING_OVERFLOW_MASK, 276*5113495bSYour Name .d_MISC_IS_SRC_RING_OVERFLOW_MASK = 277*5113495bSYour Name WCN6450_MISC_IS_SRC_RING_OVERFLOW_MASK, 278*5113495bSYour Name .d_SRC_WATERMARK_LOW_LSB = WCN6450_SRC_WATERMARK_LOW_LSB, 279*5113495bSYour Name .d_SRC_WATERMARK_HIGH_LSB = WCN6450_SRC_WATERMARK_HIGH_LSB, 280*5113495bSYour Name .d_DST_WATERMARK_LOW_LSB = WCN6450_DST_WATERMARK_LOW_LSB, 281*5113495bSYour Name .d_DST_WATERMARK_HIGH_LSB = WCN6450_DST_WATERMARK_HIGH_LSB, 282*5113495bSYour Name .d_CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_MASK = 283*5113495bSYour Name WCN6450_CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_MASK, 284*5113495bSYour Name .d_CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_LSB = 285*5113495bSYour Name WCN6450_CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_LSB, 286*5113495bSYour Name .d_CE_CTRL1_DMAX_LENGTH_LSB = WCN6450_CE_CTRL1_DMAX_LENGTH_LSB, 287*5113495bSYour Name .d_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_MASK = 288*5113495bSYour Name WCN6450_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_MASK, 289*5113495bSYour Name .d_CE_CTRL1_DST_RING_BYTE_SWAP_EN_MASK = 290*5113495bSYour Name WCN6450_CE_CTRL1_DST_RING_BYTE_SWAP_EN_MASK, 291*5113495bSYour Name .d_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_LSB = 292*5113495bSYour Name WCN6450_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_LSB, 293*5113495bSYour Name .d_CE_CTRL1_DST_RING_BYTE_SWAP_EN_LSB = 294*5113495bSYour Name WCN6450_CE_CTRL1_DST_RING_BYTE_SWAP_EN_LSB, 295*5113495bSYour Name .d_CE_CTRL1_IDX_UPD_EN_MASK = WCN6450_CE_CTRL1_IDX_UPD_EN_MASK, 296*5113495bSYour Name .d_CE_WRAPPER_DEBUG_OFFSET = WCN6450_CE_WRAPPER_DEBUG_OFFSET, 297*5113495bSYour Name .d_CE_WRAPPER_DEBUG_SEL_MSB = WCN6450_CE_WRAPPER_DEBUG_SEL_MSB, 298*5113495bSYour Name .d_CE_WRAPPER_DEBUG_SEL_LSB = WCN6450_CE_WRAPPER_DEBUG_SEL_LSB, 299*5113495bSYour Name .d_CE_WRAPPER_DEBUG_SEL_MASK = WCN6450_CE_WRAPPER_DEBUG_SEL_MASK, 300*5113495bSYour Name .d_CE_DEBUG_OFFSET = WCN6450_CE_DEBUG_OFFSET, 301*5113495bSYour Name .d_CE_DEBUG_SEL_MSB = WCN6450_CE_DEBUG_SEL_MSB, 302*5113495bSYour Name .d_CE_DEBUG_SEL_LSB = WCN6450_CE_DEBUG_SEL_LSB, 303*5113495bSYour Name .d_CE_DEBUG_SEL_MASK = WCN6450_CE_DEBUG_SEL_MASK, 304*5113495bSYour Name .d_CE0_BASE_ADDRESS = WCN6450_CE0_BASE_ADDRESS, 305*5113495bSYour Name .d_CE1_BASE_ADDRESS = WCN6450_CE1_BASE_ADDRESS, 306*5113495bSYour Name .d_A_WIFI_APB_3_A_WCMN_APPS_CE_INTR_ENABLES = 307*5113495bSYour Name MISSING_FOR_WCN6450, 308*5113495bSYour Name .d_A_WIFI_APB_3_A_WCMN_APPS_CE_INTR_STATUS = 309*5113495bSYour Name MISSING_FOR_WCN6450, 310*5113495bSYour Name .d_CE_SRC_BATCH_TIMER_THRESH_MASK = 311*5113495bSYour Name WCN6450_CE_SRC_BATCH_TIMER_THRESH_MASK, 312*5113495bSYour Name .d_CE_SRC_BATCH_COUNTER_THRESH_MASK = 313*5113495bSYour Name WCN6450_CE_SRC_BATCH_COUNTER_THRESH_MASK, 314*5113495bSYour Name .d_CE_SRC_BATCH_TIMER_THRESH_LSB = 315*5113495bSYour Name WCN6450_CE_SRC_BATCH_TIMER_THRESH_LSB, 316*5113495bSYour Name .d_CE_SRC_BATCH_COUNTER_THRESH_LSB = 317*5113495bSYour Name WCN6450_CE_SRC_BATCH_COUNTER_THRESH_LSB, 318*5113495bSYour Name .d_CE_DST_BATCH_TIMER_THRESH_MASK = 319*5113495bSYour Name WCN6450_CE_DST_BATCH_TIMER_THRESH_MASK, 320*5113495bSYour Name .d_CE_DST_BATCH_COUNTER_THRESH_MASK = 321*5113495bSYour Name WCN6450_CE_DST_BATCH_COUNTER_THRESH_MASK, 322*5113495bSYour Name .d_CE_DST_BATCH_TIMER_THRESH_LSB = 323*5113495bSYour Name WCN6450_CE_DST_BATCH_TIMER_THRESH_LSB, 324*5113495bSYour Name .d_CE_DST_BATCH_COUNTER_THRESH_LSB = 325*5113495bSYour Name WCN6450_CE_DST_BATCH_COUNTER_THRESH_LSB, 326*5113495bSYour Name .d_CE_SRC_BATCH_TIMER_INT_SETUP = 327*5113495bSYour Name WCN6450_CE_SRC_BATCH_TIMER_INT_SETUP_OFFSET, 328*5113495bSYour Name .d_CE_DST_BATCH_TIMER_INT_SETUP = 329*5113495bSYour Name WCN6450_CE_DST_BATCH_TIMER_INT_SETUP_OFFSET, 330*5113495bSYour Name }; 331*5113495bSYour Name 332*5113495bSYour Name struct host_shadow_regs_s wcn6450_host_shadow_regs = { 333*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_0 = 334*5113495bSYour Name WCN6450_A_LOCAL_SHADOW_REG_VALUE_0, 335*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_1 = 336*5113495bSYour Name WCN6450_A_LOCAL_SHADOW_REG_VALUE_1, 337*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_2 = 338*5113495bSYour Name WCN6450_A_LOCAL_SHADOW_REG_VALUE_2, 339*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_3 = 340*5113495bSYour Name WCN6450_A_LOCAL_SHADOW_REG_VALUE_3, 341*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_4 = 342*5113495bSYour Name WCN6450_A_LOCAL_SHADOW_REG_VALUE_4, 343*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_5 = 344*5113495bSYour Name WCN6450_A_LOCAL_SHADOW_REG_VALUE_5, 345*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_6 = 346*5113495bSYour Name WCN6450_A_LOCAL_SHADOW_REG_VALUE_6, 347*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_7 = 348*5113495bSYour Name WCN6450_A_LOCAL_SHADOW_REG_VALUE_7, 349*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_8 = 350*5113495bSYour Name WCN6450_A_LOCAL_SHADOW_REG_VALUE_8, 351*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_9 = 352*5113495bSYour Name WCN6450_A_LOCAL_SHADOW_REG_VALUE_9, 353*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_10 = 354*5113495bSYour Name WCN6450_A_LOCAL_SHADOW_REG_VALUE_10, 355*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_11 = 356*5113495bSYour Name WCN6450_A_LOCAL_SHADOW_REG_VALUE_11, 357*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_12 = 358*5113495bSYour Name WCN6450_A_LOCAL_SHADOW_REG_VALUE_12, 359*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_13 = 360*5113495bSYour Name WCN6450_A_LOCAL_SHADOW_REG_VALUE_13, 361*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_14 = 362*5113495bSYour Name WCN6450_A_LOCAL_SHADOW_REG_VALUE_14, 363*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_15 = 364*5113495bSYour Name WCN6450_A_LOCAL_SHADOW_REG_VALUE_15, 365*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_16 = 366*5113495bSYour Name WCN6450_A_LOCAL_SHADOW_REG_VALUE_16, 367*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_17 = 368*5113495bSYour Name WCN6450_A_LOCAL_SHADOW_REG_VALUE_17, 369*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_18 = 370*5113495bSYour Name WCN6450_A_LOCAL_SHADOW_REG_VALUE_18, 371*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_19 = 372*5113495bSYour Name WCN6450_A_LOCAL_SHADOW_REG_VALUE_19, 373*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_20 = 374*5113495bSYour Name WCN6450_A_LOCAL_SHADOW_REG_VALUE_20, 375*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_21 = 376*5113495bSYour Name WCN6450_A_LOCAL_SHADOW_REG_VALUE_21, 377*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_22 = 378*5113495bSYour Name WCN6450_A_LOCAL_SHADOW_REG_VALUE_22, 379*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_23 = 380*5113495bSYour Name WCN6450_A_LOCAL_SHADOW_REG_VALUE_23, 381*5113495bSYour Name }; 382*5113495bSYour Name #endif 383