wlan: Memory map change for 8x16 target

wcnss base address for 8x16 target is different then other target
use wcnss base addres which is pass by platform driver instead of
using hard coded wcnss base address.

Change-Id: I048235e9f1669da2dcaa496eae41efc919bbfdfa
CRs-fixed: 627151
diff --git a/Android.mk b/Android.mk
index 845ef6b..1a40144 100644
--- a/Android.mk
+++ b/Android.mk
@@ -4,13 +4,13 @@
 WLAN_CHIPSET :=
 
 # Build/Package options for 8960 target
-ifeq ($(TARGET_BOARD_PLATFORM),msm8960)
+ifeq ($(call is-board-platform,msm8960),true)
 WLAN_CHIPSET := prima
 WLAN_SELECT := CONFIG_PRIMA_WLAN=m
 endif
 
 # Build/Package options for 8974, 8226, 8610 targets
-ifneq (,$(filter msm8974 msm8226 msm8610,$(TARGET_BOARD_PLATFORM)))
+ifeq ($(call is-board-platform-in-list,msm8916 msm8974 msm8226 msm8610),true)
 WLAN_CHIPSET := pronto
 WLAN_SELECT := CONFIG_PRONTO_WLAN=m
 endif
@@ -31,13 +31,13 @@
 endif
 
 ifeq ($(WLAN_PROPRIETARY),1)
-    WLAN_BLD_DIR := vendor/qcom/proprietary/wlan
+    WLAN_BLD_DIR := vendor/qcom/proprietary/wlan-noship
 else
     WLAN_BLD_DIR := vendor/qcom/opensource/wlan
 endif
 
 # DLKM_DIR was moved for JELLY_BEAN (PLATFORM_SDK 16)
-ifeq (1,$(filter 1,$(shell echo "$$(( $(PLATFORM_SDK_VERSION) >= 16 ))" )))
+ifeq ($(call is-platform-sdk-version-at-least,16),true)
        DLKM_DIR := $(TOP)/device/qcom/common/dlkm
 else
        DLKM_DIR := build/dlkm
@@ -90,24 +90,15 @@
 KBUILD_OPTIONS += BOARD_PLATFORM=$(TARGET_BOARD_PLATFORM)
 KBUILD_OPTIONS += $(WLAN_SELECT)
 
-
-VERSION=$(shell grep -w "VERSION =" $(TOP)/kernel/Makefile | sed 's/^VERSION = //' )
-PATCHLEVEL=$(shell grep -w "PATCHLEVEL =" $(TOP)/kernel/Makefile | sed 's/^PATCHLEVEL = //' )
-
 include $(CLEAR_VARS)
-LOCAL_MODULE              := $(WLAN_CHIPSET)_wlan.ko
+LOCAL_MODULE              := proprietary_$(WLAN_CHIPSET)_wlan.ko
 LOCAL_MODULE_KBUILD_NAME  := wlan.ko
-LOCAL_MODULE_TAGS         := debug
+LOCAL_MODULE_TAGS         := optional
 LOCAL_MODULE_DEBUG_ENABLE := true
 LOCAL_MODULE_PATH         := $(TARGET_OUT)/lib/modules/$(WLAN_CHIPSET)
 include $(DLKM_DIR)/AndroidKernelModule.mk
 ###########################################################
 
-#Create symbolic link
-$(shell mkdir -p $(TARGET_OUT)/lib/modules; \
-        ln -sf /system/lib/modules/$(WLAN_CHIPSET)/$(WLAN_CHIPSET)_wlan.ko \
-               $(TARGET_OUT)/lib/modules/wlan.ko)
-
 endif # DLKM check
 
 endif # supported target check
diff --git a/CORE/DXE/src/wlan_qct_dxe_i.h b/CORE/DXE/src/wlan_qct_dxe_i.h
index 4656b4b..79a9b29 100644
--- a/CORE/DXE/src/wlan_qct_dxe_i.h
+++ b/CORE/DXE/src/wlan_qct_dxe_i.h
@@ -80,29 +80,19 @@
 /* Start with base address */
 
 #ifdef WCN_PRONTO
