#
# Copyright (C) 2020 Xiaomi Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#


menuconfig BLUETOOTH
	bool "Bluetooth"
	default n
	depends on LIBUV
	depends on LIBUV_EXTENSION

if BLUETOOTH
menuconfig BLUETOOTH_FRAMEWORK
	bool "Framework API"
	default n
	help
		Enable Bluetooth Framework API

if BLUETOOTH_FRAMEWORK
choice
	prompt "Select Bluetooth framework type"
	default BLUETOOTH_FRAMEWORK_LOCAL
	config BLUETOOTH_FRAMEWORK_LOCAL
		bool "Use local API without IPC"
	config BLUETOOTH_FRAMEWORK_SOCKET_IPC
		bool "Use socket IPC API"
endchoice

if BLUETOOTH_FRAMEWORK_SOCKET_IPC
config BLUETOOTH_RPMSG_CPUNAME
	string "Bluetooth RPMsg CPU name"
	default "cp"
	help
		Bluetooth default server name

config BLUETOOTH_SOCKET_BUF_SIZE
	int "Bluetooth socket buffer size"
	default 1024
	help
		Bluetooth socket buffer size

config BLUETOOTH_SOCKET_PORT
	int "Bluetooth socket port num"
	default 140704
	help
		Socket port of inet

endif #BLUETOOTH_FRAMEWORK_SOCKET_IPC

config BLUETOOTH_FRAMEWORK_ASYNC
	bool "Enable Bluetooth Framework async API"
	default n
	help
		Enable Bluetooth Framework async API

choice
	prompt "Select feature API"
	default BLUETOOTH_FEATURE_NONE
	config BLUETOOTH_FEATURE_NONE
		bool "Not supporting Bluetooth feature API."
	config BLUETOOTH_FEATURE
		bool "Support Bluetooth synchronization API."
		depends on FEATURE_FRAMEWORK
	config BLUETOOTH_FEATURE_ASYNC
		bool "Support Bluetooth asynchronous API."
		depends on FEATURE_FRAMEWORK
		depends on BLUETOOTH_FRAMEWORK_ASYNC
endchoice

endif #BLUETOOTH_FRAMEWORK

menu "Core"
config BLUETOOTH_BREDR_SUPPORT
	bool "Bluetooth BREDR"
	default y

config BLUETOOTH_BLE_SUPPORT
	bool "Bluetooth LE"
	default n

config BLUETOOTH_BLE_ADV
	bool "LE Advertising support"
	default n

config BLUETOOTH_BLE_SCAN
	bool "LE Scan support"
	default n

config BLUETOOTH_BLE_SCAN_FILTER
	bool "LE Scan Filter support"
	default n
	depends on BLUETOOTH_BLE_SCAN

config BLUETOOTH_L2CAP
	bool "L2CAP dynamic channel support"
	default n

if BLUETOOTH_L2CAP
config BLUETOOTH_L2CAP_OUTGOING_MTU
	int "Outgoing MTU"
	default 2048
	help
		config L2CAP Outgoing MTU

endif #BLUETOOTH_L2CAP

choice
	prompt "Select BT vendor"
	default BLUETOOTH_VENDOR_NONE
	config BLUETOOTH_VENDOR_BES
		bool "Bluetooth vendor BES"
	config BLUETOOTH_VENDOR_ACTIONS
		bool "Bluetooth vendor ACTIONS"
	config BLUETOOTH_VENDOR_NONE
		bool "Bluetooth vendor NONE"
endchoice

config BLUETOOTH_PM_MAX_TIMER_NUMBER
	int "Bluetooth PM maximum number of timers"
	default 16

config BLUETOOTH_UPGRADE
	bool "Enable Bluetooth Storage transformation tool for upgrading OS"
	default n
	depends on KVDB
	depends on UNQLITE

config BLUETOOTH_TASK_STACK_SIZE
	int "Bluetooth task stack size"
	default 8192
	help
		This cofiguration is used to set the stack size of bluetooth task.

