From 3408f8c4edfe11764ae7f62b41fa3e3e51749cec Mon Sep 17 00:00:00 2001 From: Isaac Hermida Date: Fri, 23 Jan 2026 11:03:21 +0100 Subject: [PATCH] bluetooth-init: consolidate common scripts Consolidate the init script for platforms based on the same driver with the same logic. The btbmc and hciuart drivers are used in the ccmp1 and cc95. The btnxpuart driver is used in the cc91 and cc93. The btdigi driver is used in the cc8 platforms with the qca65x4 driver. https://onedigi.atlassian.net/browse/DEL-9949 Signed-off-by: Isaac Hermida --- .../recipes-connectivity/bluez/bluez5-init.bb | 12 +++- ...ooth-init => bluetooth-init_btbcm_hciuart} | 8 ++- ...oth-init => bluetooth-init_btdigi_qca65x4} | 0 ...luetooth-init => bluetooth-init_btnxpuart} | 0 .../bluez/bluez5-init/ccimx8x/bluetooth-init | 69 ------------------- 5 files changed, 16 insertions(+), 73 deletions(-) rename meta-digi-dey/recipes-connectivity/bluez/bluez5-init/{ccmp1/bluetooth-init => bluetooth-init_btbcm_hciuart} (90%) rename meta-digi-dey/recipes-connectivity/bluez/bluez5-init/{ccimx8m/bluetooth-init => bluetooth-init_btdigi_qca65x4} (100%) rename meta-digi-dey/recipes-connectivity/bluez/bluez5-init/{ccimx9/bluetooth-init => bluetooth-init_btnxpuart} (100%) delete mode 100644 meta-digi-dey/recipes-connectivity/bluez/bluez5-init/ccimx8x/bluetooth-init diff --git a/meta-digi-dey/recipes-connectivity/bluez/bluez5-init.bb b/meta-digi-dey/recipes-connectivity/bluez/bluez5-init.bb index 36df60b45..4d7c44468 100644 --- a/meta-digi-dey/recipes-connectivity/bluez/bluez5-init.bb +++ b/meta-digi-dey/recipes-connectivity/bluez/bluez5-init.bb @@ -4,8 +4,16 @@ SUMMARY = "Bluetooth init scripts" LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" +BT_INIT_FILE = "bluetooth-init" +BT_INIT_FILE:ccimx8m = "bluetooth-init_btdigi_qca65x4" +BT_INIT_FILE:ccimx8x = "bluetooth-init_btdigi_qca65x4" +BT_INIT_FILE:ccimx91 = "bluetooth-init_btnxpuart" +BT_INIT_FILE:ccimx93 = "bluetooth-init_btnxpuart" +BT_INIT_FILE:ccimx95 = "bluetooth-init_btbcm_hciuart" +BT_INIT_FILE:ccmp1 = "bluetooth-init_btbcm_hciuart" + SRC_URI = " \ - file://bluetooth-init \ + file://${BT_INIT_FILE} \ file://bluetooth-init.service \ " @@ -18,7 +26,7 @@ inherit update-rc.d systemd do_install() { # INITSCRIPT install -d ${D}${sysconfdir}/init.d/ - install -m 0755 ${WORKDIR}/bluetooth-init ${D}${sysconfdir}/bluetooth-init + install -m 0755 ${WORKDIR}/${BT_INIT_FILE} ${D}${sysconfdir}/bluetooth-init ln -sf /etc/bluetooth-init ${D}${sysconfdir}/init.d/bluetooth-init # SYSTEMD install -d ${D}${systemd_unitdir}/system/ diff --git a/meta-digi-dey/recipes-connectivity/bluez/bluez5-init/ccmp1/bluetooth-init b/meta-digi-dey/recipes-connectivity/bluez/bluez5-init/bluetooth-init_btbcm_hciuart similarity index 90% rename from meta-digi-dey/recipes-connectivity/bluez/bluez5-init/ccmp1/bluetooth-init rename to meta-digi-dey/recipes-connectivity/bluez/bluez5-init/bluetooth-init_btbcm_hciuart index cb197c4ed..0938fecf5 100644 --- a/meta-digi-dey/recipes-connectivity/bluez/bluez5-init/ccmp1/bluetooth-init +++ b/meta-digi-dey/recipes-connectivity/bluez/bluez5-init/bluetooth-init_btbcm_hciuart @@ -1,7 +1,7 @@ #!/bin/sh #=============================================================================== # -# Copyright (C) 2025 by Digi International Inc. +# Copyright (C) 2025,2026, Digi International Inc. # All rights reserved. # # This program is free software; you can redistribute it and/or modify it @@ -22,10 +22,14 @@ if grep -qs '\' /proc/device-tree/compatible; then # CCMP13 - BT_REG_EN - GPIO PD13 GPIO_CHIP="GPIOD" GPIO_NUMBER="13" -else +elif grep -qs '\' /proc/device-tree/compatible; then # CCMP15 - BT_REG_EN - GPIO PZ6 GPIO_CHIP="GPIOZ" GPIO_NUMBER="6" +elif grep -qs '\' /proc/device-tree/compatible; then + # CCIMX95 + GPIO_CHIP="1" + GPIO_NUMBER="18" fi log() { diff --git a/meta-digi-dey/recipes-connectivity/bluez/bluez5-init/ccimx8m/bluetooth-init b/meta-digi-dey/recipes-connectivity/bluez/bluez5-init/bluetooth-init_btdigi_qca65x4 similarity index 100% rename from meta-digi-dey/recipes-connectivity/bluez/bluez5-init/ccimx8m/bluetooth-init rename to meta-digi-dey/recipes-connectivity/bluez/bluez5-init/bluetooth-init_btdigi_qca65x4 diff --git a/meta-digi-dey/recipes-connectivity/bluez/bluez5-init/ccimx9/bluetooth-init b/meta-digi-dey/recipes-connectivity/bluez/bluez5-init/bluetooth-init_btnxpuart similarity index 100% rename from meta-digi-dey/recipes-connectivity/bluez/bluez5-init/ccimx9/bluetooth-init rename to meta-digi-dey/recipes-connectivity/bluez/bluez5-init/bluetooth-init_btnxpuart diff --git a/meta-digi-dey/recipes-connectivity/bluez/bluez5-init/ccimx8x/bluetooth-init b/meta-digi-dey/recipes-connectivity/bluez/bluez5-init/ccimx8x/bluetooth-init deleted file mode 100644 index 01f57c95f..000000000 --- a/meta-digi-dey/recipes-connectivity/bluez/bluez5-init/ccimx8x/bluetooth-init +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/sh -#=============================================================================== -# -# Copyright (C) 2018,2019 by Digi International Inc. -# All rights reserved. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# -# !Description: Initialize bluetooth hardware -# -#=============================================================================== - -bluetooth_init() { - # Get MAC address from the device tree. Use a default value if it has not been set. - BT_MACADDR="$(hexdump -ve '1/1 "%02X" ":"' /proc/device-tree/bluetooth/mac-address 2>/dev/null | sed 's/:$//g')" - if [ -z "${BT_MACADDR}" ] || [ "${BT_MACADDR}" = "00:00:00:00:00:00" ]; then - BT_MACADDR="00:04:F3:FF:FF:BB" - fi - - # Start the Bluetooth driver and bring up the interface - HCIATTACH_LOG="/var/log/hciattach.log" - - for RETRY in $(seq 1 5) - do - killproc hciattach - modprobe btdigi - if hciattach ttyBt qca ${BT_RATE:-3000000} -t30 ${BT_FLOW:-flow} unused ${BT_MACADDR} >${HCIATTACH_LOG} 2>&1; then - return - fi - rmmod btdigi - sleep 1 - done - BT_ERROR="FAIL (hciattach)" -} - -# Source function library -. /etc/init.d/functions - -case "$1" in - start) - if [ -d "/proc/device-tree/bluetooth" ]; then - if [ "$(tr -d '\0' 2>/dev/null