1# Copyright (c) 2022 Nordic Semiconductor ASA
2# SPDX-License-Identifier: Apache-2.0
3
4mainmenu "Bluetooth: Broadcast Audio Sink"
5
6config SCAN_OFFLOAD
7	bool "Whether to wait for a Broadcast Assistant"
8	default y
9	# enable PAST support if we can
10	select BT_PER_ADV_SYNC_TRANSFER_RECEIVER if (!HAS_BT_CTLR || \
11						     BT_CTLR_SYNC_TRANSFER_RECEIVER_SUPPORT)
12	help
13	  If set to true, the sample will start advertising connectable for
14	  Broadcast Assistants.
15
16config SCAN_SELF
17	bool "Whether to scan for Broadcast Sources without Broadcast Assistant"
18	default y
19	help
20	  If set to true, the sample will start scanning for Broadcast Sources
21	  without waiting for a Broadcast Assistant to connect.
22
23config SCAN_DELAY
24	int "Delay before starting scan (in seconds)"
25	range 0 255
26	default 10
27	depends on SCAN_SELF
28	help
29	  Time to advertise connectable for a Broadcast Assistant to connect
30	  before starting scanning for Broadcast Sources.
31
32config TARGET_BROADCAST_NAME
33	string "Target Broadcast Device Name"
34	default ""
35	help
36	  Name of target broadcast device. If not empty string, sink device
37	  will only listen to the specified broadcast source. Not case sensitive.
38
39config MAX_CODEC_FRAMES_PER_SDU
40	int "The maximum number of codec frame per SDU supported"
41	default 1
42	range 1 255
43	help
44	  Maximum number of codec frames per SDU supported by this device. Increasing this value
45	  allows support for a greater variety of broadcasts, but also increases memory usage.
46
47config ENABLE_LC3
48	bool "Enable the LC3 codec"
49	# By default let's enable it in the platforms we know are capable of supporting it
50	default y
51	depends on CPU_HAS_FPU && \
52		(ARCH_POSIX || SOC_COMPATIBLE_NRF52X || SOC_COMPATIBLE_NRF5340_CPUAPP)
53	select LIBLC3
54	select FPU
55
56config USE_USB_AUDIO_OUTPUT
57	bool "Use USB Audio as output"
58	depends on ENABLE_LC3
59	select USB_DEVICE_STACK_NEXT
60	select USBD_AUDIO2_CLASS
61	select RING_BUFFER
62	help
63	  Enables USB audio as output as a USB peripheral. This does not support providing USB
64	  audio to e.g. speakers that are also USB peripherals, but can be connected to e.g. a
65	  phone or PC as a USB-in device (such as a USB microphone).
66	  USB audio only supports a single audio channel.
67
68config USE_SPECIFIC_BROADCAST_CHANNEL
69	bool "Use specific Broadcast Channel Audio Location"
70	default y
71	depends on USE_USB_AUDIO_OUTPUT
72	help
73	  Enables the use of a specific Channel Audio Location (see config TARGET_BROADCAST_CHANNEL).
74
75config TARGET_BROADCAST_CHANNEL
76	int "Broadcast Channel Audio Location to sync to"
77	range 0 3
78	default 1
79	depends on USE_SPECIFIC_BROADCAST_CHANNEL
80	help
81	  Channel Audio Location to sync to. These corresponds to the bt_audio_location,
82	  supporting mono, left and right channels
83
84config INFO_REPORTING_INTERVAL
85	int "Number of SDUs received between each information report"
86	default 1000
87	help
88	  Determines how often information about received data is logged.
89	  Set to 0 to disable reporting.
90
91# Source common USB sample options used to initialize new experimental USB device stack.
92# The scope of these options is limited to USB samples in project tree,
93# you cannot use them in your own application.
94source "samples/subsys/usb/common/Kconfig.sample_usbd"
95
96source "Kconfig.zephyr"
97