config BLUETOOTH_SERVICE_LOOP_THREAD_STACK_SIZE
	int "Bluetooth Service loop thread stack size"
	default 8192

config BLUETOOTH_SERVICE_LOOP_THREAD_PRIORITY
	int "Bluetooth Service loop thread priority"
	default 103

config BLUETOOTH_MAX_SAVED_REMOTE_UUIDS_LEN
	int "Bluetooth saved remote uuids length"
	default 80

config BLUETOOTH_MAX_REGISTER_NUM
	int "Max register callback nums"
	default 4

endmenu #Core

menuconfig BLUETOOTH_SERVICE
	bool "Service"
	default n
	help
		Enable Bluetooth Service

if BLUETOOTH_SERVICE
menuconfig BLUETOOTH_SERVER
	bool "Bluetooth Server"
	default n
	help
		Enable Bluetooth server

if BLUETOOTH_SERVER
config BLUETOOTH_SERVER_NAME
	string "Blutooth Server name"
	default "bluetoothd"
	help
		Bluetooth default server name

config BLUETOOTH_IPC_JOIN_LOOP
	bool "Let IPC join service loop"
	default n
	help
		Bluetooth IPC join service loop

config BLUETOOTH_NET_IPv4
	bool "Let Bluetooth Server listen message from network"
	default n
	depends on NET_IPv4
	help
		Bluetooth server listen message

endif #BLUETOOTH_SERVER

if BLUETOOTH_BREDR_SUPPORT
menu "Bluetooth BREDR Config"
choice
	prompt "Select BR stack"
	default BLUETOOTH_STACK_BREDR_BLUELET
	config BLUETOOTH_STACK_BREDR_BLUELET
		bool "Classic BT stack use bluelet"
		select LIB_BLUELET
	config BLUETOOTH_STACK_BREDR_ZBLUE
		bool "Classic BT stack use zblue"
	config BLUETOOTH_STACK_NOT_SUPPORT_CLASSIC_BT
		bool "Not support classic BT stack"
endchoice

endmenu #Bluetooth BREDR Config
endif #BLUETOOTH_BREDR_SUPPORT

if BLUETOOTH_BLE_SUPPORT
menu "Bluetooth LE Config"
choice
	prompt "Select LE stack"
	default BLUETOOTH_STACK_LE_BLUELET
	config BLUETOOTH_STACK_LE_BLUELET
		bool "BLE Stack use Bluelet"
		select LIB_BLUELET
	config BLUETOOTH_STACK_LE_ZBLUE
		bool "BLE Stack use Zblue"
	config BLUETOOTH_STACK_NOT_SUPPORT_LE
		bool "Not support BLE Stack"
endchoice

config BLUETOOTH_LE_CS
	bool "Bluetooth LE Channel Sounding supported"
	depends on BLUETOOTH_STACK_LE_ZBLUE
	default n

config BLUETOOTH_LE_SCANNER_MAX_NUM
	int "LE Scanner max register number"
	default 2
	help
		LE Scanner max register number

config BLUETOOTH_LE_ADVERTISER_MAX_NUM
	int "LE Advertiser max register number"
	default 2
	help
		LE Advertiser max register number

config LE_DLF_SUPPORT
	bool "Enable LE DLF support"
	default n

endmenu #Bluetooth LE Config
endif #BLUETOOTH_BLE_SUPPORT

choice
	prompt "Select Bluetooth Storage Method(Unqlite, KVDB)"
	default BLUETOOTH_STORAGE_PROPERTY_SUPPORT
	config BLUETOOTH_STORAGE_PROPERTY_SUPPORT
		bool "Bluetooth Storage KVDB Property support"
		depends on KVDB
	config BLUETOOTH_STORAGE_UNQLITE_SUPPORT
		bool "Bluetooth Storage uv_db support"
		depends on UNQLITE
endchoice

config BLUETOOTH_STORAGE_UPDATE
	bool "Bluetooth Storage update"
	default y
	depends on BLUETOOTH_STORAGE_PROPERTY_SUPPORT

