zephyr/samples/bluetooth/hci_spi
Andrzej Głąbek cb0cb3f2e8 drivers/spi/Kconfig.nrfx: Choose driver type basing on DT compatible
Remove prompts from Kconfig options `SPI_x_NRF_SPI*` that select the
type of nrfx driver (for SPI, SPIM, or SPIS peripheral) to be used
for a given instance. This prevents the options from being modified
in configuration files.
Instead, make one of these options selected by default according to the
"compatible" property set for the corresponding SPI node in devicetree.

This eliminates the need of changing both the "compatible" property in
devicetree and the Kconfig option selecting the driver type when a user
wants to switch between SPI, SPIM, and SPIS for a given instance.

Since all `SPI_x_NRF_SPI*` options are made "hidden" by this commit,
all their occurrences in configuration files are removed.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2020-04-03 14:47:32 +02:00
..
boards drivers/spi/Kconfig.nrfx: Choose driver type basing on DT compatible 2020-04-03 14:47:32 +02:00
src samples: bluetooth: Convert to new DT_INST macros 2020-03-30 17:03:35 -05:00
CMakeLists.txt cmake: use find_package to locate Zephyr 2020-03-27 16:23:46 +01:00
README.rst doc: dts: revisit documentation 2020-03-24 10:11:20 -05:00
prj.conf samples: bluetooth: Fix hci_spi sample 2019-02-01 19:12:57 -05:00
sample.yaml boards: arm: nrf51_pca10028: rename board to nrf51dk_nrf51422 2020-03-24 11:45:27 +01:00

README.rst

.. _bluetooth-hci-spi-sample:

Bluetooth: HCI SPI
##################

Overview
********

Expose Zephyr Bluetooth Controller support over SPI to another device/CPU using
the Zephyr SPI HCI transport protocol (similar to BlueNRG).

Requirements
************

* A board with SPI slave, GPIO and BLE support.

Building and Running
********************

In order to use this application, you need a board with a Bluetooth
controller and SPI slave drivers, and a spare GPIO to use as an
interrupt line to the SPI master.

You then need to ensure that your :ref:`devicetree <dt-guide>`
settings provide a definition for the slave HCI SPI device::

	bt-hci@0 {
		compatible = "zephyr,bt-hci-spi-slave";
		...
	};

You can then build this application and flash it onto your board in
the usual way; see :ref:`boards` for board-specific building and
flashing information.

You will also need a separate chip acting as BT HCI SPI master. This
application is compatible with the HCI SPI master driver provided by
Zephyr's Bluetooth HCI driver core; see the help associated with the
BT_SPI configuration option for more information.

Refer to :ref:`bluetooth-samples` for general Bluetooth information, and
to :ref:`96b_carbon_nrf51_bluetooth` for instructions specific to the
96Boards Carbon board.