wlan: CFG paramters related to HT40 on 2.4GHz

Configuration parameters added as part of the feature
HT40 on 2.4Ghz.
- WNI_CFG_CHANNEL_BONDING_24G

OBSS Scan cfg parameters:
-WNI_CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME
-WNI_CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME
-WNI_CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL
-WNI_CFG_OBSS_HT40_SCAN_PASSIVE_TOTAL_PER_CHANNEL
-WNI_CFG_OBSS_HT40_SCAN_ACTIVE_TOTAL_PER_CHANNEL
-WNI_CFG_OBSS_HT40_WIDTH_CHANNEL_TRANSITION_DELAY_FACTOR
-WNI_CFG_OBSS_HT40_SCAN_ACTIVITY_THRESHOLD

Change-Id: Ie801542a27c40ee92d88b6c7365d0561efed7bd0
CRs-Fixed: 608188
diff --git a/CORE/MAC/inc/wniCfgAp.h b/CORE/MAC/inc/wniCfgAp.h
index 90e9931..b21d8c3 100644
--- a/CORE/MAC/inc/wniCfgAp.h
+++ b/CORE/MAC/inc/wniCfgAp.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2014, The Linux Foundation. All rights reserved.
  *
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  *
@@ -375,6 +375,14 @@
 #define WNI_CFG_ASD_RTT_RSSI_HYST_THRESHOLD    314
 #define WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL    315
 #define WNI_CFG_BTC_CTS2S_DURING_SCO    316