config BLUETOOTH_SERVICE_HCI_UART_NAME
	string "HCI uart driver name"
	default "/dev/ttyHCI0"

config BLUETOOTH_HCI_BRIDGE_MODE
	bool "HCI bridge mode"
	default n

config CONFIG_BLUETOOTH_DEFAULT_COD
	hex "Default class of device"
	default 0x00280704
	help
		Set default class of device

endif #BLUETOOTH_SERVICE

menu "Profiles"
menuconfig BLUETOOTH_A2DP
	bool "Advanced Audio Distribution Profile (A2DP)"
	default n
	depends on MEDIA

if BLUETOOTH_A2DP
config BLUETOOTH_A2DP_SOURCE
	bool "A2DP source role support"
	default n
	select BLUETOOTH_AVRCP_TARGET

if BLUETOOTH_A2DP_SOURCE
config BLUETOOTH_A2DP_PEER_PARTIAL_RECONN
	bool "Bluetooth A2DP peer partial reconnect support"
	default y
	help
		Bluetooth A2DP peer partial reconnect support

endif #BLUETOOTH_A2DP_SOURCE

config BLUETOOTH_A2DP_SINK
	bool "A2DP sink role support"
	default n
	select BLUETOOTH_AVRCP_CONTROL

config BLUETOOTH_A2DP_AAC_CODEC
	bool "Bluetooth A2DP AAC codec support"
	default n

config BLUETOOTH_A2DP_MAX_CONNECTIONS
	int "Maximum A2DP connections"
	default 1
	help
		Maximum A2DP connections

endif #BLUETOOTH_A2DP

menu "Audio/Video Remote Control Profile (AVRCP)"
config BLUETOOTH_AVRCP_TARGET
	bool "Audio/Video Remote Control Profile (Target) support"
	default n

config BLUETOOTH_AVRCP_CONTROL
	bool "Audio/Video Remote Control Profile (Control) support"
	default n

config BLUETOOTH_AVRCP_ABSOLUTE_VOLUME
	bool "Audio/Video Remote Control Profile support absolute volume"
	default n
	depends on (BLUETOOTH_AVRCP_CONTROL || BLUETOOTH_AVRCP_TARGET) && ((BLUETOOTH_STACK_BREDR_BLUELET && BLUELET_AVRCP_TG_ABSVOL_SUPPORT) || (BLUETOOTH_STACK_BREDR_ZBLUE))
endmenu #Audio/Video Remote Control Profile

menu "Hands-Free Profile (HFP)"
config BLUETOOTH_HFP_HF
	bool "HFP hands-free profile support"
	default n

if BLUETOOTH_HFP_HF
config HFP_HF_MAX_CONNECTIONS
	int "HFP hands-free max connections"
	default 1

config HFP_HF_WEBCHAT_BLOCKER
	bool "Block webchat automatically"
	default y

endif #BLUETOOTH_HFP_HF

config BLUETOOTH_HFP_AG
	bool "HFP audio-gateway profile support"
	default n

if BLUETOOTH_HFP_AG
config HFP_AG_MAX_CONNECTIONS
	int "HFP audio-gateway max connections"
	default 1

config BLUETOOTH_HFP_AG_PRIMARY_SLOT
	int "HFP select primary modem slot"
	default 0

endif # BLUETOOTH_HFP_AG

config BLUETOOTH_SCO_CTRL_PATH
	string "Bluetooth SCO Transport Ctrl Path"
	default "sco_ctrl"

endmenu #Hands-Free Profile

menu "LE Audio"
	comment "There should be two \"LE Audio support\" options, if you only see one, please enable \"Bluetooth BLE support\" in Framework"

config BLUETOOTH_BLE_AUDIO
	bool "LE Audio support"
	default n

if BLUETOOTH_BLE_SUPPORT
config BLUETOOTH_LE_AUDIO_SUPPORT
	bool "LE Audio support"
	default n