-#define WLANDXE_CCU_DXE_INT_SELECT       0xfb2050dc
-#define WLANDXE_CCU_DXE_INT_SELECT_STAT  0xfb2050e0
-#define WLANDXE_CCU_ASIC_INT_ENABLE      0xfb2050e4
-#define WLANDXE_CCU_SOFT_RESET           0xfb204010
+#define WLANDXE_CCU_DXE_INT_SELECT        0x2050dc
+#define WLANDXE_CCU_DXE_INT_SELECT_STAT   0x2050e0
+#define WLANDXE_CCU_ASIC_INT_ENABLE       0x2050e4
+#define WLANDXE_CCU_SOFT_RESET            0x204010
 #else
-#define WLANDXE_CCU_DXE_INT_SELECT       0x03200b10
-#define WLANDXE_CCU_DXE_INT_SELECT_STAT  0x03200b14
-#define WLANDXE_CCU_ASIC_INT_ENABLE      0x03200b18
+#define WLANDXE_CCU_DXE_INT_SELECT        0x200b10
+#define WLANDXE_CCU_DXE_INT_SELECT_STAT   0x200b14
+#define WLANDXE_CCU_ASIC_INT_ENABLE       0x200b18
 #endif
 
-#ifdef PAL_OS_TYPE_BMP
-#define WLANDXE_WCNSS_BASE_ADDRESS        0xCDD00000
-#else
-#ifdef WCN_PRONTO
-#define WLANDXE_WCNSS_BASE_ADDRESS        0xfb000000
-#else
-#define WLANDXE_WCNSS_BASE_ADDRESS        0x03000000
-#endif
-#endif /* PAL_OS_TYPE_BMP */
+#define WLANDXE_BMU_AVAILABLE_BD_PDU      0x80084
 
-#define WLANDXE_BMU_AVAILABLE_BD_PDU     (WLANDXE_WCNSS_BASE_ADDRESS + 0x80084)
-
-#define WLANDXE_REGISTER_BASE_ADDRESS    (WLANDXE_WCNSS_BASE_ADDRESS + 0x202000)
+#define WLANDXE_REGISTER_BASE_ADDRESS     0x202000
 
 /* Common over the channels register addresses */
 #define WALNDEX_DMA_CSR_ADDRESS          (WLANDXE_REGISTER_BASE_ADDRESS + 0x00)
diff --git a/CORE/HDD/src/wlan_hdd_ftm.c b/CORE/HDD/src/wlan_hdd_ftm.c
index f8c708c..16b818e 100644
--- a/CORE/HDD/src/wlan_hdd_ftm.c
+++ b/CORE/HDD/src/wlan_hdd_ftm.c
@@ -91,6 +91,8 @@
 #define FTM_CHAIN_SEL_R0_T0_ON      3
 #define FTM_CHAIN_SEL_MAX           3
 
+#define WCNSS_TXFIR_OFFSET          0x00018000
+
 #ifndef QWLAN_PHYDBG_BASE
 #define QWLAN_PHYDBG_BASE                   0x03004000
 #endif /* QWLAN_PHYDBG_BASE */
@@ -3603,6 +3605,7 @@
     tANI_U32 value = 0;
     tANI_U32 reg_addr;
     hdd_context_t *pHddCtx = (hdd_context_t *)pAdapter->pHddCtx;
+
     if (pHddCtx->ftm.ftm_state != WLAN_FTM_STARTED)
     {
         VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_FATAL,
@@ -3610,11 +3613,8 @@
         return VOS_STATUS_E_FAILURE;
     }
 
-#ifdef WCN_PRONTO
-    reg_addr = 0xfb018000;
-#else
-    reg_addr = 0x03018000;
-#endif
+    reg_addr = WCNSS_TXFIR_OFFSET;
+
     wpalReadRegister(reg_addr, &value);
     if (enable)
     {
diff --git a/CORE/WDI/WPAL/src/wlan_qct_pal_device.c b/CORE/WDI/WPAL/src/wlan_qct_pal_device.c
index 291c6fe..2b3fbef 100644
--- a/CORE/WDI/WPAL/src/wlan_qct_pal_device.c
+++ b/CORE/WDI/WPAL/src/wlan_qct_pal_device.c
@@ -77,12 +77,6 @@
  * Preprocessor Definitions and Constants
  * -------------------------------------------------------------------------*/
 
-// address in the Host physical memory map
-#ifdef WCN_PRONTO
-#define WCNSS_BASE_ADDRESS 0xFB000000
-#else
-#define WCNSS_BASE_ADDRESS 0x03000000
-#endif
 /*----------------------------------------------------------------------------
  * Type Declarations
  * -------------------------------------------------------------------------*/
@@ -463,6 +457,8 @@
       return eWLAN_PAL_STATUS_E_INVAL;
    }
 
