Makefile 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646
  1. # bcmdhd
  2. #####################
  3. # SDIO Basic feature
  4. #####################
  5. DHDCFLAGS += -Wall -Wstrict-prototypes -Dlinux -DLINUX -DBCMDRIVER \
  6. -DBCMDONGLEHOST -DUNRELEASEDCHIP -DBCMDMA32 -DBCMFILEIMAGE \
  7. -DDHDTHREAD -DBDC -DOOB_INTR_ONLY \
  8. -DDHD_BCMEVENTS -DSHOW_EVENTS -DBCMDBG \
  9. -DMMC_SDIO_ABORT -DBCMSDIO -DBCMLXSDMMC -DWLP2P \
  10. -DWIFI_ACT_FRAME -DARP_OFFLOAD_SUPPORT \
  11. -DKEEP_ALIVE -DCSCAN -DPKT_FILTER_SUPPORT \
  12. -DEMBEDDED_PLATFORM -DPNO_SUPPORT
  13. #################
  14. # Common feature
  15. #################
  16. DHDCFLAGS += -DCUSTOMER_HW4
  17. DHDCFLAGS += -DWL_CFG80211
  18. # Debug
  19. DHDCFLAGS += -DSIMPLE_MAC_PRINT
  20. DHDCFLAGS += -DDEBUGFS_CFG80211
  21. # Enable wakelock debug function
  22. DHDCFLAGS += -DDHD_TRACE_WAKE_LOCK
  23. # Print out kernel panic point of file and line info when assertion happened
  24. DHDCFLAGS += -DBCMASSERT_LOG
  25. # Collect Current Assoc/Reject Status for Big Data logging
  26. DHDCFLAGS += -DDHD_ENABLE_BIGDATA_LOGGING
  27. # Print 8021X
  28. DHDCFLAGS += -DDHD_8021X_DUMP
  29. # VSDB
  30. DHDCFLAGS += -DVSDB
  31. DHDCFLAGS += -DPROP_TXSTATUS
  32. # Wi-Fi Direct
  33. DHDCFLAGS += -DWL_CFG80211_VSDB_PRIORITIZE_SCAN_REQUEST
  34. # For p2p connection issue
  35. DHDCFLAGS += -DWL_SCB_TIMEOUT=10
  36. # For TDLS tear down inactive time 10 sec
  37. DHDCFLAGS += -DCUSTOM_TDLS_IDLE_MODE_SETTING=10000
  38. # for TDLS RSSI HIGH for establishing TDLS link
  39. DHDCFLAGS += -DCUSTOM_TDLS_RSSI_THRESHOLD_HIGH=-80
  40. # for TDLS RSSI HIGH for tearing down TDLS link
  41. DHDCFLAGS += -DCUSTOM_TDLS_RSSI_THRESHOLD_LOW=-85
  42. # Roaming
  43. DHDCFLAGS += -DROAM_AP_ENV_DETECTION
  44. DHDCFLAGS += -DROAM_ENABLE -DROAM_CHANNEL_CACHE -DROAM_API
  45. DHDCFLAGS += -DENABLE_FW_ROAM_SUSPEND
  46. DHDCFLAGS += -DDHD_LOSSLESS_ROAMING
  47. # CCX
  48. ifeq ($(CONFIG_BRCM_CCX),y)
  49. DHDCFLAGS += -DBCMCCX
  50. endif
  51. # SoftAP
  52. DHDCFLAGS += -DWL_SUPPORT_AUTO_CHANNEL -DSUPPORT_HIDDEN_AP
  53. DHDCFLAGS += -DSUPPORT_SOFTAP_SINGL_DISASSOC
  54. DHDCFLAGS += -DDISABLE_11H_SOFTAP
  55. # HW4 specific features
  56. DHDCFLAGS += -DSUPPORT_PM2_ONLY
  57. DHDCFLAGS += -DSUPPORT_DEEP_SLEEP
  58. DHDCFLAGS += -DSUPPORT_AMPDU_MPDU_CMD
  59. DHDCFLAGS += -DPASS_IPV4_SUSPEND
  60. DHDCFLAGS += -DSOFTAP_SEND_HANGEVT
  61. DHDCFLAGS += -DSKIP_WLFC_ON_CONCURRENT
  62. DHDCFLAGS += -DIPV6_NDO_SUPPORT
  63. DHDCFLAGS += -DCUSTOM_EVENT_PM_WAKE=20
  64. # Extended HANG event with reason codes
  65. DHDCFLAGS += -DDHD_USE_EXTENDED_HANG_REASON
  66. # For special PNO Event keep wake lock for 10sec
  67. DHDCFLAGS += -DCUSTOM_PNO_EVENT_LOCK_xTIME=10
  68. # For Passing all multicast packets to host when not in suspend mode.
  69. DHDCFLAGS += -DPASS_ALL_MCAST_PKTS
  70. # Early suspend
  71. DHDCFLAGS += -DDHD_USE_EARLYSUSPEND
  72. # WiFi turn off delay
  73. DHDCFLAGS += -DWIFI_TURNOFF_DELAY=100
  74. # For Scan result patch
  75. DHDCFLAGS += -DESCAN_RESULT_PATCH
  76. DHDCFLAGS += -DDUAL_ESCAN_RESULT_BUFFER
  77. DHDCFLAGS += -DESCAN_BUF_OVERFLOW_MGMT
  78. # For Static Buffer
  79. ifeq ($(CONFIG_BROADCOM_WIFI_RESERVED_MEM),y)
  80. DHDCFLAGS += -DCONFIG_DHD_USE_STATIC_BUF
  81. DHDCFLAGS += -DENHANCED_STATIC_BUF
  82. DHDCFLAGS += -DSTATIC_WL_PRIV_STRUCT
  83. endif
  84. # Ioctl timeout 5000ms
  85. DHDCFLAGS += -DIOCTL_RESP_TIMEOUT=5000
  86. # DPC priority
  87. DHDCFLAGS += -DCUSTOM_DPC_PRIO_SETTING=98
  88. # Priority mismatch fix with kernel stack
  89. DHDCFLAGS += -DPKTPRIO_OVERRIDE
  90. # Prevent rx thread monopolize
  91. DHDCFLAGS += -DWAIT_DEQUEUE
  92. # Config PM Control
  93. DHDCFLAGS += -DCONFIG_CONTROL_PM
  94. # Use Android wake lock mechanism
  95. DHDCFLAGS += -DCONFIG_HAS_WAKELOCK
  96. # idle count
  97. DHDCFLAGS += -DDHD_USE_IDLECOUNT
  98. # Used short dwell time during initial scan
  99. DHDCFLAGS += -DUSE_INITIAL_SHORT_DWELL_TIME
  100. # Japan ccode revision will be fixed by nvram's value
  101. DHDCFLAGS += -DKEEP_JP_REGREV
  102. # SKB TAILPAD to avoid out of boundary memory access
  103. DHDCFLAGS += -DDHDENABLE_TAILPAD
  104. DHDCFLAGS += -DSUPPORT_P2P_GO_PS
  105. # reliable multicast
  106. DHDCFLAGS += -DWL_RELMCAST
  107. # WFA Certification feature
  108. DHDCFLAGS += -DUSE_WFA_CERT_CONF
  109. # Does not forword internal packet
  110. DHDCFLAGS += -DDHD_DONOT_FORWARD_BCMEVENT_AS_NETWORK_PKT
  111. ##############################
  112. # Android Platform Definition
  113. ##############################
  114. ##########
  115. # KitKat
  116. ##########
  117. # Definitions are filtered by Kernel version
  118. DHDCFLAGS += -DWL_ENABLE_P2P_IF
  119. DHDCFLAGS += -DWL_SUPPORT_BACKPORTED_KPATCHES
  120. # Default definitions for KitKat
  121. DHDCFLAGS += -DWL_CFG80211_STA_EVENT
  122. DHDCFLAGS += -DWL_IFACE_COMB_NUM_CHANNELS
  123. # To support p2p private command on kernel 3.8 or above
  124. DHDCFLAGS += -DWL_NEWCFG_PRIVCMD_SUPPORT
  125. ##########################
  126. # driver type
  127. # m: module type driver
  128. # y: built-in type driver
  129. ##########################
  130. DRIVER_TYPE ?= m
  131. #########################
  132. # Chip dependent feature
  133. #########################
  134. ifneq ($(CONFIG_BCM4354),)
  135. DHDCFLAGS += -DBCM4354_CHIP -DHW_OOB -DSUPPORT_MULTIPLE_REVISION
  136. DHDCFLAGS += -DMIMO_ANT_SETTING
  137. DHDCFLAGS += -DUSE_CID_CHECK
  138. DHDCFLAGS += -DENABLE_BCN_LI_BCN_WAKEUP
  139. DHDCFLAGS += -DSDIO_CRC_ERROR_FIX
  140. # tput enhancement
  141. DHDCFLAGS += -DCUSTOM_GLOM_SETTING=8 -DCUSTOM_RXCHAIN=1
  142. DHDCFLAGS += -DUSE_DYNAMIC_F2_BLKSIZE -DDYNAMIC_F2_BLKSIZE_FOR_NONLEGACY=128
  143. DHDCFLAGS += -DBCMSDIOH_TXGLOM -DCUSTOM_TXGLOM=1 -DBCMSDIOH_TXGLOM_HIGHSPEED
  144. DHDCFLAGS += -DDHDTCPACK_SUPPRESS
  145. DHDCFLAGS += -DUSE_WL_TXBF
  146. DHDCFLAGS += -DUSE_WL_FRAMEBURST
  147. DHDCFLAGS += -DRXFRAME_THREAD
  148. DHDCFLAGS += -DREPEAT_READFRAME
  149. DHDCFLAGS += -DCUSTOM_AMPDU_BA_WSIZE=64 -DCUSTOM_IBSS_AMPDU_BA_WSIZE=16
  150. DHDCFLAGS += -DCUSTOM_DPC_CPUCORE=0
  151. DHDCFLAGS += -DPROP_TXSTATUS_VSDB
  152. DHDCFLAGS += -DCUSTOM_DEF_TXGLOM_SIZE=40 -DDHD_TXBOUND=40
  153. DHDCFLAGS += -DENABLE_ADAPTIVE_SCHED -DCUSTOM_CPUFREQ_THRESH=1000000
  154. DHDCFLAGS += -DCUSTOM_MAX_TXGLOM_SIZE=40
  155. DHDCFLAGS += -DMAX_HDR_READ=128
  156. DHDCFLAGS += -DDHD_FIRSTREAD=128
  157. DHDCFLAGS += -DCUSTOM_AMPDU_MPDU=16
  158. # New Features
  159. DHDCFLAGS += -DWL11U -DMFP
  160. DHDCFLAGS += -DBCMCCX
  161. DHDCFLAGS += -DWES_SUPPORT
  162. DHDCFLAGS += -DOKC_SUPPORT
  163. DHDCFLAGS += -DWLTDLS
  164. DHDCFLAGS += -DWLFBT
  165. DHDCFLAGS += -DDHD_ENABLE_LPC
  166. DHDCFLAGS += -DWLAIBSS
  167. DHDCFLAGS += -DSUPPORT_LTECX
  168. DHDCFLAGS += -DSUPPORT_2G_VHT
  169. DHDCFLAGS += -DSUPPORT_WL_TXPOWER
  170. DHDCFLAGS += -DTEST_TX_POWER_CONTROL
  171. ifeq ($(CONFIG_BCM4354),y)
  172. DHDCFLAGS += -DENABLE_INSMOD_NO_FW_LOAD
  173. DHDCFLAGS += -DUSE_LATE_INITCALL_SYNC
  174. DRIVER_TYPE = y
  175. endif
  176. DHDCFLAGS += -DCUSTOM_PSPRETEND_THR=30
  177. DHDCFLAGS += -DDHD_LOG_DUMP
  178. # Enable Roam time thresh
  179. DHDCFLAGS += -DENABLE_MAX_DTIM_IN_SUSPEND
  180. DHDCFLAGS += -DCUSTOM_BCN_TIMEOUT_IN_SUSPEND=10
  181. DHDCFLAGS += -DCUSTOM_ROAM_TIME_THRESH_IN_SUSPEND=6000
  182. DHDCFLAGS += -DMAX_DTIM_ALLOWED_INTERVAL=925
  183. endif
  184. ifneq ($(CONFIG_BCM4339),)
  185. DHDCFLAGS += -DBCM4339_CHIP -DHW_OOB
  186. DHDCFLAGS += -DUSE_CID_CHECK
  187. DHDCFLAGS += -DENABLE_BCN_LI_BCN_WAKEUP
  188. DHDCFLAGS += -DUSE_SDIOFIFO_IOVAR
  189. # tput enhancement
  190. DHDCFLAGS += -DCUSTOM_GLOM_SETTING=8 -DCUSTOM_RXCHAIN=1
  191. DHDCFLAGS += -DUSE_DYNAMIC_F2_BLKSIZE -DDYNAMIC_F2_BLKSIZE_FOR_NONLEGACY=128
  192. DHDCFLAGS += -DBCMSDIOH_TXGLOM -DCUSTOM_TXGLOM=1 -DBCMSDIOH_TXGLOM_HIGHSPEED
  193. DHDCFLAGS += -DDHDTCPACK_SUPPRESS
  194. DHDCFLAGS += -DUSE_WL_TXBF
  195. DHDCFLAGS += -DUSE_WL_FRAMEBURST
  196. DHDCFLAGS += -DRXFRAME_THREAD
  197. DHDCFLAGS += -DCUSTOM_AMPDU_BA_WSIZE=64 -DCUSTOM_IBSS_AMPDU_BA_WSIZE=16
  198. DHDCFLAGS += -DCUSTOM_DPC_CPUCORE=0
  199. DHDCFLAGS += -DPROP_TXSTATUS_VSDB
  200. ifeq ($(CONFIG_ARCH_MSM),y)
  201. DHDCFLAGS += -DCUSTOM_DEF_TXGLOM_SIZE=32 -DDHD_TXBOUND=32
  202. DHDCFLAGS += -DENABLE_ADAPTIVE_SCHED -DCUSTOM_CPUFREQ_THRESH=1000000
  203. endif
  204. DHDCFLAGS += -DCUSTOM_MAX_TXGLOM_SIZE=32
  205. # New Features
  206. DHDCFLAGS += -DWL11U -DMFP
  207. DHDCFLAGS += -DBCMCCX
  208. DHDCFLAGS += -DWES_SUPPORT
  209. DHDCFLAGS += -DOKC_SUPPORT
  210. DHDCFLAGS += -DWLTDLS -DWLTDLS_AUTO_ENABLE
  211. DHDCFLAGS += -DWLFBT
  212. DHDCFLAGS += -DDHD_ENABLE_LPC
  213. DHDCFLAGS += -DWLAIBSS
  214. DHDCFLAGS += -DSUPPORT_LTECX
  215. DHDCFLAGS += -DSUPPORT_2G_VHT
  216. DHDCFLAGS += -DSUPPORT_WL_TXPOWER
  217. DHDCFLAGS += -DBCMCCX_S69
  218. ifeq ($(CONFIG_BCM4339),y)
  219. DHDCFLAGS += -DENABLE_INSMOD_NO_FW_LOAD
  220. DHDCFLAGS += -DUSE_LATE_INITCALL_SYNC
  221. DRIVER_TYPE = y
  222. endif
  223. DHDCFLAGS += -DCUSTOM_PSPRETEND_THR=30
  224. endif
  225. ifneq ($(CONFIG_BCM43455),)
  226. DHDCFLAGS += -DBCM43455_CHIP -DHW_OOB
  227. DHDCFLAGS += -DSUPPORT_MULTIPLE_REVISION -DSUPPORT_MULTIPLE_BOARD_REV_FROM_DT
  228. DHDCFLAGS += -DUSE_CID_CHECK
  229. DHDCFLAGS += -DENABLE_BCN_LI_BCN_WAKEUP
  230. DHDCFLAGS += -DUSE_SDIOFIFO_IOVAR
  231. # tput enhancement
  232. DHDCFLAGS += -DCUSTOM_GLOM_SETTING=8 -DCUSTOM_RXCHAIN=1
  233. DHDCFLAGS += -DUSE_DYNAMIC_F2_BLKSIZE -DDYNAMIC_F2_BLKSIZE_FOR_NONLEGACY=128
  234. DHDCFLAGS += -DBCMSDIOH_TXGLOM -DCUSTOM_TXGLOM=1 -DBCMSDIOH_TXGLOM_HIGHSPEED
  235. DHDCFLAGS += -DDHDTCPACK_SUPPRESS
  236. DHDCFLAGS += -DUSE_WL_TXBF
  237. DHDCFLAGS += -DUSE_WL_FRAMEBURST
  238. DHDCFLAGS += -DRXFRAME_THREAD
  239. DHDCFLAGS += -DCUSTOM_AMPDU_BA_WSIZE=64 -DCUSTOM_IBSS_AMPDU_BA_WSIZE=16
  240. DHDCFLAGS += -DCUSTOM_DPC_CPUCORE=0
  241. DHDCFLAGS += -DPROP_TXSTATUS_VSDB
  242. DHDCFLAGS += -DCUSTOM_MAX_TXGLOM_SIZE=32
  243. # New Features
  244. DHDCFLAGS += -DWL11U -DMFP
  245. DHDCFLAGS += -DBCMCCX
  246. DHDCFLAGS += -DWES_SUPPORT
  247. DHDCFLAGS += -DOKC_SUPPORT
  248. DHDCFLAGS += -DWLTDLS -DWLTDLS_AUTO_ENABLE
  249. DHDCFLAGS += -DWLFBT
  250. DHDCFLAGS += -DDHD_ENABLE_LPC
  251. DHDCFLAGS += -DWLAIBSS
  252. DHDCFLAGS += -DSUPPORT_LTECX
  253. DHDCFLAGS += -DSUPPORT_2G_VHT
  254. DHDCFLAGS += -DSUPPORT_WL_TXPOWER
  255. DHDCFLAGS += -DBCMCCX_S69
  256. ifeq ($(CONFIG_BCM43455),y)
  257. DHDCFLAGS += -DENABLE_INSMOD_NO_FW_LOAD
  258. DHDCFLAGS += -DUSE_LATE_INITCALL_SYNC
  259. DRIVER_TYPE = y
  260. endif
  261. DHDCFLAGS += -DCUSTOM_PSPRETEND_THR=30
  262. DHDCFLAGS += -DDHD_LOG_DUMP
  263. # FCC power limit control on ch12/13.
  264. DHDCFLAGS += -DFCC_PWR_LIMIT_2G
  265. # Enable Roam time thresh
  266. DHDCFLAGS += -DENABLE_MAX_DTIM_IN_SUSPEND
  267. DHDCFLAGS += -DCUSTOM_BCN_TIMEOUT_IN_SUSPEND=10
  268. DHDCFLAGS += -DCUSTOM_ROAM_TIME_THRESH_IN_SUSPEND=6000
  269. DHDCFLAGS += -DMAX_DTIM_ALLOWED_INTERVAL=925
  270. endif
  271. ifneq ($(CONFIG_BCM43454),)
  272. DHDCFLAGS += -DBCM43454_CHIP -DHW_OOB
  273. DHDCFLAGS += -DSUPPORT_MULTIPLE_REVISION -DSUPPORT_MULTIPLE_BOARD_REV_FROM_DT
  274. DHDCFLAGS += -DUSE_CID_CHECK
  275. DHDCFLAGS += -DENABLE_BCN_LI_BCN_WAKEUP
  276. DHDCFLAGS += -DUSE_SDIOFIFO_IOVAR
  277. # tput enhancement
  278. DHDCFLAGS += -DCUSTOM_GLOM_SETTING=8 -DCUSTOM_RXCHAIN=1
  279. DHDCFLAGS += -DUSE_DYNAMIC_F2_BLKSIZE -DDYNAMIC_F2_BLKSIZE_FOR_NONLEGACY=128
  280. DHDCFLAGS += -DBCMSDIOH_TXGLOM -DCUSTOM_TXGLOM=1 -DBCMSDIOH_TXGLOM_HIGHSPEED
  281. DHDCFLAGS += -DDHDTCPACK_SUPPRESS
  282. DHDCFLAGS += -DUSE_WL_TXBF
  283. DHDCFLAGS += -DUSE_WL_FRAMEBURST
  284. DHDCFLAGS += -DRXFRAME_THREAD
  285. DHDCFLAGS += -DCUSTOM_AMPDU_BA_WSIZE=64 -DCUSTOM_IBSS_AMPDU_BA_WSIZE=16
  286. DHDCFLAGS += -DCUSTOM_DPC_CPUCORE=0
  287. DHDCFLAGS += -DPROP_TXSTATUS_VSDB
  288. DHDCFLAGS += -DCUSTOM_MAX_TXGLOM_SIZE=32
  289. # New Features
  290. DHDCFLAGS += -DWL11U -DMFP
  291. DHDCFLAGS += -DBCMCCX
  292. DHDCFLAGS += -DWES_SUPPORT
  293. DHDCFLAGS += -DOKC_SUPPORT
  294. DHDCFLAGS += -DWLTDLS -DWLTDLS_AUTO_ENABLE
  295. DHDCFLAGS += -DWLFBT
  296. DHDCFLAGS += -DDHD_ENABLE_LPC
  297. DHDCFLAGS += -DWLAIBSS
  298. DHDCFLAGS += -DSUPPORT_LTECX
  299. DHDCFLAGS += -DSUPPORT_2G_VHT
  300. DHDCFLAGS += -DSUPPORT_WL_TXPOWER
  301. DHDCFLAGS += -DBCMCCX_S69
  302. ifeq ($(CONFIG_BCM43454),y)
  303. DHDCFLAGS += -DENABLE_INSMOD_NO_FW_LOAD
  304. DHDCFLAGS += -DUSE_LATE_INITCALL_SYNC
  305. DRIVER_TYPE = y
  306. endif
  307. DHDCFLAGS += -DCUSTOM_PSPRETEND_THR=30
  308. DHDCFLAGS += -DDHD_LOG_DUMP
  309. # FCC power limit control on ch12/13.
  310. DHDCFLAGS += -DFCC_PWR_LIMIT_2G
  311. # Enable Roam time thresh
  312. DHDCFLAGS += -DENABLE_MAX_DTIM_IN_SUSPEND
  313. DHDCFLAGS += -DCUSTOM_BCN_TIMEOUT_IN_SUSPEND=10
  314. DHDCFLAGS += -DCUSTOM_ROAM_TIME_THRESH_IN_SUSPEND=6000
  315. DHDCFLAGS += -DMAX_DTIM_ALLOWED_INTERVAL=925
  316. endif
  317. ifneq ($(CONFIG_BCM4335),)
  318. DHDCFLAGS += -DBCM4335_CHIP -DHW_OOB -DSUPPORT_MULTIPLE_REVISION
  319. DHDCFLAGS += -DUSE_CID_CHECK
  320. DHDCFLAGS += -DENABLE_BCN_LI_BCN_WAKEUP
  321. DHDCFLAGS += -DUSE_SDIOFIFO_IOVAR
  322. # tput enhancement
  323. DHDCFLAGS += -DCUSTOM_GLOM_SETTING=8 -DCUSTOM_RXCHAIN=1
  324. DHDCFLAGS += -DUSE_DYNAMIC_F2_BLKSIZE -DDYNAMIC_F2_BLKSIZE_FOR_NONLEGACY=128
  325. DHDCFLAGS += -DBCMSDIOH_TXGLOM -DCUSTOM_TXGLOM=1 -DBCMSDIOH_TXGLOM_HIGHSPEED
  326. DHDCFLAGS += -DDHDTCPACK_SUPPRESS
  327. # DHDCFLAGS += -DDHD_SET_FW_HIGHSPEED
  328. DHDCFLAGS += -DUSE_WL_TXBF
  329. DHDCFLAGS += -DUSE_WL_FRAMEBURST
  330. DHDCFLAGS += -DRXFRAME_THREAD
  331. DHDCFLAGS += -DREPEAT_READFRAME
  332. DHDCFLAGS += -DCUSTOM_AMPDU_BA_WSIZE=64
  333. DHDCFLAGS += -DCUSTOM_DPC_CPUCORE=0
  334. DHDCFLAGS += -DPROP_TXSTATUS_VSDB
  335. # DHDCFLAGS += -DTPUT_DEBUG
  336. ifeq ($(CONFIG_MACH_JF),y)
  337. DHDCFLAGS += -DCUSTOM_DEF_TXGLOM_SIZE=32 -DDHD_TXBOUND=32
  338. endif
  339. ifeq ($(CONFIG_ARCH_MSM),y)
  340. DHDCFLAGS += -DCUSTOM_DEF_TXGLOM_SIZE=32 -DDHD_TXBOUND=32
  341. DHDCFLAGS += -DENABLE_ADAPTIVE_SCHED -DCUSTOM_CPUFREQ_THRESH=1000000
  342. endif
  343. DHDCFLAGS += -DCUSTOM_MAX_TXGLOM_SIZE=32
  344. # New Features
  345. DHDCFLAGS += -DWL11U -DMFP
  346. DHDCFLAGS += -DBCMCCX
  347. DHDCFLAGS += -DWES_SUPPORT
  348. DHDCFLAGS += -DOKC_SUPPORT
  349. DHDCFLAGS += -DWLTDLS -DWLTDLS_AUTO_ENABLE
  350. DHDCFLAGS += -DWLFBT
  351. DHDCFLAGS += -DDHD_ENABLE_LPC
  352. DHDCFLAGS += -DWLAIBSS
  353. DHDCFLAGS += -DSUPPORT_LTECX
  354. DHDCFLAGS += -DSUPPORT_2G_VHT
  355. DHDCFLAGS += -DSUPPORT_WL_TXPOWER
  356. # For BT LOCK
  357. ifeq ($(CONFIG_BCM4335BT),y)
  358. DHDCFLAGS += -DENABLE_4335BT_WAR
  359. endif
  360. ifeq ($(CONFIG_BCM4335),y)
  361. DHDCFLAGS += -DENABLE_INSMOD_NO_FW_LOAD
  362. DHDCFLAGS += -DUSE_LATE_INITCALL_SYNC
  363. DRIVER_TYPE = y
  364. endif
  365. endif
  366. ifneq ($(CONFIG_BCM4334),)
  367. DHDCFLAGS += -DBCM4334_CHIP -DHW_OOB -DSUPPORT_MULTIPLE_REVISION
  368. DHDCFLAGS += -DUSE_CID_CHECK
  369. DHDCFLAGS += -DENABLE_BCN_LI_BCN_WAKEUP
  370. DHDCFLAGS += -DUSE_DYNAMIC_F2_BLKSIZE -DDYNAMIC_F2_BLKSIZE_FOR_NONLEGACY=64
  371. DHDCFLAGS += -DCUSTOM_GLOM_SETTING=5
  372. DHDCFLAGS += -DPROP_TXSTATUS_VSDB
  373. DHDCFLAGS += -DWES_SUPPORT
  374. DHDCFLAGS += -DSUPPORT_WL_TXPOWER
  375. ifeq ($(CONFIG_ARCH_MSM8960),y)
  376. DHDCFLAGS += -DDHD_SDALIGN=4
  377. endif
  378. # New Features
  379. DHDCFLAGS += -DWL11U
  380. ifeq ($(CONFIG_BCM4334),y)
  381. DHDCFLAGS += -DENABLE_INSMOD_NO_FW_LOAD
  382. DHDCFLAGS += -DUSE_LATE_INITCALL_SYNC
  383. DRIVER_TYPE = y
  384. endif
  385. endif
  386. ifneq ($(CONFIG_BCM4334W),)
  387. DHDCFLAGS += -DBCM4334W_CHIP -DHW_OOB -DSUPPORT_MULTIPLE_REVISION
  388. DHDCFLAGS += -DUSE_CID_CHECK
  389. DHDCFLAGS += -DENABLE_BCN_LI_BCN_WAKEUP
  390. DHDCFLAGS += -DUSE_DYNAMIC_F2_BLKSIZE -DDYNAMIC_F2_BLKSIZE_FOR_NONLEGACY=64
  391. DHDCFLAGS += -DCUSTOM_GLOM_SETTING=5
  392. DHDCFLAGS += -DPROP_TXSTATUS_VSDB
  393. DHDCFLAGS += -DWES_SUPPORT
  394. DHDCFLAGS += -DSUPPORT_WL_TXPOWER
  395. ifeq ($(CONFIG_ARCH_MSM8960),y)
  396. DHDCFLAGS += -DDHD_SDALIGN=4
  397. endif
  398. # New Features
  399. DHDCFLAGS += -DWL11U
  400. ifeq ($(CONFIG_BCM4334W),y)
  401. DHDCFLAGS += -DENABLE_INSMOD_NO_FW_LOAD
  402. DHDCFLAGS += -DUSE_LATE_INITCALL_SYNC
  403. DRIVER_TYPE = y
  404. endif
  405. endif
  406. ifneq ($(CONFIG_BCM4343),)
  407. DHDCFLAGS += -DBCM43430_CHIP -DSUPPORT_MULTIPLE_REVISION -DHW_OOB
  408. DHDCFLAGS += -DUSE_CID_CHECK
  409. DHDCFLAGS += -DCUSTOM_GLOM_SETTING=0
  410. DHDCFLAGS += -DENABLE_BCN_LI_BCN_WAKEUP
  411. # tput enhancement
  412. DHDCFLAGS += -DUSE_DYNAMIC_F2_BLKSIZE -DDYNAMIC_F2_BLKSIZE_FOR_NONLEGACY=128
  413. DHDCFLAGS += -DRXFRAME_THREAD -DRXTHREAD_ONLYSTA
  414. DHDCFLAGS += -DMAX_HDR_READ=128
  415. DHDCFLAGS += -DDHD_FIRSTREAD=128
  416. DHDCFLAGS += -DCUSTOM_AMPDU_BA_WSIZE=64 -DCUSTOM_IBSS_AMPDU_BA_WSIZE=16
  417. # New Features
  418. DHDCFLAGS += -DWL11U
  419. DHDCFLAGS += -DBCMCCX
  420. DHDCFLAGS += -DWES_SUPPORT
  421. DHDCFLAGS += -DOKC_SUPPORT
  422. DHDCFLAGS += -DWLFBT
  423. DHDCFLAGS += -DWLTDLS -DWLTDLS_AUTO_ENABLE
  424. DHDCFLAGS += -DDHD_LOG_DUMP
  425. ifeq ($(CONFIG_BCM4343),y)
  426. DHDCFLAGS += -DENABLE_INSMOD_NO_FW_LOAD
  427. DHDCFLAGS += -DUSE_LATE_INITCALL_SYNC
  428. DRIVER_TYPE = y
  429. endif
  430. # FCC power limit control on ch12/13.
  431. DHDCFLAGS += -DFCC_PWR_LIMIT_2G
  432. # Enable Roam time thresh
  433. DHDCFLAGS += -DENABLE_MAX_DTIM_IN_SUSPEND
  434. DHDCFLAGS += -DCUSTOM_BCN_TIMEOUT_IN_SUSPEND=10
  435. DHDCFLAGS += -DCUSTOM_ROAM_TIME_THRESH_IN_SUSPEND=6000
  436. DHDCFLAGS += -DMAX_DTIM_ALLOWED_INTERVAL=925
  437. # Remove common feature for BCM4343
  438. DHDCFLAGS :=$(filter-out -DDHD_USE_IDLECOUNT,$(DHDCFLAGS))
  439. DHDCFLAGS :=$(filter-out -DDISABLE_11H_SOFTAP,$(DHDCFLAGS))
  440. DHDCFLAGS :=$(filter-out -DSUPPORT_P2P_GO_PS,$(DHDCFLAGS))
  441. endif
  442. ifneq ($(CONFIG_BCM4330),)
  443. DHDCFLAGS += -DBCM4330_CHIP -DSUPPORT_MULTIPLE_REVISION
  444. DHDCFLAGS += -DMCAST_LIST_ACCUMULATION
  445. DHDCFLAGS += -DCUSTOM_GLOM_SETTING=0
  446. DHDCFLAGS += -DWL_CFG80211_GON_COLLISION
  447. ifeq ($(CONFIG_BCM4330),y)
  448. DHDCFLAGS += -DENABLE_INSMOD_NO_FW_LOAD
  449. DHDCFLAGS += -DUSE_LATE_INITCALL_SYNC
  450. DRIVER_TYPE = y
  451. endif
  452. # Remove common feature for BCM4330
  453. DHDCFLAGS :=$(filter-out -DSUPPORT_AMPDU_MPDU_CMD,$(DHDCFLAGS))
  454. DHDCFLAGS :=$(filter-out -DVSDB,$(DHDCFLAGS))
  455. DHDCFLAGS :=$(filter-out -DPROP_TXSTATUS,$(DHDCFLAGS))
  456. DHDCFLAGS :=$(filter-out -DROAM_AP_ENV_DETECTION,$(DHDCFLAGS))
  457. DHDCFLAGS :=$(filter-out -DDHD_USE_IDLECOUNT,$(DHDCFLAGS))
  458. DHDCFLAGS :=$(filter-out -DDISABLE_11H_SOFTAP,$(DHDCFLAGS))
  459. DHDCFLAGS :=$(filter-out -DSUPPORT_P2P_GO_PS,$(DHDCFLAGS))
  460. endif
  461. ifneq ($(CONFIG_BCM43241),)
  462. DHDCFLAGS += -DBCM43241_CHIP -DHW_OOB
  463. DHDCFLAGS += -DMIMO_ANT_SETTING
  464. DHDCFLAGS += -DCUSTOM_GLOM_SETTING=1 -DCUSTOM_SDIO_F2_BLKSIZE=128
  465. DHDCFLAGS += -DUSE_SDIOFIFO_IOVAR
  466. DHDCFLAGS += -DAMPDU_HOSTREORDER
  467. ifeq ($(CONFIG_BCM43241),m)
  468. DHDCFLAGS += -fno-pic
  469. endif
  470. ifeq ($(CONFIG_BCM43241),y)
  471. DHDCFLAGS += -DENABLE_INSMOD_NO_FW_LOAD
  472. DHDCFLAGS += -DUSE_LATE_INITCALL_SYNC
  473. DRIVER_TYPE = y
  474. endif
  475. endif
  476. #############################
  477. # Platform dependent feature
  478. #############################
  479. ifeq ($(CONFIG_SPI_SC8810),y)
  480. DHDCFLAGS += -DREAD_MACADDR -DBCMSPI -DBCMSPI_ANDROID -DSPI_PIO_32BIT_RW -DSPI_PIO_RW_BIGENDIAN
  481. DHDCFLAGS += -UCUSTOM_DPC_PRIO_SETTING
  482. #Remove defines for SDMMC
  483. DHDCFLAGS :=$(filter-out -DOOB_INTR_ONLY,$(DHDCFLAGS))
  484. DHDCFLAGS :=$(filter-out -DBCMLXSDMMC,$(DHDCFLAGS))
  485. #Remove defines for JB
  486. DHDCFLAGS :=$(filter-out -DWL_ENABLE_P2P_IF,$(DHDCFLAGS))
  487. DHDCFLAGS :=$(filter-out -DMULTIPLE_SUPPLICANT,$(DHDCFLAGS))
  488. DHDCFLAGS :=$(filter-out -DWL_CFG80211_STA_EVENT,$(DHDCFLAGS))
  489. endif
  490. # For SLP feature
  491. ifeq ($(CONFIG_SLP),y)
  492. DHDCFLAGS += -DUSE_INITIAL_2G_SCAN
  493. DHDCFLAGS += -DPLATFORM_SLP -DWRITE_MACADDR
  494. DHDCFLAGS += -DSUPPORT_MULTIPLE_CHIPS -DENABLE_4335BT_WAR
  495. DHDCFLAGS += -USUPPORT_MULTIPLE_REVISION -UCONFIG_HAS_WAKELOCK
  496. endif
  497. # GGSM_WIFI_5GHz_CHANNELS feature is define for only GGSM model
  498. ifeq ($(GGSM_WIFI_5GHz_CHANNELS),true)
  499. DHDCFLAGS += -DCUSTOMER_SET_COUNTRY
  500. endif
  501. ifeq ($(CONFIG_OF),y)
  502. ifneq ($(CONFIG_MACH_UNIVERSAL5430),)
  503. obj-$(CONFIG_MACH_UNIVERSAL5430) += dhd_custom_exynos.o
  504. DHDCFLAGS += -DDHD_OF_SUPPORT
  505. endif
  506. ifneq ($(CONFIG_MACH_UNIVERSAL5422),)
  507. obj-$(CONFIG_MACH_UNIVERSAL5422) += dhd_custom_exynos.o
  508. DHDCFLAGS += -DDHD_OF_SUPPORT
  509. endif
  510. ifneq ($(CONFIG_MACH_UNIVERSAL7580),)
  511. DHDCFLAGS += -DDHD_OF_SUPPORT
  512. endif
  513. ifneq ($(CONFIG_MACH_UNIVERSAL3475),)
  514. DHDCFLAGS += -DDHD_OF_SUPPORT
  515. endif
  516. ifneq ($(CONFIG_ARCH_SWA100),)
  517. DHDCFLAGS += -DDHD_OF_SUPPORT
  518. endif
  519. ifneq ($(CONFIG_MACH_UNIVERSAL5433),)
  520. DHDCFLAGS += -DSDIO_PADDING_FOR_BLK_TRANS
  521. endif
  522. endif
  523. ##############################################################
  524. # dhd_sec_feature.h
  525. DHDCFLAGS += -include "dhd_sec_feature.h"
  526. ##############################################################
  527. #########
  528. # Others
  529. #########
  530. #EXTRA_LDFLAGS += --strip-debug
  531. EXTRA_CFLAGS += $(DHDCFLAGS) -DDHD_DEBUG
  532. EXTRA_CFLAGS += -DSRCBASE=\"$(src)\"
  533. EXTRA_CFLAGS += -I$(src)/include/ -I$(src)/
  534. KBUILD_CFLAGS += -I$(LINUXDIR)/include -I$(shell pwd)
  535. DHDOFILES := bcmsdh.o bcmsdh_linux.o bcmsdh_sdmmc.o bcmsdh_sdmmc_linux.o \
  536. dhd_cdc.o dhd_pno.o dhd_common.o dhd_wlfc.o dhd_ip.o dhd_custom_gpio.o dhd_custom_sec.o \
  537. dhd_linux.o dhd_linux_sched.o dhd_cfg80211.o dhd_sdio.o dhd_linux_wq.o aiutils.o bcmevent.o \
  538. bcmutils.o bcmwifi_channels.o hndpmu.o linux_osl.o sbutils.o siutils.o \
  539. wl_android.o wl_cfg80211.o wl_cfgp2p.o wl_cfg_btcoex.o wldev_common.o wl_linux_mon.o wl_roam.o \
  540. dhd_linux_platdev.o dhd_pno.o dhd_linux_wq.o wl_cfg_btcoex.o
  541. # For SPI projects
  542. ifeq ($(CONFIG_SPI_SC8810),y)
  543. DHDOFILES += bcmsdspi_linux.o bcmspibrcm.o
  544. DHDOFILES :=$(filter-out bcmsdh_sdmmc.o,$(DHDOFILES))
  545. DHDOFILES :=$(filter-out bcmsdh_sdmmc_linux.o,$(DHDOFILES))
  546. endif
  547. dhd-y := $(DHDOFILES)
  548. obj-$(DRIVER_TYPE) += dhd.o
  549. all:
  550. @echo "$(MAKE) --no-print-directory -C $(KDIR) SUBDIRS=$(CURDIR) modules"
  551. @$(MAKE) --no-print-directory -C $(KDIR) SUBDIRS=$(CURDIR) modules
  552. clean:
  553. rm -rf *.o *.ko *.mod.c *~ .*.cmd *.o.cmd .*.o.cmd \
  554. Module.symvers modules.order .tmp_versions modules.builtin
  555. install:
  556. @$(MAKE) --no-print-directory -C $(KDIR) \
  557. SUBDIRS=$(CURDIR) modules_install