endif #BLUETOOTH_BLE_SUPPORT

menuconfig BLUETOOTH_LEAUDIO_CLIENT
	bool "Bluetooth LE Audio Client"
	default n

if BLUETOOTH_LEAUDIO_CLIENT
config BLUETOOTH_LEAUDIO_TBS
	bool "Enable Bluetooth LE Audio TBS feature"
	default n

if BLUETOOTH_LEAUDIO_TBS
config BLUETOOTH_LEAUDIO_TBS_PRIMARY_SLOT
	int "LE Audio TBS select primary modem slot"
	default 0

config BLUETOOTH_LEAUDIO_TBS_CALL_NAME
	string "LE Audio call name"
	default "/ril_0/voicecall0"

endif # BLUETOOTH_LEAUDIO_TBS

config BLUETOOTH_LEAUDIO_MCS
	bool "Enable Bluetooth LE Audio MCS feature"
	default n

config BLUETOOTH_LEAUDIO_VMICP
	bool "Enable Bluetooth LE Audio VMICP feature"
	default n

config BLUETOOTH_LEAUDIO_CLIENT_MAX_CONNECTIONS
	int "LE Audio Client max connections"
	default 4
	help
		LE Audio Client max connections

config BLUETOOTH_LEAUDIO_CLIENT_MAX_GROUP
	int "LE Audio Client max group"
	default 4
	help
		LE Audio Client max HFP_AG_MAX_CONNECTIONS

config BLUETOOTH_LEAUDIO_CLIENT_MAX_DEVICES
	int "LE Audio Client max devices"
	default 8
	help
		LE Audio Client max devices

config BLUETOOTH_LEAUDIO_CLIENT_MAX_ALLOC_NUMBER
	int "LE Audio Client max alloc number"
	default 64
	help
		LE Audio Client max group

config BLUETOOTH_LEAUDIO_CLIENT_ASE_MAX_NUMBER
	int "LE Audio Client max ase number"
	default 2
	help
		LE Audio Client max ase number

config BLUETOOTH_LEAUDIO_CLIENT_PAC_MAX_NUMBER
	int "LE Audio Client max pac number"
	default 3
	help
		LE Audio Client max pac number

config BLUETOOTH_LEAUDIO_CLIENT_CIS_MAX_NUMBER
	int "LE Audio Client max cis number"
	default 2
	help
		LE Audio Client max cis number

config BLUETOOTH_LEAUDIO_CLIENT_METADATA_MAX_NUMBER
	int "LE Audio Client max metadata number"
	default 4
	help
		LE Audio Client max metadata number

endif # BLUETOOTH_LEAUDIO_CLIENT


menuconfig BLUETOOTH_LEAUDIO_SERVER
	bool "Bluetooth LE Audio Server"
	default n

if BLUETOOTH_LEAUDIO_SERVER
config BLUETOOTH_LEAUDIO_CCP
	bool "Enable Bluetooth LE Audio CCP feature"
	default n

if BLUETOOTH_LEAUDIO_CCP
config BLUETOOTH_LEAUDIO_SERVER_CALL_CONTROL_NUMBER
	int "LE Audio TBS server number"
	default 1
	help
		LE Audio TBS server number

endif # BLUETOOTH_LEAUDIO_CCP

config BLUETOOTH_LEAUDIO_MCP
	bool "Enable Bluetooth LE Audio MCP feature"
	default n

if BLUETOOTH_LEAUDIO_MCP
config BLUETOOTH_LEAUDIO_SERVER_MEDIA_CONTROL_NUMBER
	int "LE Audio MCS server number"
	default 1
	help
		LE Audio MCS server number

endif # BLUETOOTH_LEAUDIO_MCP

menuconfig BLUETOOTH_LEAUDIO_VMICS
	bool "Enable Bluetooth LE Audio VMICS feature"
	default n

