CONFIG_IPC_SERVICE=y CONFIG_MBOX=y CONFIG_ISR_STACK_SIZE=1024 CONFIG_IDLE_STACK_SIZE=256 CONFIG_MAIN_STACK_SIZE=512 CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=512 CONFIG_HEAP_MEM_POOL_SIZE=4096 CONFIG_CBPRINTF_REDUCED_INTEGRAL=y CONFIG_ISR_TABLES_LOCAL_DECLARATION=y CONFIG_LTO=y CONFIG_BT=y CONFIG_BT_HCI_RAW=y # Workaround: Unable to allocate command buffer when using K_NO_WAIT since # Host number of completed commands does not follow normal flow control. CONFIG_BT_BUF_CMD_TX_COUNT=10 CONFIG_BT_BUF_EVT_RX_COUNT=16 CONFIG_BT_BUF_EVT_RX_SIZE=255 CONFIG_BT_BUF_ACL_RX_SIZE=255 CONFIG_BT_BUF_ACL_TX_SIZE=251 CONFIG_BT_BUF_CMD_TX_SIZE=255 # Host and Controller common dependencies CONFIG_BT_BROADCASTER=y CONFIG_BT_OBSERVER=y CONFIG_BT_EXT_ADV=y CONFIG_BT_PER_ADV=y CONFIG_BT_PER_ADV_SYNC=y CONFIG_BT_PER_ADV_SYNC_MAX=2 CONFIG_BT_CENTRAL=y CONFIG_BT_PERIPHERAL=y CONFIG_BT_MAX_CONN=3 # Broadcast and Connected ISO CONFIG_BT_ISO_BROADCASTER=y CONFIG_BT_ISO_SYNC_RECEIVER=y CONFIG_BT_ISO_CENTRAL=y CONFIG_BT_ISO_PERIPHERAL=y # ISO Streams CONFIG_BT_ISO_TX_MTU=310 CONFIG_BT_ISO_RX_MTU=310 CONFIG_BT_ISO_MAX_CHAN=4 # In theory, CONFIG_BT_ISO_TX_BUF_COUNT=1, should be sufficient but this count # is used in the context of IPC which falls into a "Newton's Cradle" effect # where probably (CONFIG_BT_CTLR_ISO_TX_BUFFERS - CONFIG_BT_ISO_TX_BUF_COUNT) # buffers get throttled. Hence, always have the value equal or greater. CONFIG_BT_ISO_TX_BUF_COUNT=8 CONFIG_BT_ISO_RX_BUF_COUNT=1 # Controller CONFIG_BT_LL_SW_SPLIT=y CONFIG_BT_CTLR_ASSERT_HANDLER=y CONFIG_BT_CTLR_DTM_HCI=y # Rx ACL and Adv Reports CONFIG_BT_CTLR_RX_BUFFERS=9 CONFIG_BT_CTLR_DATA_LENGTH_MAX=251 # Coded PHY support CONFIG_BT_CTLR_PHY_CODED=y # Advertising Sets and Extended Scanning CONFIG_BT_CTLR_ADV_EXT=y CONFIG_BT_CTLR_ADV_SET=3 CONFIG_BT_CTLR_ADV_DATA_LEN_MAX=191 CONFIG_BT_CTLR_SCAN_DATA_LEN_MAX=1650 CONFIG_BT_CTLR_ADVANCED_FEATURES=y CONFIG_BT_CTLR_ADV_AUX_SET=3 CONFIG_BT_CTLR_ADV_AUX_PDU_BACK2BACK=y CONFIG_BT_CTLR_ADV_SYNC_SET=3 CONFIG_BT_CTLR_ADV_SYNC_PDU_BACK2BACK=y CONFIG_BT_CTLR_ADV_DATA_BUF_MAX=6 # Increase the below to receive interleaved advertising chains CONFIG_BT_CTLR_SCAN_AUX_SET=1 # CONFIG_BT_CTLR_SCAN_AUX_USE_CHAINS=y # CONFIG_BT_CTLR_SCAN_AUX_CHAIN_COUNT=1 CONFIG_BT_CTLR_ADV_RESERVE_MAX=n CONFIG_BT_CTLR_ADV_ISO_RESERVE_MAX=y CONFIG_BT_CTLR_SYNC_ISO_RESERVE_MAX=n CONFIG_BT_CTLR_CENTRAL_RESERVE_MAX=n CONFIG_BT_CTLR_PERIPHERAL_RESERVE_MAX=n CONFIG_BT_CTLR_PERIPHERAL_ISO_RESERVE_MAX=n CONFIG_BT_CTLR_EVENT_OVERHEAD_RESERVE_MAX=y CONFIG_BT_CTLR_SLOT_RESERVATION_UPDATE=n CONFIG_BT_CTLR_SCAN_UNRESERVED=y CONFIG_BT_TICKER_NEXT_SLOT_GET_MATCH=y CONFIG_BT_TICKER_EXT=y CONFIG_BT_TICKER_EXT_SLOT_WINDOW_YIELD=y # Control Procedure CONFIG_BT_CTLR_LLCP_LOCAL_PROC_CTX_BUF_NUM=6 # ISO Broadcaster Controller CONFIG_BT_CTLR_ADV_EXT=y CONFIG_BT_CTLR_ADV_PERIODIC=y CONFIG_BT_CTLR_SYNC_TRANSFER_SENDER=y CONFIG_BT_CTLR_ADV_ISO=y CONFIG_BT_CTLR_ADV_ISO_SET=1 CONFIG_BT_CTLR_ADV_ISO_STREAM_COUNT=2 CONFIG_BT_CTLR_ADV_ISO_STREAM_MAX=2 CONFIG_BT_CTLR_ADV_ISO_PDU_LEN_MAX=247 # ISO Receive Controller CONFIG_BT_CTLR_ADV_EXT=y CONFIG_BT_CTLR_SYNC_PERIODIC=y CONFIG_BT_CTLR_SYNC_TRANSFER_RECEIVER=y CONFIG_BT_CTLR_SYNC_ISO=y CONFIG_BT_CTLR_SCAN_SYNC_ISO_SET=1 CONFIG_BT_CTLR_SYNC_ISO_STREAM_COUNT=2 CONFIG_BT_CTLR_SYNC_ISO_STREAM_MAX=2 CONFIG_BT_CTLR_SYNC_ISO_PDU_LEN_MAX=251 # ISO Connection Oriented CONFIG_BT_CTLR_CENTRAL_ISO=y CONFIG_BT_CTLR_PERIPHERAL_ISO=y CONFIG_BT_CTLR_CONN_ISO_GROUPS=1 CONFIG_BT_CTLR_CONN_ISO_STREAMS=2 CONFIG_BT_CTLR_CONN_ISO_STREAMS_PER_GROUP=2 CONFIG_BT_CTLR_CONN_ISO_SDU_LEN_MAX=247 CONFIG_BT_CTLR_CONN_ISO_PDU_LEN_MAX=251 CONFIG_BT_CTLR_CONN_ISO_LOW_LATENCY_POLICY=y # ISO Transmissions CONFIG_BT_CTLR_ISOAL_SOURCES=2 CONFIG_BT_CTLR_ISO_TX_BUFFERS=8 CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255 # ISO Receptions CONFIG_BT_CTLR_ISOAL_SINKS=2 CONFIG_BT_CTLR_ISO_RX_BUFFERS=8 # Tx Power Dynamic Control CONFIG_BT_CTLR_TX_PWR_DYNAMIC_CONTROL=y # Ignore HCI ISO data Tx sequence numbers # CONFIG_BT_CTLR_ISOAL_PSN_IGNORE=y # The hci_ipc image has a quite high RAM usage so we need to carefully # tweak Mbed TLS parameters in order to build successfully: # - use CSPRNG source as random source for PSA. This removes # requiement for legacy Mbed TLS entropy+ctr-drbg modules, which # saves RAM and ROM; # - use ROM pre-computed tables for AES; # - reduce the number of key slots to 3 in the PSA core. This is not a # huge limitation since PSA crypto is only used for AES-CMAC in hci_ipc. CONFIG_MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG=y CONFIG_MBEDTLS_AES_ROM_TABLES=y CONFIG_MBEDTLS_PSA_KEY_SLOT_COUNT=3 # Reduce RAM footprint further otherwise the image won't fit in cpu_net. CONFIG_BT_CTLR_ADV_ISO_SET=1 CONFIG_BT_CTLR_ADV_ISO_STREAM_COUNT=2