+#define WNI_CFG_CHANNEL_BONDING_24G    317
+#define WNI_CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME    318
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME    319
+#define WNI_CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL    320
+#define WNI_CFG_OBSS_HT40_SCAN_PASSIVE_TOTAL_PER_CHANNEL    321
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVE_TOTAL_PER_CHANNEL    322
+#define WNI_CFG_OBSS_HT40_WIDTH_CHANNEL_TRANSITION_DELAY_FACTOR    323
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVITY_THRESHOLD    324
 
 /*
  * String parameter lengths 
@@ -2662,10 +2670,74 @@
 #define WNI_CFG_BTC_CTS2S_DURING_SCO_APMAX    1
 #define WNI_CFG_BTC_CTS2S_DURING_SCO_APDEF    0
 
-#define CFG_PARAM_MAX_NUM         317
-#define CFG_AP_IBUF_MAX_SIZE      256
+#define WNI_CFG_CHANNEL_BONDING_24G_STAMIN    0
+#define WNI_CFG_CHANNEL_BONDING_24G_STAMAX    1
+#define WNI_CFG_CHANNEL_BONDING_24G_STADEF    0
+
+#define WNI_CFG_CHANNEL_BONDING_24G_APMIN    0
+#define WNI_CFG_CHANNEL_BONDING_24G_APMAX    1
+#define WNI_CFG_CHANNEL_BONDING_24G_APDEF    0
+
+#define WNI_CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_STAMIN    5
+#define WNI_CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_STAMAX    1000
+#define WNI_CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_STADEF    20
+
+#define WNI_CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_APMIN    5
+#define WNI_CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_APMAX    1000
+#define WNI_CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_APDEF    20
+
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_STAMIN    10
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_STAMAX    1000
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_STADEF    10
+
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_APMIN    10
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_APMAX    1000
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_APDEF    10
+
+#define WNI_CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_STAMIN    10
+#define WNI_CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_STAMAX    900
+#define WNI_CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_STADEF    200
+
+#define WNI_CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_APMIN    10
+#define WNI_CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_APMAX    900
+#define WNI_CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_APDEF    200
+
+#define WNI_CFG_OBSS_HT40_SCAN_PASSIVE_TOTAL_PER_CHANNEL_STAMIN    200
+#define WNI_CFG_OBSS_HT40_SCAN_PASSIVE_TOTAL_PER_CHANNEL_STAMAX    10000
+#define WNI_CFG_OBSS_HT40_SCAN_PASSIVE_TOTAL_PER_CHANNEL_STADEF    200
+
+#define WNI_CFG_OBSS_HT40_SCAN_PASSIVE_TOTAL_PER_CHANNEL_APMIN    200
+#define WNI_CFG_OBSS_HT40_SCAN_PASSIVE_TOTAL_PER_CHANNEL_APMAX    10000
+#define WNI_CFG_OBSS_HT40_SCAN_PASSIVE_TOTAL_PER_CHANNEL_APDEF    200
+
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVE_TOTAL_PER_CHANNEL_STAMIN    20
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVE_TOTAL_PER_CHANNEL_STAMAX    10000
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVE_TOTAL_PER_CHANNEL_STADEF    20
+
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVE_TOTAL_PER_CHANNEL_APMIN    20
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVE_TOTAL_PER_CHANNEL_APMAX    10000
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVE_TOTAL_PER_CHANNEL_APDEF    20
+
+#define WNI_CFG_OBSS_HT40_WIDTH_CHANNEL_TRANSITION_DELAY_FACTOR_STAMIN    5
+#define WNI_CFG_OBSS_HT40_WIDTH_CHANNEL_TRANSITION_DELAY_FACTOR_STAMAX    100
+#define WNI_CFG_OBSS_HT40_WIDTH_CHANNEL_TRANSITION_DELAY_FACTOR_STADEF    5
+
+#define WNI_CFG_OBSS_HT40_WIDTH_CHANNEL_TRANSITION_DELAY_FACTOR_APMIN    5
+#define WNI_CFG_OBSS_HT40_WIDTH_CHANNEL_TRANSITION_DELAY_FACTOR_APMAX    100
+#define WNI_CFG_OBSS_HT40_WIDTH_CHANNEL_TRANSITION_DELAY_FACTOR_APDEF    5
+
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVITY_THRESHOLD_STAMIN    0
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVITY_THRESHOLD_STAMAX    100
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVITY_THRESHOLD_STADEF    25
+
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVITY_THRESHOLD_APMIN    0
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVITY_THRESHOLD_APMAX    100
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVITY_THRESHOLD_APDEF    25
+
+#define CFG_PARAM_MAX_NUM         325
+#define CFG_AP_IBUF_MAX_SIZE      264
 #define CFG_AP_SBUF_MAX_SIZE      3422
-#define CFG_STA_IBUF_MAX_SIZE     251
+#define CFG_STA_IBUF_MAX_SIZE     259
 #define CFG_STA_SBUF_MAX_SIZE     3388
 #define CFG_SEM_MAX_NUM           19
 
diff --git a/CORE/MAC/inc/wniCfgSta.h b/CORE/MAC/inc/wniCfgSta.h
index 8195f45..25b9e26 100644
--- a/CORE/MAC/inc/wniCfgSta.h
+++ b/CORE/MAC/inc/wniCfgSta.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2014, The Linux Foundation. All rights reserved.
  *
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  *
@@ -369,6 +369,14 @@
 #define WNI_CFG_ASD_RTT_RSSI_HYST_THRESHOLD    314
 #define WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL    315
 #define WNI_CFG_BTC_CTS2S_DURING_SCO    316
+#define WNI_CFG_CHANNEL_BONDING_24G    317
+#define WNI_CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME    318
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME    319
+#define WNI_CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL    320
+#define WNI_CFG_OBSS_HT40_SCAN_PASSIVE_TOTAL_PER_CHANNEL    321
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVE_TOTAL_PER_CHANNEL    322
+#define WNI_CFG_OBSS_HT40_WIDTH_CHANNEL_TRANSITION_DELAY_FACTOR    323
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVITY_THRESHOLD    324
 
 /*
  * String parameter lengths 
@@ -1719,8 +1727,40 @@
 #define WNI_CFG_BTC_CTS2S_DURING_SCO_STAMAX    1
 #define WNI_CFG_BTC_CTS2S_DURING_SCO_STADEF    0
 
-#define CFG_PARAM_MAX_NUM        317
-#define CFG_STA_IBUF_MAX_SIZE    251
+#define WNI_CFG_CHANNEL_BONDING_24G_STAMIN    0
+#define WNI_CFG_CHANNEL_BONDING_24G_STAMAX    1
+#define WNI_CFG_CHANNEL_BONDING_24G_STADEF    0
+
+#define WNI_CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_STAMIN    5
+#define WNI_CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_STAMAX    1000
+#define WNI_CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_STADEF    20
+
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_STAMIN    10
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_STAMAX    1000
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_STADEF    10
+
+#define WNI_CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_STAMIN    10
+#define WNI_CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_STAMAX    900
+#define WNI_CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_STADEF    200
+
+#define WNI_CFG_OBSS_HT40_SCAN_PASSIVE_TOTAL_PER_CHANNEL_STAMIN    200
+#define WNI_CFG_OBSS_HT40_SCAN_PASSIVE_TOTAL_PER_CHANNEL_STAMAX    10000
+#define WNI_CFG_OBSS_HT40_SCAN_PASSIVE_TOTAL_PER_CHANNEL_STADEF    200
+
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVE_TOTAL_PER_CHANNEL_STAMIN    20
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVE_TOTAL_PER_CHANNEL_STAMAX    10000
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVE_TOTAL_PER_CHANNEL_STADEF    20
+
+#define WNI_CFG_OBSS_HT40_WIDTH_CHANNEL_TRANSITION_DELAY_FACTOR_STAMIN    5
+#define WNI_CFG_OBSS_HT40_WIDTH_CHANNEL_TRANSITION_DELAY_FACTOR_STAMAX    100
+#define WNI_CFG_OBSS_HT40_WIDTH_CHANNEL_TRANSITION_DELAY_FACTOR_STADEF    5
+
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVITY_THRESHOLD_STAMIN    0
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVITY_THRESHOLD_STAMAX    100
+#define WNI_CFG_OBSS_HT40_SCAN_ACTIVITY_THRESHOLD_STADEF    25
+
+#define CFG_PARAM_MAX_NUM        325
+#define CFG_STA_IBUF_MAX_SIZE    259
 #define CFG_STA_SBUF_MAX_SIZE    3388
 #define CFG_SEM_MAX_NUM          19
 
diff --git a/CORE/MAC/src/cfg/cfgParamName.c b/CORE/MAC/src/cfg/cfgParamName.c
index 9560b32..d75a1e8 100644
--- a/CORE/MAC/src/cfg/cfgParamName.c
+++ b/CORE/MAC/src/cfg/cfgParamName.c
@@ -1,5 +1,5 @@
 /*
-  * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
+  * Copyright (c) 2012-2014, The Linux Foundation. All rights reserved.
   *
   * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
   *
@@ -345,6 +345,14 @@
     (unsigned char *)"ASD_RTT_RSSI_HYST_THRESHOLD",
     (unsigned char *)"DEBUG_P2P_REMAIN_ON_CHANNEL",
     (unsigned char *)"BTC_CTS2S_DURING_SCO",
+    (unsigned char *)"CHANNEL_BONDING_24G",
+    (unsigned char *)"OBSS_HT40_SCAN_PASSIVE_DWELL_TIME",
+    (unsigned char *)"OBSS_HT40_SCAN_ACTIVE_DWELL_TIME",
+    (unsigned char *)"OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL",
+    (unsigned char *)"OBSS_HT40_SCAN_PASSIVE_TOTAL_PER_CHANNEL",
+    (unsigned char *)"OBSS_HT40_SCAN_ACTIVE_TOTAL_PER_CHANNEL",
+    (unsigned char *)"OBSS_HT40_WIDTH_CHANNEL_TRANSITION_DELAY_FACTOR",
+    (unsigned char *)"OBSS_HT40_SCAN_ACTIVITY_THRESHOLD",
 };
 
 
diff --git a/CORE/MAC/src/cfg/cfgUtil/cfg.txt b/CORE/MAC/src/cfg/cfgUtil/cfg.txt
index 89649f2..883228c 100644
--- a/CORE/MAC/src/cfg/cfgUtil/cfg.txt
+++ b/CORE/MAC/src/cfg/cfgUtil/cfg.txt
@@ -4719,3 +4719,99 @@
 0    1     0
 *
 *
+
+*************************************
+* Feature:   Channel Bonding 2.4G
+*************************************
+
+WNI_CFG_CHANNEL_BONDING_24G    I    4    12
+V    RW    NP    RESTART
+LIM
+0    1     0
+V    RW    NP    RESTART
+LIM
+0    1     0
+
+*
+*  OBSS PASSIVE Channel Time (TU)
+*
+
+WNI_CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME    I    4    9
+V    RW    NP
+NONE
+5    1000    20
+V    RW    NP
+NONE
+5    1000    20
+
+*
+*  OBSS ACTIVE Channel Time (TU)
+*
+
+WNI_CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME    I    4    9
+V    RW    NP
+NONE
+10    1000    10
+V    RW    NP
+NONE
+10    1000    10
+
+*
+*  OBSS SCAN WIDTH TRIGGER Interval (TU)
+*
+
+WNI_CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL    I    4    9
+V    RW    NP
+NONE
+10    900    200
+V    RW    NP
+NONE
+10    900    200
+
+*
+*  OBSS SCAN passive total per chanenl (TU)
+*
+
+WNI_CFG_OBSS_HT40_SCAN_PASSIVE_TOTAL_PER_CHANNEL    I    4    9
+V    RW    NP
+NONE
+200    10000    200
+V    RW    NP
+NONE
+200    10000    200
+
+*
+*  OBSS SCAN active total per Channel (TU)
+*
+
+WNI_CFG_OBSS_HT40_SCAN_ACTIVE_TOTAL_PER_CHANNEL    I    4    9
+V    RW    NP
+NONE
+20    10000    20
+V    RW    NP
+NONE
+20    10000    20
+
+*
+*  OBSS Width Channel Transition Delay Factor
+*
+
+WNI_CFG_OBSS_HT40_WIDTH_CHANNEL_TRANSITION_DELAY_FACTOR  I    4    9
+V    RW    NP
+NONE
+5    100    5
+V    RW    NP
+NONE
+5    100    5
+
+*
+*  OBSS SCAN Activity Threshold(TU)
+*
+
+WNI_CFG_OBSS_HT40_SCAN_ACTIVITY_THRESHOLD    I    4    9
+V    RW    NP
+NONE
+0    100    25
+V    RW    NP
+NONE
+0    100    25
diff --git a/firmware_bin/WCNSS_cfg.dat b/firmware_bin/WCNSS_cfg.dat
index 54595c5..b1fea12 100644
--- a/firmware_bin/WCNSS_cfg.dat
+++ b/firmware_bin/WCNSS_cfg.dat
Binary files differ