if BLUETOOTH_LEAUDIO_VMICS
config BLUETOOTH_LEAUDIO_VCS_VOLUME_STEP
	int "LE Audio Server VCS volume step size"
	default 2
	help
		LE Audio Server VCS volume step size

config BLUETOOTH_LEAUDIO_VOCS_NUMBER
	int "LE Audio Server VOCS numnber"
	default 0
	help
		LE Audio Server VOCS number

config BLUETOOTH_LEAUDIO_AICS_NUMBER
	int "LE Audio Server AICS numnber"
	default 0
	help
		LE Audio Server AICS numnber

config BLUETOOTH_LEAUDIO_VCS_VOLUME_INITIAL
	int "LE Audio Server VCS initial volume value"
	default 125
	help
		LE Audio Server VCS volume initial value

config BLUETOOTH_LEAUDIO_VCS_UNMUTED
	int "LE Audio Server VCS unmute"
	default 0
	help
		LE Audio Server VCS unmute

config BLUETOOTH_LEAUDIO_VCS_VOLUME_DEFAULT_SETTING
	int "LE Audio Server VCS vol settings"
	default 0
	help
		LE Audio Server VCS vol settings

config BLUETOOTH_LEAUDIO_MICS_NUMBER
	int "LE Audio Server MICS numnber"
	default 0
	help
		LE Audio Server MICS number

endif # BLUETOOTH_LEAUDIO_VMICS

config BLUETOOTH_LEAUDIO_SERVER_SINK_ASE_NUMBER
	int "LE Audio Server Sink number"
	default 1
	help
		LE Audio Server Sink ase number

config BLUETOOTH_LEAUDIO_SERVER_SOURCE_ASE_NUMBER
	int "LE Audio Server Source number"
	default 1
	help
		LE Audio Server Source ase number

config BLUETOOTH_LEAUDIO_SERVER_BASS_STATE_NUMBER
	int "LE Audio Server Bass state number"
	default 1
	help
		LE Audio Server Bass state number

config BLUETOOTH_LEAUDIO_SERVER_SOURCE
	bool "Enable LE Audio Server source"
	default y

config BLUETOOTH_LEAUDIO_SERVER_SOURCE_LOCATION
	int "LE Audio Server source location"
	default 1
	help
		LE Audio Server source location

config BLUETOOTH_LEAUDIO_SERVER_SINK_LOCATION
	int "LE Audio Server sink location"
	default 1
	help
		LE Audio Server sink location

config BLUETOOTH_LEAUDIO_SERVER_CSIS_SIZE
	int "LE Audio Server CSIS set size"
	default 1
	help
		LE Audio Server CSIS set size

config BLUETOOTH_LEAUDIO_SERVER_CSIS_RANK
	int "LE Audio Server CSIS rank"
	default 1
	help
		LE Audio Server CSIS rank

endif # BLUETOOTH_LEAUDIO_SERVER

endmenu #Bluetooth LE Audio

menu "Bluetooth Audio Transport"
config BLUETOOTH_AUDIO_TRANS_RPSMG_SERVER
	bool "RPMsg audio transport server"
	default n

config BLUETOOTH_AUDIO_TRANS_ID_SOURCE_CTRL
	int "Bluetooth Audio Transport Source Ctrl Channel ID"
	default 0

config BLUETOOTH_AUDIO_TRANS_ID_SOURCE_AUDIO
	int "Bluetooth Audio Transport Source Audio Channel ID"
	default 1

config BLUETOOTH_AUDIO_TRANS_ID_SINK_CTRL
	int "Bluetooth Audio Transport Sink Ctrl Channel ID"
	default 2

config BLUETOOTH_AUDIO_TRANS_ID_SINK_AUDIO
	int "Bluetooth Audio Transport Sink Audio Channel ID"
	default 3

config BLUETOOTH_AUDIO_TRANS_ID_HFP_CTRL
	int "Bluetooth Audio Transport SCO Ctrl Channel ID"
	default 4

config BLUETOOTH_LEA_SINK_CTRL_PATH
	string "Bluetooth LE Audio Transport Sink Ctrl Path"
	default "lea_sink_ctrl"