+   address = (address | gpEnv->wcnss_memory->start);
+
    if ((address < gpEnv->wcnss_memory->start) ||
        (address > gpEnv->wcnss_memory->end)) {
       WPAL_TRACE(eWLAN_MODULE_DAL_DATA, eWLAN_PAL_TRACE_LEVEL_ERROR,
@@ -481,7 +477,7 @@
    }
 
    wmb();
-   writel_relaxed(data, gpEnv->mmio + (address - WCNSS_BASE_ADDRESS));
+   writel_relaxed(data, gpEnv->mmio + (address - gpEnv->wcnss_memory->start));
 
    return eWLAN_PAL_STATUS_SUCCESS;
 }
@@ -512,6 +508,8 @@
       return eWLAN_PAL_STATUS_E_INVAL;
    }
 
+   address = (address | gpEnv->wcnss_memory->start);
+
    if ((address < gpEnv->wcnss_memory->start) ||
        (address > gpEnv->wcnss_memory->end)) {
       WPAL_TRACE(eWLAN_MODULE_DAL_DATA, eWLAN_PAL_TRACE_LEVEL_ERROR,
@@ -529,7 +527,7 @@
       return eWLAN_PAL_STATUS_E_INVAL;
    }
 
-   *data = readl_relaxed(gpEnv->mmio + (address - WCNSS_BASE_ADDRESS));
+   *data = readl_relaxed(gpEnv->mmio + (address - gpEnv->wcnss_memory->start));
    rmb();
 
    return eWLAN_PAL_STATUS_SUCCESS;
@@ -564,6 +562,8 @@
       return eWLAN_PAL_STATUS_E_INVAL;
    }
 
+   address = (address | gpEnv->wcnss_memory->start);
+
    if ((address < gpEnv->wcnss_memory->start) ||
        ((address + len) > gpEnv->wcnss_memory->end)) {
       WPAL_TRACE(eWLAN_MODULE_DAL_DATA, eWLAN_PAL_TRACE_LEVEL_ERROR,
@@ -574,7 +574,8 @@
       return eWLAN_PAL_STATUS_E_INVAL;
    }
 
-   vos_mem_copy(gpEnv->mmio + (address - WCNSS_BASE_ADDRESS), s_buffer, len);
+   vos_mem_copy(gpEnv->mmio + (address - gpEnv->wcnss_memory->start),
+                                                            s_buffer, len);
    wmb();
 
    return eWLAN_PAL_STATUS_SUCCESS;
@@ -609,6 +610,8 @@
       return eWLAN_PAL_STATUS_E_INVAL;
    }
 
+   address = (address | gpEnv->wcnss_memory->start);
+
    if ((address < gpEnv->wcnss_memory->start) ||
        ((address + len) > gpEnv->wcnss_memory->end)) {
       WPAL_TRACE(eWLAN_MODULE_DAL_DATA, eWLAN_PAL_TRACE_LEVEL_ERROR,
@@ -619,7 +622,8 @@
       return eWLAN_PAL_STATUS_E_INVAL;
    }
 
-   vos_mem_copy(d_buffer, gpEnv->mmio + (address - WCNSS_BASE_ADDRESS), len);
+   vos_mem_copy(d_buffer,
+                   gpEnv->mmio + (address - gpEnv->wcnss_memory->start), len);
    rmb();
 
    return eWLAN_PAL_STATUS_SUCCESS;
@@ -704,6 +708,7 @@
       exclusive access to that memory */
 
    gpEnv->mmio = ioremap(wcnss_memory->start, resource_size(wcnss_memory));
+
    if (NULL == gpEnv->mmio) {
       WPAL_TRACE(eWLAN_MODULE_DAL_DATA, eWLAN_PAL_TRACE_LEVEL_ERROR,
                  "%s: memory remap failure",