default_defconfig 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050
  1. ifeq ($(CONFIG_CNSS_QCA6290), y)
  2. ifeq ($(CONFIG_CNSS_EMULATION), y)
  3. CONFIG_QCA_WIFI_NAPIER_EMULATION := y
  4. endif
  5. CONFIG_LITHIUM := y
  6. CONFIG_QCA6290_11AX := y
  7. CONFIG_WLAN_FEATURE_11AX := y
  8. CONFIG_WLAN_FEATURE_DFS_OFFLOAD := y
  9. CONFIG_IPA3 := n
  10. endif
  11. ifeq ($(CONFIG_CNSS_QCA6390), y)
  12. ifeq ($(CONFIG_CNSS_EMULATION), y)
  13. CONFIG_QCA_WIFI_NAPIER_EMULATION := y
  14. endif
  15. CONFIG_LITHIUM := y
  16. CONFIG_WLAN_FEATURE_11AX := y
  17. CONFIG_WLAN_FEATURE_DFS_OFFLOAD := y
  18. ifeq ($(CONFIG_ARCH_SDM845), y)
  19. CONFIG_IPA3 := n
  20. endif
  21. CONFIG_SCALE_INCLUDES := y
  22. CONFIG_HASTINGS_BT_WAR := y
  23. CONFIG_WDI3_IPA_OVER_GSI :=y
  24. CONFIG_DIRECT_BUF_RX_ENABLE := y
  25. CONFIG_WMI_DBR_SUPPORT := y
  26. endif
  27. ifeq ($(CONFIG_CNSS_QCA6490), y)
  28. ifeq ($(CONFIG_CNSS_EMULATION), y)
  29. CONFIG_QCA_WIFI_NAPIER_EMULATION := y
  30. endif
  31. CONFIG_LITHIUM := y
  32. CONFIG_WLAN_FEATURE_11AX := y
  33. CONFIG_WLAN_FEATURE_DFS_OFFLOAD := y
  34. ifeq ($(CONFIG_ARCH_SDM845), y)
  35. CONFIG_IPA3 := n
  36. endif
  37. CONFIG_SCALE_INCLUDES := y
  38. CONFIG_HASTINGS_BT_WAR := y
  39. CONFIG_WDI3_IPA_OVER_GSI :=y
  40. endif
  41. ifeq ($(CONFIG_CNSS_QCA6750), y)
  42. ifeq ($(CONFIG_CNSS_EMULATION), y)
  43. CONFIG_QCA_WIFI_NAPIER_EMULATION := y
  44. endif
  45. CONFIG_LITHIUM := y
  46. CONFIG_WLAN_FEATURE_11AX := y
  47. CONFIG_WLAN_FEATURE_DFS_OFFLOAD := y
  48. ifeq ($(CONFIG_ARCH_SDM845), y)
  49. CONFIG_IPA3 := n
  50. endif
  51. CONFIG_SCALE_INCLUDES := y
  52. CONFIG_HASTINGS_BT_WAR := y
  53. CONFIG_WDI3_IPA_OVER_GSI :=y
  54. endif
  55. ifeq ($(CONFIG_CLD_HL_SDIO_CORE), y)
  56. CONFIG_QCA_WIFI_SDIO := y
  57. ifndef CONFIG_SDIO_TRANSFER
  58. CONFIG_SDIO_TRANSFER = mailbox
  59. endif
  60. endif
  61. ifeq ($(CONFIG_QCA_WIFI_SDIO), y)
  62. CONFIG_ROME_IF = sdio
  63. endif
  64. ifdef CONFIG_ICNSS
  65. CONFIG_ROME_IF = snoc
  66. CONFIG_QCA_WIFI_SDIO := n
  67. endif
  68. ifdef CONFIG_ICNSS2
  69. CONFIG_ROME_IF = ipci
  70. endif
  71. ifeq (y,$(findstring y,$(CONFIG_CNSS) $(CONFIG_CNSS2)))
  72. ifndef CONFIG_ROME_IF
  73. #use pci as default interface
  74. CONFIG_ROME_IF = pci
  75. endif
  76. endif
  77. ifeq (m,$(findstring m,$(CONFIG_CNSS2)))
  78. ifndef CONFIG_ROME_IF
  79. #use pci as default interface
  80. CONFIG_ROME_IF = pci
  81. endif
  82. endif
  83. # Make WLAN as open-source driver by default
  84. WLAN_OPEN_SOURCE := y
  85. ifeq ($(CONFIG_ICNSS), y)
  86. CONFIG_HELIUMPLUS := y
  87. CONFIG_64BIT_PADDR := y
  88. CONFIG_FEATURE_TSO := y
  89. CONFIG_FEATURE_TSO_DEBUG := y
  90. ifeq ($(CONFIG_INET_LRO), y)
  91. CONFIG_WLAN_LRO := y
  92. else
  93. CONFIG_WLAN_LRO := n
  94. endif
  95. endif
  96. ifneq ($(DEVELOPER_DISABLE_BUILD_TIMESTAMP), y)
  97. ifneq ($(WLAN_DISABLE_BUILD_TAG), y)
  98. CONFIG_BUILD_TAG := y
  99. endif
  100. endif
  101. ifeq ($(CONFIG_ARCH_MDM9630), y)
  102. CONFIG_MOBILE_ROUTER := y
  103. endif
  104. ifeq ($(CONFIG_ARCH_MDM9640), y)
  105. CONFIG_MOBILE_ROUTER := y
  106. endif
  107. ifeq ($(CONFIG_ARCH_SDX20), y)
  108. CONFIG_MOBILE_ROUTER := y
  109. endif
  110. ifeq ($(CONFIG_ARCH_SDXPRAIRIE), y)
  111. CONFIG_MOBILE_ROUTER := y
  112. endif
  113. ifeq ($(CONFIG_ARCH_MSM8917), y)
  114. ifeq ($(CONFIG_ROME_IF), sdio)
  115. CONFIG_WLAN_SYNC_TSF_PLUS := y
  116. endif
  117. endif
  118. ifeq (y,$(findstring y,$(CONFIG_ARCH_QCS405) $(CONFIG_ARCH_QCS403)))
  119. CONFIG_ARCH_QCS40X := y
  120. endif
  121. ifeq ($(CONFIG_ARCH_QCS40X), y)
  122. CONFIG_WLAN_SYNC_TSF_PLUS := y
  123. CONFIG_WLAN_SYNC_TSF_PLUS_NOIRQ := y
  124. CONFIG_RX_PERFORMANCE := y
  125. CONFIG_TGT_NUM_MSDU_DESC := 900
  126. CONFIG_MULTI_IF_LOG := y
  127. CONFIG_DFS_PRI_MULTIPLIER := y
  128. CONFIG_DFS_OVERRIDE_RF_THRESHOLD := y
  129. endif
  130. CONFIG_WLAN_FEATURE_MBSSID := y
  131. #Flag to enable Legacy Fast Roaming3(LFR3)
  132. ifeq (y,$(findstring y,$(CONFIG_HELIUMPLUS) $(CONFIG_LITHIUM)))
  133. CONFIG_QCACLD_WLAN_LFR3 := y
  134. else
  135. CONFIG_QCACLD_WLAN_LFR2 := y
  136. endif
  137. ifneq ($(CONFIG_MOBILE_ROUTER), y)
  138. #Flag to enable TDLS feature
  139. CONFIG_QCOM_TDLS := y
  140. CONFIG_WLAN_SYSFS := y
  141. #Enable Beacon Reception Stats
  142. CONFIG_FEATURE_BECN_STATS := y
  143. endif
  144. #Disable the Export Symbol config
  145. CONFIG_WLAN_DISABLE_EXPORT_SYMBOL := y
  146. CONFIG_QCACLD_FEATURE_GREEN_AP := y
  147. #Flag to enable Android Packet Filtering
  148. CONFIG_QCACLD_FEATURE_APF := y
  149. #Flag to enable SARv1 -> SARv2 conversion
  150. CONFIG_WLAN_FEATURE_SARV1_TO_SARV2 := n
  151. #Flag to enable get firmware state
  152. CONFIG_QCACLD_FEATURE_FW_STATE := y
  153. #Flag to enable set coex configuration
  154. CONFIG_QCACLD_FEATURE_COEX_CONFIG := n
  155. #Flag to enable get hw capability
  156. ifeq ($(CONFIG_ARCH_QCS40X), y)
  157. CONFIG_QCACLD_FEATURE_HW_CAPABILITY := y
  158. endif
  159. ifeq ($(CONFIG_ARCH_MSM8998), y)
  160. CONFIG_QCACLD_FEATURE_METERING := y
  161. endif
  162. ifeq ($(CONFIG_ARCH_SDM845), y)
  163. CONFIG_QCACLD_FEATURE_METERING := y
  164. endif
  165. ifeq ($(CONFIG_ARCH_SM8150), y)
  166. CONFIG_QCACLD_FEATURE_METERING := y
  167. endif
  168. ifeq ($(CONFIG_HELIUMPLUS), y)
  169. CONFIG_QCACLD_FEATURE_METERING := y
  170. endif
  171. ifeq ($(CONFIG_ARCH_KONA), y)
  172. CONFIG_QCACLD_FEATURE_METERING := y
  173. CONFIG_WDI3_STATS_UPDATE := y
  174. CONFIG_WLAN_SYNC_TSF_TIMER := y
  175. endif
  176. #Flag to enable Fast Transition (11r) feature
  177. CONFIG_QCOM_VOWIFI_11R := y
  178. #Flag to enable disable ACTION OUI feature
  179. CONFIG_WLAN_FEATURE_ACTION_OUI := y
  180. #Flag to enable Adaptive 11r feature
  181. CONFIG_ADAPTIVE_11R := y
  182. #Flag to enable sae single pmk feature
  183. CONFIG_SAE_SINGLE_PMK := y
  184. #Flag to enable FILS Feature (11ai)
  185. CONFIG_WLAN_FEATURE_FILS := y
  186. ifneq ($(CONFIG_QCA_CLD_WLAN),)
  187. ifeq (y,$(findstring y,$(CONFIG_CNSS) $(CONFIG_CNSS2) $(CONFIG_ICNSS)$(CONFIG_ICNSS2)))
  188. #Flag to enable Protected Management Frames (11w) feature
  189. CONFIG_WLAN_FEATURE_11W := y
  190. #Flag to enable LTE CoEx feature
  191. CONFIG_QCOM_LTE_COEX := y
  192. ifneq ($(CONFIG_MOBILE_ROUTER), y)
  193. #Flag to enable LPSS feature
  194. CONFIG_WLAN_FEATURE_LPSS := y
  195. endif
  196. endif
  197. ifeq (m,$(findstring m,$(CONFIG_CNSS2) $(CONFIG_ICNSS2)))
  198. #Flag to enable Protected Management Frames (11w) feature
  199. CONFIG_WLAN_FEATURE_11W := y
  200. #Flag to enable LTE CoEx feature
  201. CONFIG_QCOM_LTE_COEX := y
  202. ifneq ($(CONFIG_MOBILE_ROUTER), y)
  203. #Flag to enable LPSS feature
  204. CONFIG_WLAN_FEATURE_LPSS := y
  205. endif
  206. endif
  207. endif
  208. #Flag to enable Protected Management Frames (11w) feature
  209. ifeq ($(CONFIG_ROME_IF),usb)
  210. CONFIG_WLAN_FEATURE_11W := y
  211. endif
  212. ifeq ($(CONFIG_ROME_IF),sdio)
  213. CONFIG_WLAN_FEATURE_11W := y
  214. endif
  215. #Flag to enable the tx desc sanity check
  216. ifeq ($(CONFIG_ROME_IF),usb)
  217. CONFIG_QCA_TXDESC_SANITY_CHECKS := y
  218. endif
  219. ifneq ($(CONFIG_MOBILE_ROUTER), y)
  220. #Flag to enable NAN
  221. CONFIG_QCACLD_FEATURE_NAN := y
  222. endif
  223. #Flag to enable Linux QCMBR feature as default feature
  224. ifeq ($(CONFIG_ROME_IF),usb)
  225. CONFIG_LINUX_QCMBR :=y
  226. endif
  227. CONFIG_FEATURE_EPPING := y
  228. #Flag to enable offload packets feature
  229. CONFIG_WLAN_OFFLOAD_PACKETS := y
  230. #enable TSF get feature
  231. CONFIG_WLAN_SYNC_TSF := y
  232. #Enable DSRC feature
  233. ifeq ($(CONFIG_QCA_WIFI_SDIO), y)
  234. CONFIG_WLAN_FEATURE_DSRC := y
  235. endif
  236. ifneq ($(CONFIG_ROME_IF),usb)
  237. #Flag to enable SAE
  238. CONFIG_WLAN_FEATURE_SAE := y
  239. ifneq ($(CONFIG_ROME_IF),sdio)
  240. #Flag to enable DISA
  241. CONFIG_WLAN_FEATURE_DISA := y
  242. #Flag to enable FIPS
  243. CONFIG_WLAN_FEATURE_FIPS := y
  244. #Flag to enable Fast Path feature
  245. ifneq ($(CONFIG_LITHIUM), y)
  246. CONFIG_WLAN_FASTPATH := y
  247. endif
  248. # Flag to enable NAPI
  249. CONFIG_WLAN_NAPI := y
  250. CONFIG_WLAN_NAPI_DEBUG := n
  251. # Flag to enable FW based TX Flow control
  252. ifeq ($(CONFIG_LITHIUM), y)
  253. CONFIG_WLAN_TX_FLOW_CONTROL_V2 := y
  254. else
  255. CONFIG_WLAN_TX_FLOW_CONTROL_V2 := n
  256. endif
  257. endif
  258. endif
  259. CONFIG_POWER_MANAGEMENT_OFFLOAD := y
  260. ifeq ($(CONFIG_ROME_IF), snoc)
  261. CONFIG_WLAN_TX_FLOW_CONTROL_V2 := y
  262. endif
  263. ifeq ($(CONFIG_ARCH_QCS40X), y)
  264. CONFIG_WLAN_TX_FLOW_CONTROL_V2 := n
  265. # Flag to improve TCP TX throughput for both
  266. # CONFIG_WLAN_TX_FLOW_CONTROL_LEGACY and CONFIG_WLAN_TX_FLOW_CONTROL_V2
  267. # disabled platform, avoid frame drop in driver
  268. CONFIG_WLAN_PDEV_TX_FLOW_CONTROL := y
  269. endif
  270. # Flag to enable LFR Subnet Detection
  271. CONFIG_LFR_SUBNET_DETECTION := y
  272. # Flag to enable MCC to SCC switch feature
  273. CONFIG_MCC_TO_SCC_SWITCH := y
  274. ifeq ($(CONFIG_SLUB_DEBUG), y)
  275. # Enable Obj Mgr Degug services if slub build
  276. CONFIG_WLAN_OBJMGR_DEBUG:= y
  277. CONFIG_MPC_UT_FRAMEWORK := y
  278. CONFIG_LOCK_STATS_ON:= y
  279. endif
  280. ifeq (y,$(findstring y,$(CONFIG_QCA_WIFI_SDIO) $(CONFIG_HIF_USB)))
  281. CONFIG_HL_DP_SUPPORT := y
  282. else
  283. CONFIG_LL_DP_SUPPORT := y
  284. endif
  285. ifeq ($(CONFIG_ROME_IF),pci)
  286. ifneq ($(CONFIG_WLAN_TX_FLOW_CONTROL_V2), y)
  287. ifneq ($(CONFIG_LITHIUM), y)
  288. CONFIG_WLAN_TX_FLOW_CONTROL_LEGACY := y
  289. endif
  290. endif
  291. endif
  292. #Whether have QMI support
  293. CONFIG_QMI_SUPPORT := y
  294. ifeq ($(CONFIG_ICNSS), y)
  295. CONFIG_WIFI_3_0_ADRASTEA := y
  296. CONFIG_ADRASTEA_RRI_ON_DDR := y
  297. # Enable athdiag procfs debug support for adrastea
  298. CONFIG_ATH_PROCFS_DIAG_SUPPORT := y
  299. # Enable 11AC TX compact feature for adrastea
  300. CONFIG_ATH_11AC_TXCOMPACT := y
  301. ifeq ($(CONFIG_QMI_SUPPORT), y)
  302. CONFIG_ADRASTEA_SHADOW_REGISTERS := y
  303. endif
  304. endif
  305. # Enable fw stats version 2
  306. ifeq (y,$(findstring y,$(CONFIG_HELIUMPLUS) $(CONFIG_LITHIUM)))
  307. CONFIG_AR900B := y
  308. endif
  309. # NOTE: CONFIG_64BIT_PADDR requires CONFIG_HELIUMPLUS
  310. ifeq ($(CONFIG_HELIUMPLUS), y)
  311. ifeq ($(CONFIG_64BIT_PADDR), y)
  312. CONFIG_HTT_PADDR64 := y
  313. endif
  314. ifeq ($(CONFIG_SLUB_DEBUG_ON), y)
  315. CONFIG_OL_RX_INDICATION_RECORD := y
  316. CONFIG_TSOSEG_DEBUG := y
  317. CONFIG_HIF_LARGE_CE_RING_HISTORY := 8192
  318. endif
  319. endif #CONFIG_HELIUMPLUS
  320. ifeq ($(CONFIG_LITHIUM), y)
  321. #
  322. # Enable Shadow V2 for all lithium platform
  323. #
  324. CONFIG_SHADOW_V2 := y
  325. ifeq ($(CONFIG_CNSS_QCA6290), y)
  326. CONFIG_QCA6290_HEADERS_DEF := y
  327. CONFIG_QCA_WIFI_QCA6290 := y
  328. endif
  329. ifeq ($(CONFIG_CNSS_QCA6390), y)
  330. CONFIG_QCA6390_HEADERS_DEF := y
  331. CONFIG_QCA_WIFI_QCA6390 := y
  332. endif
  333. ifeq ($(CONFIG_CNSS_QCA6490), y)
  334. CONFIG_QCA6490_HEADERS_DEF := y
  335. CONFIG_QCA_WIFI_QCA6490 := y
  336. endif
  337. ifeq ($(CONFIG_CNSS_QCA6750), y)
  338. CONFIG_QCA6750_HEADERS_DEF := y
  339. CONFIG_QCA_WIFI_QCA6750 := y
  340. endif
  341. ifeq ($(CONFIG_LITHIUM), y)
  342. #
  343. # Enable VERBOSE debug INI mechanism
  344. #
  345. CONFIG_VERBOSE_DEBUG := y
  346. CONFIG_RX_DESC_SANITY_WAR := y
  347. ifeq ($(CONFIG_PCI_MSM), y)
  348. CONFIG_FEATURE_HAL_DELAYED_REG_WRITE := y
  349. endif
  350. endif
  351. CONFIG_QCA_WIFI_QCA8074 := y
  352. CONFIG_QCA_WIFI_QCA8074_VP := y
  353. CONFIG_DP_INTR_POLL_BASED := y
  354. CONFIG_TX_PER_PDEV_DESC_POOL := y
  355. CONFIG_DP_TRACE := y
  356. CONFIG_FEATURE_TSO := y
  357. CONFIG_FEATURE_FORCE_WAKE := y
  358. CONFIG_DP_LFR := y
  359. CONFIG_DUP_RX_DESC_WAR := y
  360. CONFIG_HTT_PADDR64 := y
  361. CONFIG_RX_OL := y
  362. CONFIG_TX_TID_OVERRIDE := y
  363. CONFIG_DP_TXRX_SOC_ATTACH := y
  364. CONFIG_WLAN_CLD_PM_QOS := y
  365. CONFIG_DISABLE_DP_STATS := n
  366. CONFIG_MAX_ALLOC_PAGE_SIZE := y
  367. CONFIG_REO_DESC_DEFER_FREE := y
  368. CONFIG_RXDMA_ERR_PKT_DROP := y
  369. ifeq ($(CONFIG_FEATURE_TSO), y)
  370. CONFIG_FEATURE_TSO_STATS := y
  371. CONFIG_TSO_DEBUG_LOG_ENABLE := y
  372. endif
  373. ifeq ($(CONFIG_DISABLE_DP_STATS), y)
  374. CONFIG_FEATURE_TSO_STATS := n
  375. endif
  376. endif
  377. # As per target team, build is done as follows:
  378. # Defconfig : build with default flags
  379. # Slub : defconfig + CONFIG_SLUB_DEBUG=y +
  380. # CONFIG_SLUB_DEBUG_ON=y + CONFIG_PAGE_POISONING=y
  381. # Perf : Using appropriate msmXXXX-perf_defconfig
  382. #
  383. # Shipment builds (user variants) should not have any debug feature
  384. # enabled. This is identified using 'TARGET_BUILD_VARIANT'. Slub builds
  385. # are identified using the CONFIG_SLUB_DEBUG_ON configuration. Since
  386. # there is no other way to identify defconfig builds, QCOMs internal
  387. # representation of perf builds (identified using the string 'perf'),
  388. # is used to identify if the build is a slub or defconfig one. This
  389. # way no critical debug feature will be enabled for perf and shipment
  390. # builds. Other OEMs are also protected using the TARGET_BUILD_VARIANT
  391. # config.
  392. ifneq ($(TARGET_BUILD_VARIANT),user)
  393. ifeq ($(CONFIG_LITHIUM), y)
  394. CONFIG_FEATURE_PKTLOG := n
  395. else
  396. CONFIG_FEATURE_PKTLOG := y
  397. endif
  398. CONFIG_WLAN_DEBUG_CRASH_INJECT := y
  399. endif
  400. #Enable WLAN/Power debugfs feature only if debug_fs is enabled
  401. ifeq ($(CONFIG_DEBUG_FS), y)
  402. # Flag to enable debugfs. Depends on CONFIG_DEBUG_FS in kernel
  403. # configuration.
  404. CONFIG_WLAN_DEBUGFS := y
  405. CONFIG_WLAN_POWER_DEBUGFS := y
  406. endif
  407. ifeq ($(CONFIG_WLAN_DEBUGFS), y)
  408. CONFIG_WLAN_MWS_INFO_DEBUGFS := y
  409. CONFIG_WLAN_FEATURE_MIB_STATS := y
  410. else
  411. CONFIG_WLAN_MWS_INFO_DEBUGFS := n
  412. CONFIG_WLAN_FEATURE_MIB_STATS := n
  413. endif
  414. # Feature flags which are not (currently) configurable via Kconfig
  415. #Whether to build debug version
  416. BUILD_DEBUG_VERSION := y
  417. #Enable this flag to build driver in diag version
  418. BUILD_DIAG_VERSION := y
  419. ifeq ($(CONFIG_SLUB_DEBUG), y)
  420. PANIC_ON_BUG := y
  421. WLAN_WARN_ON_ASSERT := y
  422. else ifeq ($(CONFIG_PERF_DEBUG), y)
  423. PANIC_ON_BUG := y
  424. WLAN_WARN_ON_ASSERT := y
  425. else
  426. PANIC_ON_BUG := n
  427. WLAN_WARN_ON_ASSERT := n
  428. endif
  429. # Compile all log levels by default
  430. CONFIG_WLAN_LOG_FATAL := y
  431. CONFIG_WLAN_LOG_ERROR := y
  432. CONFIG_WLAN_LOG_WARN := y
  433. CONFIG_WLAN_LOG_INFO := y
  434. CONFIG_WLAN_LOG_DEBUG := y
  435. CONFIG_WLAN_LOG_ENTER := y
  436. CONFIG_WLAN_LOG_EXIT := y
  437. #Enable OL debug and wmi unified functions
  438. CONFIG_ATH_PERF_PWR_OFFLOAD := y
  439. #Disable packet log
  440. CONFIG_REMOVE_PKT_LOG := n
  441. #Enable 11AC TX
  442. ifeq ($(CONFIG_ROME_IF),pci)
  443. CONFIG_ATH_11AC_TXCOMPACT := y
  444. endif
  445. ifeq ($(CONFIG_ROME_IF),ipci)
  446. CONFIG_ATH_11AC_TXCOMPACT := y
  447. endif
  448. ifeq ($(CONFIG_ROME_IF),usb)
  449. CONFIG_ATH_11AC_TXCOMPACT := n
  450. endif
  451. #Enable PCI specific APIS (dma, etc)
  452. ifeq ($(CONFIG_ROME_IF),pci)
  453. CONFIG_HIF_PCI := y
  454. endif
  455. ifeq ($(CONFIG_ROME_IF),ipci)
  456. CONFIG_HIF_IPCI := y
  457. endif
  458. #Enable USB specific APIS
  459. ifeq ($(CONFIG_ROME_IF),usb)
  460. CONFIG_HIF_USB := y
  461. endif
  462. #Enable SDIO specific APIS
  463. ifeq ($(CONFIG_ROME_IF),sdio)
  464. CONFIG_HIF_SDIO := y
  465. CONFIG_TX_DESC_HI_PRIO_RESERVE := y
  466. CONFIG_FEATURE_HL_GROUP_CREDIT_FLOW_CONTROL := y
  467. CONFIG_TGT_NUM_MSDU_DESC := 0
  468. endif
  469. ifeq ($(CONFIG_ROME_IF),snoc)
  470. CONFIG_HIF_SNOC:= y
  471. endif
  472. # enable/disable feature flags based upon mobile router profile
  473. ifeq ($(CONFIG_MOBILE_ROUTER), y)
  474. CONFIG_FEATURE_WLAN_MCC_TO_SCC_SWITCH := y
  475. CONFIG_FEATURE_WLAN_AUTO_SHUTDOWN := y
  476. CONFIG_FEATURE_WLAN_AP_AP_ACS_OPTIMIZE := y
  477. CONFIG_FEATURE_WLAN_STA_4ADDR_SCHEME := y
  478. CONFIG_MDM_PLATFORM := y
  479. ifneq ($(CONFIG_ARCH_SDXPRAIRIE), y)
  480. CONFIG_FEATURE_WLAN_STA_AP_MODE_DFS_DISABLE := y
  481. endif
  482. CONFIG_FEATURE_AP_MCC_CH_AVOIDANCE := y
  483. else
  484. CONFIG_QCOM_ESE := y
  485. CONFIG_FEATURE_WLAN_RMC := y
  486. CONFIG_WLAN_OPEN_P2P_INTERFACE := y
  487. CONFIG_WLAN_ENABLE_SOCIAL_CHANNELS_5G_ONLY := y
  488. endif
  489. #enable 4addr support for QCS40X
  490. ifeq ($(CONFIG_ARCH_QCS40X), y)
  491. CONFIG_FEATURE_WLAN_STA_4ADDR_SCHEME := y
  492. endif
  493. #Enable power management suspend/resume functionality to PCI
  494. CONFIG_ATH_BUS_PM := y
  495. #Enable FLOWMAC module support
  496. CONFIG_ATH_SUPPORT_FLOWMAC_MODULE := n
  497. #Enable spectral support
  498. CONFIG_ATH_SUPPORT_SPECTRAL := n
  499. #Define the legacy pktlog
  500. ifeq ($(CONFIG_REMOVE_PKT_LOG), n)
  501. ifeq ($(CONFIG_HELIUMPLUS), y)
  502. CONFIG_PKTLOG_LEGACY := y
  503. endif
  504. #Customize DSCP_to-UP map based on RFC8325
  505. ifeq ($(CONFIG_HELIUMPLUS), y)
  506. CONFIG_WLAN_CUSTOM_DSCP_UP_MAP := y
  507. CONFIG_WLAN_SEND_DSCP_UP_MAP_TO_FW := y
  508. endif
  509. ifeq ($(CONFIG_LITHIUM), y)
  510. CONFIG_WLAN_CUSTOM_DSCP_UP_MAP := y
  511. endif
  512. ifeq ($(CONFIG_ARCH_BENGAL), y)
  513. CONFIG_SMMU_S1_UNMAP := y
  514. endif
  515. ifeq ($(CONFIG_ROME_IF), sdio)
  516. CONFIG_PKTLOG_LEGACY := y
  517. endif
  518. ifeq ($(CONFIG_ROME_IF), pci)
  519. CONFIG_PKTLOG_LEGACY := y
  520. endif
  521. ifeq ($(CONFIG_ROME_IF), usb)
  522. CONFIG_PKTLOG_LEGACY := y
  523. endif
  524. ifeq ($(CONFIG_ROME_IF), snoc)
  525. CONFIG_PKTLOG_LEGACY := y
  526. endif
  527. endif
  528. ifeq ($(CONFIG_LITHIUM), y)
  529. CONFIG_PKTLOG_LEGACY := n
  530. endif
  531. #Enable WDI Event support
  532. ifeq ($(CONFIG_REMOVE_PKT_LOG), y)
  533. CONFIG_WDI_EVENT_ENABLE := n
  534. else
  535. CONFIG_WDI_EVENT_ENABLE := y
  536. endif
  537. #Enable the type_specific_data in the ath_pktlog_arg
  538. ifeq ($(CONFIG_REMOVE_PKT_LOG), n)
  539. ifeq ($(CONFIG_LITHIUM), y)
  540. CONFIG_PKTLOG_HAS_SPECIFIC_DATA := y
  541. endif
  542. ifeq ($(CONFIG_HELIUMPLUS), y)
  543. CONFIG_PKTLOG_HAS_SPECIFIC_DATA := y
  544. endif
  545. endif
  546. #Endianness selection
  547. CONFIG_LITTLE_ENDIAN := y
  548. #Enable TX reclaim support
  549. CONFIG_TX_CREDIT_RECLAIM_SUPPORT := n
  550. #Enable FTM support
  551. CONFIG_QCA_WIFI_FTM := y
  552. ifeq ($(CONFIG_QCA_WIFI_FTM), y)
  553. ifeq ($(CONFIG_NL80211_TESTMODE), y)
  554. QCA_WIFI_FTM_NL80211 :=y
  555. else
  556. QCA_WIFI_FTM_NL80211 :=n
  557. endif
  558. CONFIG_LINUX_QCMBR :=y
  559. else
  560. QCA_WIFI_FTM_NL80211 :=n
  561. CONFIG_LINUX_QCMBR :=n
  562. endif
  563. #Enable Checksum Offload
  564. CONFIG_CHECKSUM_OFFLOAD := y
  565. #Enable GTK offload
  566. CONFIG_GTK_OFFLOAD := y
  567. #Enable EXT WOW
  568. ifeq ($(CONFIG_HIF_PCI), y)
  569. CONFIG_EXT_WOW := y
  570. endif
  571. #Set this to 1 to catch erroneous Target accesses during debug.
  572. CONFIG_ATH_PCIE_ACCESS_DEBUG := n
  573. #Enable IPA offload
  574. ifeq ($(CONFIG_IPA), y)
  575. CONFIG_IPA_OFFLOAD := y
  576. endif
  577. ifeq ($(CONFIG_IPA3), y)
  578. CONFIG_IPA_OFFLOAD := y
  579. endif
  580. #Flag to enable SMMU S1 support
  581. ifeq ($(CONFIG_ARCH_SDM845), y)
  582. ifeq ($(CONFIG_IPA_OFFLOAD), y)
  583. CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
  584. endif
  585. endif
  586. ifeq ($(CONFIG_ARCH_SM8150), y)
  587. ifeq ($(CONFIG_IPA_OFFLOAD), y)
  588. ifneq ($(CONFIG_LITHIUM), y)
  589. CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
  590. endif
  591. endif
  592. endif
  593. ifeq ($(CONFIG_ARCH_SDXPRAIRIE), y)
  594. ifeq ($(CONFIG_IPA_OFFLOAD), y)
  595. CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
  596. endif
  597. endif
  598. ifeq ($(CONFIG_ARCH_KONA), y)
  599. ifeq ($(CONFIG_IPA_OFFLOAD), y)
  600. CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
  601. endif
  602. endif
  603. ifeq ($(CONFIG_ARCH_LAHAINA), y)
  604. ifeq ($(CONFIG_IPA_OFFLOAD), y)
  605. CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
  606. endif
  607. endif
  608. ifeq ($(CONFIG_HELIUMPLUS), y)
  609. ifneq ($(CONFIG_ARCH_SDM630), y)
  610. ifneq ($(CONFIG_ARCH_SDM660), y)
  611. ifneq ($(CONFIG_ARCH_MSM8998), y)
  612. ifeq ($(CONFIG_IPA_OFFLOAD), y)
  613. CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
  614. endif
  615. endif
  616. endif
  617. endif
  618. endif
  619. ifeq ($(CONFIG_ARCH_SDX20), y)
  620. ifeq ($(CONFIG_QCA_WIFI_SDIO), y)
  621. ifeq ($(CONFIG_WCNSS_SKB_PRE_ALLOC), y)
  622. CONFIG_FEATURE_SKB_PRE_ALLOC := y
  623. endif
  624. endif
  625. endif
  626. #Enable Signed firmware support for split binary format
  627. CONFIG_QCA_SIGNED_SPLIT_BINARY_SUPPORT := n
  628. #Enable single firmware binary format
  629. CONFIG_QCA_SINGLE_BINARY_SUPPORT := n
  630. #Enable collecting target RAM dump after kernel panic
  631. CONFIG_TARGET_RAMDUMP_AFTER_KERNEL_PANIC := y
  632. #Flag to enable/disable secure firmware feature
  633. CONFIG_FEATURE_SECURE_FIRMWARE := n
  634. #Flag to enable Stats Ext implementation
  635. CONFIG_FEATURE_STATS_EXT := y
  636. #Flag to allocate memory dynamically for different buffers
  637. CONFIG_WLAN_LOGGING_BUFFERS_DYNAMICALLY := n
  638. CONFIG_WLAN_DFS_STATIC_MEM_ALLOC := y
  639. #Flag to enable HTC credit history feature
  640. CONFIG_FEATURE_HTC_CREDIT_HISTORY := y
  641. #Flag to enable MTRACE feature
  642. CONFIG_TRACE_RECORD_FEATURE := y
  643. #Flag to enable p2p debug feature
  644. CONFIG_WLAN_FEATURE_P2P_DEBUG := y
  645. #Flag to enable roam debug log
  646. CONFIG_FEATURE_ROAM_DEBUG := y
  647. #Flag to enable DFS Master feature
  648. CONFIG_WLAN_DFS_MASTER_ENABLE := y
  649. #Flag to enable WEXT support for STA/AP/P2P interfaces
  650. ifeq ($(CONFIG_WIRELESS_EXT), y)
  651. CONFIG_WLAN_WEXT_SUPPORT_ENABLE := y
  652. endif
  653. #Flag to enable/disable MTRACE feature
  654. CONFIG_ENABLE_MTRACE_LOG := y
  655. #Flag to enable nud tracking feature
  656. CONFIG_WLAN_NUD_TRACKING := y
  657. #Flag to enable wbuff feature
  658. CONFIG_WLAN_WBUFF := y
  659. #Flag to enable set and get disable channel list feature
  660. CONFIG_DISABLE_CHANNEL_LIST :=y
  661. #Flag to enable beacon receive feature
  662. CONFIG_WLAN_BCN_RECV_FEATURE := y
  663. #Flag to enable LTE COEX feature
  664. CONFIG_LTE_COEX := y
  665. #Flag to enable/disable TARGET 11d scan
  666. CONFIG_TARGET_11D_SCAN := y
  667. #Flag to enable/disable Avoid acs freq feature
  668. CONFIG_SAP_AVOID_ACS_FREQ_LIST := y
  669. #Flag to enable HOST OPCLASS feature
  670. CONFIG_HOST_OPCLASS := y
  671. #Flag to enable Dynamic Voltage WDCVS (Config Voltage Mode)
  672. CONFIG_WLAN_DYNAMIC_CVM := y
  673. #Flag to enable SAR Safety Feature
  674. CONFIG_SAR_SAFETY_FEATURE := y
  675. CONFIG_WIFI_POS_CONVERGED := y
  676. ifneq ($(CONFIG_WIFI_POS_CONVERGED), y)
  677. CONFIG_WIFI_POS_LEGACY := y
  678. endif
  679. CONFIG_CP_STATS := y
  680. CONFIG_FEATURE_INTEROP_ISSUES_AP := y
  681. CONFIG_FEATURE_WLAN_WAPI := y
  682. CONFIG_AGEIE_ON_SCAN_RESULTS := y
  683. ifneq ($(CONFIG_LITHIUM), y)
  684. #Flag to enable FW log parsing support feature
  685. CONFIG_FEATURE_FW_LOG_PARSING := y
  686. endif
  687. CONFIG_PTT_SOCK_SVC_ENABLE := y
  688. CONFIG_SOFTAP_CHANNEL_RANGE := y
  689. CONFIG_FEATURE_WLAN_SCAN_PNO := y
  690. CONFIG_WLAN_FEATURE_PACKET_FILTERING := y
  691. CONFIG_WLAN_NS_OFFLOAD := y
  692. CONFIG_FEATURE_WLAN_RA_FILTERING:= y
  693. CONFIG_FEATURE_WLAN_LPHB := y
  694. CONFIG_QCA_SUPPORT_TX_THROTTLE := y
  695. CONFIG_WMI_INTERFACE_EVENT_LOGGING := y
  696. CONFIG_WLAN_FEATURE_LINK_LAYER_STATS := y
  697. CONFIG_FEATURE_WLAN_EXTSCAN := n
  698. CONFIG_WMI_BCN_OFFLOAD := y
  699. CONFIG_160MHZ_SUPPORT := y
  700. CONFIG_MCL := y
  701. CONFIG_REG_CLIENT := y
  702. CONFIG_WLAN_PMO_ENABLE := y
  703. CONFIG_CONVERGED_P2P_ENABLE := y
  704. CONFIG_WLAN_POLICY_MGR_ENABLE := y
  705. CONFIG_FEATURE_BLACKLIST_MGR := y
  706. CONFIG_SUPPORT_11AX := y
  707. CONFIG_HDD_INIT_WITH_RTNL_LOCK := y
  708. CONFIG_WLAN_CONV_SPECTRAL_ENABLE := y
  709. CONFIG_WLAN_SPECTRAL_ENABLE := y
  710. CONFIG_WMI_CMD_STRINGS := y
  711. CONFIG_FEATURE_MONITOR_MODE_SUPPORT := y
  712. CONFIG_WLAN_ALLOCATE_GLOBAL_BUFFERS_DYNAMICALLY := n
  713. CONFIG_WLAN_FEATURE_TWT := y
  714. CONFIG_FW_THERMAL_THROTTLE := y
  715. ifeq (y,$(findstring y,$(CONFIG_LITHIUM) $(CONFIG_ICNSS)))
  716. CONFIG_WLAN_FEATURE_BMI := n
  717. else
  718. CONFIG_WLAN_FEATURE_BMI := y
  719. endif
  720. #Flags to enable/disable vendor commands
  721. CONFIG_FEATURE_RSSI_MONITOR := y
  722. CONFIG_FEATURE_BSS_TRANSITION := y
  723. CONFIG_FEATURE_STATION_INFO := y
  724. CONFIG_FEATURE_TX_POWER := y
  725. CONFIG_FEATURE_OTA_TEST := y
  726. CONFIG_FEATURE_ACTIVE_TOS := y
  727. CONFIG_FEATURE_SAR_LIMITS := y
  728. CONFIG_FEATURE_CONCURRENCY_MATRIX := y
  729. CONFIG_FEATURE_SAP_COND_CHAN_SWITCH := y
  730. CONFIG_FEATURE_P2P_LISTEN_OFFLOAD := y
  731. CONFIG_QCACLD_FEATURE_MPTA_HELPER := n
  732. CONFIG_QCACLD_RX_DESC_MULTI_PAGE_ALLOC := y
  733. #Flags to enable/disable WMI APIs
  734. CONFIG_WMI_ROAM_SUPPORT := y
  735. CONFIG_WMI_CONCURRENCY_SUPPORT := y
  736. CONFIG_WMI_STA_SUPPORT := y
  737. CONFIG_DP_TRACE := y
  738. ifeq ($(CONFIG_HELIUMPLUS), y)
  739. ifneq ($(CONFIG_FORCE_ALLOC_FROM_DMA_ZONE), y)
  740. CONFIG_ENABLE_DEBUG_ADDRESS_MARKING := y
  741. endif
  742. CONFIG_RX_OL := y
  743. endif
  744. ifeq ($(CONFIG_SLUB_DEBUG_ON), y)
  745. CONFIG_DSC_DEBUG := y
  746. CONFIG_DESC_TIMESTAMP_DEBUG_INFO := y
  747. CONFIG_FEATURE_UNIT_TEST_SUSPEND := y
  748. CONFIG_LEAK_DETECTION := y
  749. CONFIG_MAX_LOGS_PER_SEC := 500
  750. CONFIG_SCHED_HISTORY_SIZE := 256
  751. CONFIG_TALLOC_DEBUG := y
  752. CONFIG_UNIT_TEST := y
  753. CONFIG_RX_DESC_DEBUG_CHECK:= y
  754. CONFIG_REGISTER_OP_DEBUG := y
  755. CONFIG_ENABLE_QDF_PTR_HASH_DEBUG := y
  756. endif
  757. ifeq ($(CONFIG_UNIT_TEST), y)
  758. CONFIG_DSC_TEST := y
  759. CONFIG_QDF_TEST := y
  760. CONFIG_FEATURE_WLM_STATS := y
  761. endif
  762. ifeq ($(CONFIG_LITHIUM), y)
  763. ifeq ($(CONFIG_SLUB_DEBUG_ON), y)
  764. CONFIG_WLAN_FEATURE_DP_EVENT_HISTORY := y
  765. CONFIG_HIF_CE_DEBUG_DATA_BUF := y
  766. CONFIG_WLAN_RECORD_RX_PADDR := y
  767. endif
  768. CONFIG_WLAN_SUPPORT_DATA_STALL := y
  769. CONFIG_WLAN_DP_PER_RING_TYPE_CONFIG := y
  770. CONFIG_WLAN_CE_INTERRUPT_THRESHOLD_CONFIG := y
  771. #Enable WMI TX/RX over QMI
  772. CONFIG_WMI_SEND_RECV_QMI := y
  773. CONFIG_WLAN_DP_PENDING_MEM_FLUSH := y
  774. endif
  775. #Flag to enable hdd memory dump feature
  776. CONFIG_FEATURE_MEMDUMP_ENABLE := y
  777. #Flag to enable/disable WLAN D0-WOW
  778. ifeq ($(CONFIG_PCI_MSM), y)
  779. ifeq ($(CONFIG_HIF_PCI), y)
  780. CONFIG_FEATURE_WLAN_D0WOW := y
  781. endif
  782. endif
  783. ifeq ($(CONFIG_ARCH_MDM9607), y)
  784. CONFIG_TUFELLO_DUAL_FW_SUPPORT := y
  785. endif
  786. ifeq ($(CONFIG_ARCH_MSM8996), y)
  787. CONFIG_CHANNEL_HOPPING_ALL_BANDS := y
  788. endif
  789. ifeq ($(CONFIG_ARCH_SDXPRAIRIE), y)
  790. ifneq ($(CONFIG_SLUB_DEBUG), y)
  791. CONFIG_DP_TRACE := n
  792. endif
  793. CONFIG_DIRECT_BUF_RX_ENABLE := n
  794. CONFIG_WMI_DBR_SUPPORT := n
  795. endif
  796. ifneq ($(CONFIG_HIF_USB), y)
  797. CONFIG_WLAN_LOGGING_SOCK_SVC := y
  798. endif
  799. ifneq ($(TARGET_BUILD_VARIANT),user)
  800. CONFIG_DESC_DUP_DETECT_DEBUG := y
  801. CONFIG_DEBUG_RX_RING_BUFFER := y
  802. endif
  803. ifeq ($(CONFIG_CNSS), y)
  804. ifeq ($(CONFIG_CNSS_SDIO), y)
  805. CONFIG_PLD_SDIO_CNSS_FLAG := y
  806. endif
  807. ifeq ($(CONFIG_HIF_PCI), y)
  808. CONFIG_PLD_PCIE_CNSS_FLAG := y
  809. endif
  810. endif
  811. ifeq ($(CONFIG_ICNSS2), y)
  812. CONFIG_PLD_IPCI_ICNSS_FLAG := y
  813. endif
  814. ifeq ($(CONFIG_CNSS2), y)
  815. ifeq ($(CONFIG_HIF_PCI), y)
  816. CONFIG_PLD_PCIE_CNSS_FLAG := y
  817. CONFIG_PLD_PCIE_INIT_FLAG := y
  818. endif
  819. endif
  820. ifeq ($(CONFIG_CNSS2), m)
  821. ifeq ($(CONFIG_HIF_PCI), y)
  822. CONFIG_PLD_PCIE_CNSS_FLAG := y
  823. CONFIG_PLD_PCIE_INIT_FLAG := y
  824. endif
  825. endif
  826. #Enable STATE MACHINE HISTORY
  827. CONFIG_SM_ENG_HIST := n
  828. #Enable OEM DATA feature
  829. CONFIG_FEATURE_OEM_DATA := y
  830. #Enable FW Offload
  831. CONFIG_WLAN_FW_OFFLOAD := y
  832. #Enable eLNA bypass feature
  833. ifeq ($(CONFIG_WLAN_FW_OFFLOAD), y)
  834. CONFIG_WLAN_FEATURE_ELNA := y
  835. endif
  836. ifeq (y,$(findstring y,$(CONFIG_ARCH_MSM) $(CONFIG_ARCH_QCOM)))
  837. CONFIG_WLAN_FEATURE_DP_BUS_BANDWIDTH := y
  838. endif
  839. ifeq ($(CONFIG_CNSS_QCA6490), y)
  840. #Enable 6 GHz Band
  841. CONFIG_BAND_6GHZ := y
  842. CONFIG_RX_FISA := y
  843. endif
  844. ifeq ($(CONFIG_BAND_6GHZ), y)
  845. CONFIG_6G_SCAN_CHAN_SORT_ALGO := y
  846. endif
  847. CONFIG_SAP_DHCP_FW_IND := y
  848. #Enable support to get ANI level
  849. CONFIG_ANI_LEVEL_REQUEST := y
  850. ifeq ($(CONFIG_ARCH_QCS405), y)
  851. CONFIG_FEATURE_WLAN_TIME_SYNC_FTM := y
  852. endif
  853. ifeq ($(CONFIG_ARCH_SDM660), y)
  854. CONFIG_WLAN_FEATURE_PKT_CAPTURE := y
  855. endif