This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2340R5: HCI architecture questions

Part Number: CC2340R5

Tool/software:

Hi team,

See below query from the customer. Please advise.

I'm working with the beacon sample code to bring-up it on cc2340r5, investigating Zephyr bluetooth drivers and can't find any suitable HCI drivers for cc2340r5 chip.

 

It is required to define zephyr,bt-hci node in dts file. To get it built I defined it to use bt-hci-uart. But our architecture is not HCI over UART or SPI. We have a solid application with our customized protocol over UART/SPI and we are going to use Zephyr BT APIs to handle BLE connections, data transfer and advertisement data. So even if HCI HCI command is to be executed it should be sent by our application itself.

 

So could you please advise us with the following points:

  • Should HCI be used if our BLE application has solid architecture
  • Does Zephyr 4.1 support BLE stack for TI chip?
  • If so what type of HCI driver should be used for our architecture?
  • Do you have any bluetooth examples for TI chip using Zephyr BLE API?
  • Hi !

    The Zephyr upstream (currently at release 4.1 as I write this) should not be used for building bluetooth architecture. Instead, we recommend using the Texas Instruments Support for Zephyr github repository. This downsteam repository has added support for the cc2340r5 and cc2340r53 chip. This is done by adding a new option called ti_bt_hci for the zephyr,bt-hci node in dts file (see the boards/ti/lp_em_cc2340r5/lp_em_cc2340r5.dts file). This ti_bt_hci then uses the TI HCI bluetooth driver for Zephyr, located at drivers/bluetooth/hci/hci_ti.c to send its HCI commands.

    To answer your questions :

    - You should use the Zephyr BLE API for your application, which itself will use HCI.
    - While upstream Zephyr 4.1 does not support BLE stack for TI chip, the downstream Texas Instruments Support for Zephyr does.
    - For your architecture, the TI HCI drivers, included in the downstream previously mentioned, should be used.
    - Most of the bluetooth examples from Zephyr should work on the cc2340r5 chip using the Zephyr BLE API. The github repository mentions only having tested on the samples/bluetooth/mesh_demo/ and samples/bluetooth/mesh/ examples, but I have tested with the samples/bluetooth/peripheral/ example and it worked fine.

    Kind regards,
    Maxence

  • Thanks Maxence,

    I see there is some activity targeting Zephyr 4.2 (SPI, DMA, etc) – are there similar plans for the BLE stack?

  • The downstream fork will usually be ahead in terms of TI content, but behind in therms of Zephyr content. We have plans to upgrade the downstream to more recent versions of Zephyr, but not until later in the year.

    As for the Zephyr upstream, there will not be BLE PRs yet, we just have the basics for now. But the downstream has working BLE and mesh.