Some Bluetooth controllers may expose hci0 even when the firmware
initialization has not completed correctly. In that state, the init
script may report success but bluetoothd cannot use the controller.
Validate the controller through the kernel management interface before
accepting the initialization as successful. This matches the interface
used by bluetoothd and catches controllers that are visible through HCI
but not registered in MGMT yet.
Use a timeout for the MGMT query so a broken controller state cannot
block the init script instead of falling back to the retry loop.
https://onedigi.atlassian.net/browse/DEL-9512
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This commit generalizes the BT GPIO value used in the bluetooth-init
script for different platforms.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://onedigi.atlassian.net/browse/DEL-9668
Retrieve the Bluetooth MAC address from the device tree (DT) node
rather than from the environment.
U-Boot will populate this address by default, but it can be
overridden with a custom MAC address specified directly in the DT,
which then takes priority.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Use an HCI vendor-specific command from Infineon on bluetooth-init
to set a custom MAC address every time the interface is started.
Valid for both CCMP1 (Murata 2AE) and CCMP2 (Murata 2FY) devices.
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
The HCI_UART Bluetooth driver does not support suspend-to-RAM operation, so the
driver must be loaded and unloaded manually. This commit adds support for the
Bluetooth initialization script used across Digi platforms, specifically for
ConnectCore MP13 and MP15.
https://onedigi.atlassian.net/browse/DEL-9650
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>