diff --git a/zblue/Kconfig.3_0_1 b/zblue/Kconfig.3_0_1 index 27f0558..569aacd 100644 --- a/zblue/Kconfig.3_0_1 +++ b/zblue/Kconfig.3_0_1 @@ -14,8 +14,6 @@ # limitations under the License. # -menu "Bluetooth Stack: Zephyr Bluetooth Stack" -osource "$APPSDIR/external/zblue/zblue/subsys/bluetooth/Kconfig" -osource "$APPSDIR/external/zblue/zblue/subsys/settings/Kconfig" -osource "$APPSDIR/external/zblue/zblue/port/Kconfig" -endmenu # Bluetooth Stack: Zephyr Bluetooth Stack +# Note: Bluetooth Kconfig is sourced from Kconfig.default to avoid duplicate parsing +# which causes kconfiglib warnings about choice symbols defined outside choice. +# If you need 3.0.1 specific configs, add them here without re-sourcing the same files. diff --git a/zblue/Makefile.default b/zblue/Makefile.default index 975ca42..069abe5 100644 --- a/zblue/Makefile.default +++ b/zblue/Makefile.default @@ -171,6 +171,97 @@ ifeq ($(CONFIG_BT_HCI),y) endif # CONFIG_BT_SHELL endif # CONFIG_BT_HCI +# Bluetooth Controller sources +ifeq ($(CONFIG_BT_CTLR),y) + CTLRDIR = $(BTDIR)/controller + + # HCI interface + ifeq ($(CONFIG_BT_CTLR_HCI),y) + CSRCS += $(CTLRDIR)/hci/hci.c + endif + + # Controller include paths - port/include MUST come first for HAL stubs + CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" zblue/port/include} + CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" zblue/port/include/hal} + CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" zblue/port/include/lll} + CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" zblue/subsys/bluetooth/controller} + CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" zblue/subsys/bluetooth/controller/include} + CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" zblue/subsys/bluetooth/controller/hci} + CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" zblue/subsys/bluetooth/controller/ll_sw} + CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" zblue/subsys/bluetooth/controller/ll_sw/nordic} + CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" zblue/subsys/bluetooth/controller/ll_sw/nordic/lll} + CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" zblue/subsys/bluetooth/controller/ll_sw/nordic/hci} + CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" zblue/subsys/bluetooth/controller/util} + CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" zblue/subsys/bluetooth/controller/ticker} + CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" zblue/subsys/bluetooth/controller/hal} + + # Core controller utility sources + CSRCS += $(CTLRDIR)/util/mem.c + CSRCS += $(CTLRDIR)/util/memq.c + CSRCS += $(CTLRDIR)/util/mayfly.c + CSRCS += $(CTLRDIR)/util/dbuf.c + CSRCS += $(CTLRDIR)/util/util.c + CSRCS += $(CTLRDIR)/ticker/ticker.c + CSRCS += $(CTLRDIR)/ll_sw/ull.c + CSRCS += $(CTLRDIR)/ll_sw/lll_common.c + CSRCS += $(CTLRDIR)/ll_sw/ull_chan.c + CSRCS += $(CTLRDIR)/ll_sw/lll_chan.c + CSRCS += $(CTLRDIR)/ll_sw/ll_feat.c + CSRCS += $(CTLRDIR)/ll_sw/ll_addr.c + CSRCS += $(CTLRDIR)/ll_sw/ll_tx_pwr.c + + # Advertising (Broadcaster role) + ifeq ($(CONFIG_BT_BROADCASTER),y) + CSRCS += $(CTLRDIR)/ll_sw/ull_adv.c + endif + + # Scanning (Observer role) + ifeq ($(CONFIG_BT_OBSERVER),y) + CSRCS += $(CTLRDIR)/ll_sw/ull_scan.c + endif + + # Connection support + ifeq ($(CONFIG_BT_CONN),y) + CSRCS += $(CTLRDIR)/ll_sw/ull_conn.c + CSRCS += $(CTLRDIR)/ll_sw/ull_tx_queue.c + CSRCS += $(CTLRDIR)/ll_sw/ull_llcp.c + CSRCS += $(CTLRDIR)/ll_sw/ull_llcp_common.c + CSRCS += $(CTLRDIR)/ll_sw/ull_llcp_local.c + CSRCS += $(CTLRDIR)/ll_sw/ull_llcp_pdu.c + CSRCS += $(CTLRDIR)/ll_sw/ull_llcp_conn_upd.c + CSRCS += $(CTLRDIR)/ll_sw/ull_llcp_chmu.c + CSRCS += $(CTLRDIR)/ll_sw/ull_llcp_remote.c + ifeq ($(CONFIG_BT_PERIPHERAL),y) + CSRCS += $(CTLRDIR)/ll_sw/ull_peripheral.c + endif + ifeq ($(CONFIG_BT_CENTRAL),y) + CSRCS += $(CTLRDIR)/ll_sw/ull_central.c + endif + endif + + # Filter support + ifeq ($(CONFIG_BT_CTLR_FILTER_ACCEPT_LIST),y) + CSRCS += $(CTLRDIR)/ll_sw/ull_filter.c + endif + + # HAL sources for NuttX QEMU virtual radio + CSRCS += zblue/port/controller/lll_qemu.c + CSRCS += zblue/port/controller/hal_radio_qemu.c + + # BR/EDR Controller sources + ifeq ($(CONFIG_BT_CTLR_BREDR),y) + BREDRDIR = $(CTLRDIR)/ll_sw/bredr + CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" zblue/subsys/bluetooth/controller/ll_sw/bredr} + CSRCS += $(BREDRDIR)/radio_bredr.c + CSRCS += $(BREDRDIR)/lll_bredr.c + CSRCS += $(BREDRDIR)/ull_bredr.c + CSRCS += $(BREDRDIR)/lmp_proc.c + CSRCS += $(BREDRDIR)/hci_bredr.c + CSRCS += $(BREDRDIR)/ticker_bredr.c + endif # CONFIG_BT_CTLR_BREDR + +endif # CONFIG_BT_CTLR + ifeq ($(CONFIG_BT_CONN),y) SVRSDIR = $(BTDIR)/services @@ -720,6 +811,7 @@ CSRCS += zblue/port/kernel/sched.c CSRCS += zblue/port/kernel/sem.c CSRCS += zblue/port/kernel/thread.c CSRCS += zblue/port/kernel/timeout.c +CSRCS += zblue/port/kernel/timer.c CSRCS += zblue/port/lib/net_buf/buf.c CSRCS += zblue/port/lib/os/assert.c CSRCS += zblue/port/sections/defines.c @@ -763,6 +855,47 @@ ifneq ($(CONFIG_BT_SAMPLE),) endif endif +ifeq ($(CONFIG_BT_TESTER),y) + TESTERDIR = zblue/tests/bluetooth/tester/src + + CSRCS += $(TESTERDIR)/btp.c + CSRCS += $(TESTERDIR)/btp_core.c + CSRCS += $(TESTERDIR)/btp_gap.c + CSRCS += $(TESTERDIR)/btp_gatt.c + CSRCS += $(TESTERDIR)/btp_l2cap.c + CSRCS += $(TESTERDIR)/btp_sdp.c + CSRCS += $(TESTERDIR)/btp_rfcomm.c + CSRCS += $(TESTERDIR)/btp_a2dp.c + CSRCS += $(TESTERDIR)/btp_hfp.c + CSRCS += $(TESTERDIR)/btp_avrcp.c + CSRCS += $(TESTERDIR)/btp_pan.c + CSRCS += $(TESTERDIR)/btp_spp.c + CSRCS += $(TESTERDIR)/btp_hid.c + + # z_api implementation: passthrough to Zephyr APIs (when not using Framework) + ifneq ($(CONFIG_Z_API_USE_FRAMEWORK),y) + CSRCS += $(TESTERDIR)/z_api_impl.c + endif + + ifeq ($(CONFIG_BT_MESH),y) + CSRCS += $(TESTERDIR)/btp_mesh.c + endif + + ifeq ($(CONFIG_BT_IAS),y) + CSRCS += $(TESTERDIR)/btp_ias.c + endif + + ifeq ($(CONFIG_BT_OTS),y) + CSRCS += $(TESTERDIR)/btp_ots.c + endif + + CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" zblue/tests/bluetooth/tester/src} + CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" zblue/tests/bluetooth/tester/src/audio/btp} + + PROGNAME += bttester + MAINSRC += $(TESTERDIR)/main.c +endif + PRIORITY = SCHED_PRIORITY_DEFAULT ifneq ($(CONFIG_BT_SAMPLE),) STACKSIZE = $(CONFIG_BT_SAMPLE_STACKSIZE)