Skip to content

Commit 9c98c7e

Browse files
author
Zhou Xiao
committed
feat(ble): support esp ble controller spi output interface for ESP32-H2
1 parent 58b8775 commit 9c98c7e

File tree

2 files changed

+63
-0
lines changed

2 files changed

+63
-0
lines changed

components/bt/controller/esp32h2/Kconfig.in

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,49 @@ config BT_LE_CONTROLLER_LOG_DUMP_ONLY
333333
help
334334
Only operate in dump mode
335335

336+
config BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
337+
bool "Output ble controller logs to SPI bus (Experimental)"
338+
depends on BT_LE_CONTROLLER_LOG_ENABLED
339+
depends on !BT_LE_CONTROLLER_LOG_DUMP_ONLY
340+
default n
341+
help
342+
Output ble controller logs to SPI bus
343+
344+
config BT_LE_CONTROLLER_LOG_SPI_OUT_QUEUE_SIZE
345+
int "Number of ble controller log async SPI output queues"
346+
depends on BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
347+
default 4
348+
help
349+
The number of ble controller log async SPI output queues
350+
351+
config BT_LE_CONTROLLER_LOG_SPI_OUT_TRANS_BUF_SIZE
352+
int "Size of ble controller log async SPI output transaction buffer size"
353+
depends on BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
354+
default 512
355+
help
356+
The size of ble controller log async SPI output transaction buffer size
357+
358+
config BT_LE_CONTROLLER_LOG_SPI_OUT_MOSI_IO_NUM
359+
int "GPIO number of SPI MOSI"
360+
depends on BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
361+
default 25
362+
help
363+
GPIO number of SPI MOSI
364+
365+
config BT_LE_CONTROLLER_LOG_SPI_OUT_SCLK_IO_NUM
366+
int "GPIO number of SPI SCLK"
367+
depends on BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
368+
default 26
369+
help
370+
GPIO number of SPI SCLK
371+
372+
config BT_LE_CONTROLLER_LOG_SPI_OUT_CS_IO_NUM
373+
int "GPIO number of SPI CS"
374+
depends on BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
375+
default 27
376+
help
377+
GPIO number of SPI CS
378+
336379
config BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
337380
bool "Store ble controller logs to flash(Experimental)"
338381
depends on !BT_LE_CONTROLLER_LOG_DUMP_ONLY

components/bt/controller/esp32h2/bt.c

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,13 @@
5252
#include "esp_private/periph_ctrl.h"
5353
#include "esp_sleep.h"
5454
#include "soc/rtc.h"
55+
56+
#if CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
57+
#if CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
58+
#include "ble_log/ble_log_spi_out.h"
59+
#endif // CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
60+
#endif // CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
61+
5562
/* Macro definition
5663
************************************************************************
5764
*/
@@ -190,6 +197,7 @@ enum log_out_mode {
190197
LOG_DUMP_MEMORY,
191198
LOG_ASYNC_OUT,
192199
LOG_STORAGE_TO_FLASH,
200+
LOG_SPI_OUT,
193201
};
194202

195203
bool log_is_inited = false;
@@ -198,6 +206,8 @@ uint8_t log_output_mode = LOG_DUMP_MEMORY;
198206
#else
199207
#if CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
200208
uint8_t log_output_mode = LOG_STORAGE_TO_FLASH;
209+
#elif CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
210+
uint8_t log_output_mode = LOG_SPI_OUT;
201211
#else
202212
uint8_t log_output_mode = LOG_ASYNC_OUT;
203213
#endif // CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
@@ -245,6 +255,13 @@ esp_err_t esp_bt_controller_log_init(uint8_t log_output_mode)
245255
}
246256
#endif // CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
247257
break;
258+
case LOG_SPI_OUT:
259+
task_create = true;
260+
#if CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
261+
ble_log_spi_out_init();
262+
bt_controller_log_interface = ble_log_spi_out_write_esp;
263+
#endif // CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
264+
break;
248265
default:
249266
assert(0);
250267
}
@@ -259,6 +276,9 @@ esp_err_t esp_bt_controller_log_init(uint8_t log_output_mode)
259276
void esp_bt_ontroller_log_deinit(void)
260277
{
261278
r_ble_log_deinit_async();
279+
#if CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
280+
ble_log_spi_out_deinit();
281+
#endif
262282
log_is_inited = false;
263283
}
264284

0 commit comments

Comments
 (0)