config BLUETOOTH_LEA_SINK_DATA_PATH
	string "Bluetooth LE Audio Transport Sink Data Path"
	default "lea_sink_data"

config BLUETOOTH_LEA_SOURCE_CTRL_PATH
	string "Bluetooth LE Audio Transport Source Ctrl Path"
	default "lea_source_ctrl"

config BLUETOOTH_LEA_SOURCE_DATA_PATH
	string "Bluetooth LE Audio Transport Source Data Path"
	default "lea_source_data"

config BLUETOOTH_A2DP_SINK_CTRL_PATH
	string "Bluetooth A2DP Audio Transport Sink Ctrl Path"
	default "a2dp_sink_ctrl"

config BLUETOOTH_A2DP_SINK_DATA_PATH
	string "Bluetooth A2DP Audio Transport Sink Data Path"
	default "a2dp_sink_data"

config BLUETOOTH_A2DP_SOURCE_CTRL_PATH
	string "Bluetooth A2DP Audio Transport Source Ctrl Path"
	default "a2dp_source_ctrl"

config BLUETOOTH_A2DP_SOURCE_DATA_PATH
	string "Bluetooth A2DP Audio Transport Source Data Path"
	default "a2dp_source_data"

endmenu #Bluetooth Audio Transport config

config BLUETOOTH_GATT
	bool "Generic ATT Profile Support(deprecated)"
	default y

menuconfig BLUETOOTH_GATT_CLIENT
	bool "Generic Attribute Profile (GATT) Client"
	default n if !BLUETOOTH_GATT
	default y if BLUETOOTH_GATT

if BLUETOOTH_GATT_CLIENT
config BLUETOOTH_GATTC_MAX_CONNECTIONS
	int "GATT Client max connections"
	default 8

config GATT_CLIENT_SERVICE_MAX
	int "Maximum number of discovered services per connection"
	default 20
	depends on BLUETOOTH_GATT_CLIENT && BLUETOOTH_STACK_LE_ZBLUE && BT_GATT_CLIENT
	help
		The maximum number of GATT services that can be stored per BLE connection
		when using the ZBLUE stack.

config GATT_CLIENT_ELEMENT_MAX
	int "Maximum number of discovered GATT attributes per connection"
	default 200
	depends on BLUETOOTH_GATT_CLIENT && BLUETOOTH_STACK_LE_ZBLUE && BT_GATT_CLIENT
	help
		The maximum number of GATT attribute elements (e.g., characteristics
		and descriptors) that can be stored per BLE connection
		when using the ZBLUE stack.

config GATT_CLIENT_CHAR_PER_SERVICE_MAX
	int "Maximum number of characteristics per service"
	default 100
	depends on BLUETOOTH_GATT_CLIENT && BLUETOOTH_STACK_LE_ZBLUE && BT_GATT_CLIENT
	help
		The maximum number of characteristics that can be discovered and stored
		under a single GATT service when using the ZBLUE stack.

config BLUETOOTH_GATT_CLIENT_DEBUG
	bool "Enable GATT Client debug"
	default y
	help
		Enable debug logging for GATT Client service discovery and dump.
		Disabling this option reduces code size by removing log strings.

endif # BLUETOOTH_GATT_CLIENT

menuconfig BLUETOOTH_GATT_SERVER
	bool "Generic Attribute Profile (GATT) Server"
	default n if !BLUETOOTH_GATT
	default y if BLUETOOTH_GATT

if BLUETOOTH_GATT_SERVER
config BLUETOOTH_GATTS_MAX_CONNECTIONS
	int "GATT Server max connections"
	default 4

config BLUETOOTH_GATTS_MAX_ATTRIBUTE_NUM
	int "GATT Server max number of attributes contained in a table"
	default 10
endif # BLUETOOTH_GATT_SERVER

menuconfig BLUETOOTH_SPP
	bool "Serial Port Profile (SPP)"
	default n

