xref: /btstack/port/posix-h4-bcm/btstack_config.h (revision 893dbb9455d8018c779f7b9fef03fd5098bfe58e)
1*893dbb94SMatthias Ringwald //
2*893dbb94SMatthias Ringwald // btstack_config.h for generic POSIX H4 port
3*893dbb94SMatthias Ringwald //
4*893dbb94SMatthias Ringwald // Documentation: https://bluekitchen-gmbh.com/btstack/#how_to/
5*893dbb94SMatthias Ringwald //
6*893dbb94SMatthias Ringwald 
7*893dbb94SMatthias Ringwald #ifndef BTSTACK_CONFIG_H
8*893dbb94SMatthias Ringwald #define BTSTACK_CONFIG_H
9*893dbb94SMatthias Ringwald 
10*893dbb94SMatthias Ringwald // Port related features
11*893dbb94SMatthias Ringwald #define HAVE_ASSERT
12*893dbb94SMatthias Ringwald #define HAVE_BTSTACK_STDIN
13*893dbb94SMatthias Ringwald #define HAVE_EM9304_PATCH_CONTAINER
14*893dbb94SMatthias Ringwald #define HAVE_MALLOC
15*893dbb94SMatthias Ringwald #define HAVE_POSIX_FILE_IO
16*893dbb94SMatthias Ringwald #define HAVE_POSIX_TIME
17*893dbb94SMatthias Ringwald 
18*893dbb94SMatthias Ringwald // BTstack features that can be enabled
19*893dbb94SMatthias Ringwald #define ENABLE_ATT_DELAYED_RESPONSE
20*893dbb94SMatthias Ringwald #define ENABLE_BLE
21*893dbb94SMatthias Ringwald #define ENABLE_CLASSIC
22*893dbb94SMatthias Ringwald #define ENABLE_CROSS_TRANSPORT_KEY_DERIVATION
23*893dbb94SMatthias Ringwald #define ENABLE_HFP_WIDE_BAND_SPEECH
24*893dbb94SMatthias Ringwald #define ENABLE_L2CAP_ENHANCED_RETRANSMISSION_MODE
25*893dbb94SMatthias Ringwald #define ENABLE_LE_CENTRAL
26*893dbb94SMatthias Ringwald #define ENABLE_L2CAP_LE_CREDIT_BASED_FLOW_CONTROL_MODE
27*893dbb94SMatthias Ringwald #define ENABLE_LE_DATA_LENGTH_EXTENSION
28*893dbb94SMatthias Ringwald #define ENABLE_LE_PERIPHERAL
29*893dbb94SMatthias Ringwald #define ENABLE_LE_PRIVACY_ADDRESS_RESOLUTION
30*893dbb94SMatthias Ringwald #define ENABLE_LE_SECURE_CONNECTIONS
31*893dbb94SMatthias Ringwald #define ENABLE_LOG_ERROR
32*893dbb94SMatthias Ringwald #define ENABLE_LOG_INFO
33*893dbb94SMatthias Ringwald #define ENABLE_MICRO_ECC_FOR_LE_SECURE_CONNECTIONS
34*893dbb94SMatthias Ringwald #define ENABLE_PRINTF_HEXDUMP
35*893dbb94SMatthias Ringwald #define ENABLE_SCO_OVER_HCI
36*893dbb94SMatthias Ringwald #define ENABLE_SDP_DES_DUMP
37*893dbb94SMatthias Ringwald #define ENABLE_SOFTWARE_AES128
38*893dbb94SMatthias Ringwald 
39*893dbb94SMatthias Ringwald // BTstack configuration. buffers, sizes, ...
40*893dbb94SMatthias Ringwald #define HCI_ACL_PAYLOAD_SIZE (1691 + 4)
41*893dbb94SMatthias Ringwald #define HCI_INCOMING_PRE_BUFFER_SIZE 14 // sizeof benep heade, avoid memcpy
42*893dbb94SMatthias Ringwald 
43*893dbb94SMatthias Ringwald #define NVM_NUM_DEVICE_DB_ENTRIES      16
44*893dbb94SMatthias Ringwald #define NVM_NUM_LINK_KEYS              16
45*893dbb94SMatthias Ringwald 
46*893dbb94SMatthias Ringwald // Mesh Configuration
47*893dbb94SMatthias Ringwald #define ENABLE_MESH
48*893dbb94SMatthias Ringwald #define ENABLE_MESH_ADV_BEARER
49*893dbb94SMatthias Ringwald #define ENABLE_MESH_GATT_BEARER
50*893dbb94SMatthias Ringwald #define ENABLE_MESH_PB_ADV
51*893dbb94SMatthias Ringwald #define ENABLE_MESH_PB_GATT
52*893dbb94SMatthias Ringwald #define ENABLE_MESH_PROVISIONER
53*893dbb94SMatthias Ringwald #define ENABLE_MESH_PROXY_SERVER
54*893dbb94SMatthias Ringwald 
55*893dbb94SMatthias Ringwald #define MAX_NR_MESH_SUBNETS            2
56*893dbb94SMatthias Ringwald #define MAX_NR_MESH_TRANSPORT_KEYS    16
57*893dbb94SMatthias Ringwald #define MAX_NR_MESH_VIRTUAL_ADDRESSES 16
58*893dbb94SMatthias Ringwald 
59*893dbb94SMatthias Ringwald // allow for one NetKey update
60*893dbb94SMatthias Ringwald #define MAX_NR_MESH_NETWORK_KEYS      (MAX_NR_MESH_SUBNETS+1)
61*893dbb94SMatthias Ringwald 
62*893dbb94SMatthias Ringwald #endif
63*893dbb94SMatthias Ringwald 
64