if BLUETOOTH_SPP
config BLUETOOTH_SPP_MAX_CONNECTIONS
	int "SPP max connections"
	default 8

config BLUETOOTH_SPP_SERVER_MAX_CONNECTIONS
	int "SPP Server max connections"
	default 8

config BLUETOOTH_SPP_RPMSG_NET
	bool "SPP RPMsg net support"
	default n
	depends on NET_RPMSG

endif #BLUETOOTH_SPP
	
config BLUETOOTH_HID_DEVICE
	bool "Human Interface Device Profile (HID)"
	default n

config BLUETOOTH_PAN
	bool "Personal Area Network Profile (PAN)"
	default n
	depends on ALLOW_BSD_COMPONENTS
	help
		config NET_TUN_PKTSIZE should set 1518

endmenu #Profiles

menu "Debug"
config BLUETOOTH_DEBUG_TIMEVAL
	bool "Enable Bluetooth debug time"
	default n
	help
		Enable this option to include Bluetooth debug time functionality.

config BLUETOOTH_DEBUG_TIME_UNIT_US
	bool "Use microseconds for Bluetooth debug time"
	default n
	depends on BLUETOOTH_DEBUG_TIMEVAL
	help
		Enable this option to use microseconds (us) for Bluetooth debug time.
		If disabled, milliseconds (ms) will be used by default.

config BLUETOOTH_DEBUG_MEMORY
	bool "Enable Bluetooth debug memory"
	default n
	help
		Enable this option to override standard memory allocation functions
		(malloc, calloc, free) with Bluetooth-specific versions (bt_malloc, etc).
		Useful for tracking memory usage and debugging in Bluetooth modules.

config BLUETOOTH_DEBUG_TRACE
	bool "Enable Bluetooth debug trace"
	default n
	help
		Enable Bluetooth debug trace tools.

if BLUETOOTH_DEBUG_TRACE
config BLUETOOTH_TRACE_BUFFER_SIZE
	int "Bluetooth trace buffer size"
	default 512

endif #BLUETOOTH_DEBUG_TRACE

config MAX_SNOOP_FILE_SIZE
	int "Maximum size of the snoop log file"
	default 1048576
	help
		Maximum size of the snoop log file

config BLUETOOTH_DUMPBUFFER
	bool "Bluetooth dumpbuffer"
	default n

config BLUETOOTH_DFX
	bool "Enable Bluetooth DFX"
	default y
	depends on DFX_EVENT
	help
		Enable Bluetooth DFX

config BLUETOOTH_LOG
	bool "Enable Bluetooth log"
	default y
	help
		Enable Bluetooth log

if BLUETOOTH_LOG
config BLUETOOTH_SERVICE_LOG_LEVEL
	int "Bluetooth Service log level"
	default 7
	depends on BLUETOOTH_SERVICE
	help
		Set BT Service log level <0~7>
endif #BLUETOOTH_LOG

endmenu #Debug

config BLUETOOTH_TOOLS
	bool "Bluetooth profile test tools (BT_TOOLS)"
	default n
	select BLUETOOTH_FRAMEWORK

menuconfig APP_BT_SAMPLE_CODE
	bool "Sample Code"
	default n
	select BLUETOOTH_FRAMEWORK

if APP_BT_SAMPLE_CODE
config APP_BT_SAMPLE_CODE_BASIC
	bool "Bluetooth basic sample code"
	default n

config APP_BT_SAMPLE_CODE_ENABLE
	bool "Bluetooth enable sample code"
	default n

config APP_BT_SAMPLE_CODE_DISCOVERY
	bool "Bluetooth discovery sample code"
	default n

config APP_BT_SAMPLE_CODE_CREATEBOND
	bool "Bluetooth createbond sample code"
	default n

config APP_BT_SAMPLE_CODE_ACCEPTBOND
	bool "Bluetooth acceptbond sample code"
	default n

endif #APP_BT_SAMPLE_CODE

endif #BLUETOOTH