Commit 4a18b6cd authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

Merge tag 'for-net-next-2025-12-01' of...

Merge tag 'for-net-next-2025-12-01' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next

Luiz Augusto von Dentz says:

====================
bluetooth-next pull request for net-next:

core:

 - HCI: Add initial support for PAST
 - hci_core: Introduce HCI_CONN_FLAG_PAST
 - ISO: Add support to bind to trigger PAST
 - HCI: Always use the identity address when initializing a connection
 - ISO: Attempt to resolve broadcast address
 - MGMT: Allow use of Set Device Flags without Add Device
 - ISO: Fix not updating BIS sender source address
 - HCI: Add support for LL Extended Feature Set

 driver:

 - btusb: Add new VID/PID 2b89/6275 for RTL8761BUV
 - btusb: MT7920: Add VID/PID 0489/e135
 - btusb: MT7922: Add VID/PID 0489/e170
 - btusb: Add new VID/PID 13d3/3533 for RTL8821CE
 - btusb: Add new VID/PID 0x0489/0xE12F for RTL8852BE-VT
 - btusb: Add new VID/PID 0x13d3/0x3618 for RTL8852BE-VT
 - btusb: Add new VID/PID 0x13d3/0x3619 for RTL8852BE-VT
 - btusb: Reclassify Qualcomm WCN6855 debug packets
 - btintel_pcie: Introduce HCI Driver protocol
 - btintel_pcie: Support for S4 (Hibernate)
 - btintel_pcie: Suspend/Resume: Controller doorbell interrupt handling
 - dt-bindings: net: Convert Marvell 8897/8997 bindings to DT schema
 - btbcm: Use kmalloc_array() to prevent overflow
 - btrtl: Add the support for RTL8761CUV
 - hci_h5: avoid sending two SYNC messages
 - hci_h5: implement CRC data integrity

MAINTAINERS:

 - Add Bartosz Golaszewski as Qualcomm hci_qca maintainer

* tag 'for-net-next-2025-12-01' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next: (29 commits)
  Bluetooth: btusb: Add new VID/PID 13d3/3533 for RTL8821CE
  Bluetooth: HCI: Add support for LL Extended Feature Set
  drivers/bluetooth: btbcm: Use kmalloc_array() to prevent overflow
  Bluetooth: btintel_pcie: Introduce HCI Driver protocol
  Bluetooth: btusb: add new custom firmwares
  Bluetooth: btusb: Add new VID/PID 0x13d3/0x3619 for RTL8852BE-VT
  Bluetooth: btusb: Add new VID/PID 0x13d3/0x3618 for RTL8852BE-VT
  Bluetooth: btusb: Add new VID/PID 0x0489/0xE12F for RTL8852BE-VT
  Bluetooth: iso: fix socket matching ambiguity between BIS and CIS
  Bluetooth: MAINTAINERS: Add Bartosz Golaszewski as Qualcomm hci_qca maintainer
  Bluetooth: btrtl: Add the support for RTL8761CUV
  Bluetooth: Remove redundant pm_runtime_mark_last_busy() calls
  dt-bindings: net: Convert Marvell 8897/8997 bindings to DT schema
  Bluetooth: btusb: Reclassify Qualcomm WCN6855 debug packets
  Bluetooth: btusb: Add new VID/PID 2b89/6275 for RTL8761BUV
  Bluetooth: btintel_pcie: Suspend/Resume: Controller doorbell interrupt handling
  Bluetooth: btintel_pcie: Support for S4 (Hibernate)
  Bluetooth: btusb: MT7922: Add VID/PID 0489/e170
  Bluetooth: btusb: MT7920: Add VID/PID 0489/e135
  Bluetooth: ISO: Fix not updating BIS sender source address
  ...
====================

Link: https://patch.msgid.link/20251201213818.97249-1-luiz.dentz@gmail.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents d8e08149 525459da
Loading
Loading
Loading
Loading
+79 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/bluetooth/marvell,sd8897-bt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Marvell 8897/8997 (sd8897/sd8997) bluetooth devices (SDIO)

maintainers:
  - Ariel D'Alessandro <ariel.dalessandro@collabora.com>

allOf:
  - $ref: /schemas/net/bluetooth/bluetooth-controller.yaml#

properties:
  compatible:
    enum:
      - marvell,sd8897-bt
      - marvell,sd8997-bt

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  marvell,cal-data:
    $ref: /schemas/types.yaml#/definitions/uint8-array
    description:
      Calibration data downloaded to the device during initialization.
    maxItems: 28

  marvell,wakeup-pin:
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Wakeup pin number of the bluetooth chip. Used by firmware to wakeup host
      system.

  marvell,wakeup-gap-ms:
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Wakeup latency of the host platform. Required by the chip sleep feature.

required:
  - compatible
  - reg
  - interrupts

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>

    mmc {
        vmmc-supply = <&wlan_en_reg>;
        bus-width = <4>;
        cap-power-off-card;
        keep-power-in-suspend;

        #address-cells = <1>;
        #size-cells = <0>;

        bluetooth@2 {
            compatible = "marvell,sd8897-bt";
            reg = <2>;
            interrupt-parent = <&pio>;
            interrupts = <119 IRQ_TYPE_LEVEL_LOW>;

            marvell,cal-data = /bits/ 8 <
                0x37 0x01 0x1c 0x00 0xff 0xff 0xff 0xff 0x01 0x7f 0x04 0x02
                0x00 0x00 0xba 0xce 0xc0 0xc6 0x2d 0x00 0x00 0x00 0x00 0x00
                0x00 0x00 0xf0 0x00>;
            marvell,wakeup-pin = /bits/ 16 <0x0d>;
            marvell,wakeup-gap-ms = /bits/ 16 <0x64>;
        };
    };

...
+1 −1
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ Required properties:


Also, vendors that use btusb may have device additional properties, e.g:
Documentation/devicetree/bindings/net/marvell-bt-8xxx.txt
Documentation/devicetree/bindings/net/bluetooth/marvell,sd8897-bt.yaml

Optional properties:

+0 −83
Original line number Diff line number Diff line
Marvell 8897/8997 (sd8897/sd8997) bluetooth devices (SDIO or USB based)
------
The 8997 devices supports multiple interfaces. When used on SDIO interfaces,
the btmrvl driver is used and when used on USB interface, the btusb driver is
used.

Required properties:

  - compatible : should be one of the following:
	* "marvell,sd8897-bt" (for SDIO)
	* "marvell,sd8997-bt" (for SDIO)
	* "usb1286,204e"      (for USB)

Optional properties:

  - marvell,cal-data: Calibration data downloaded to the device during
		      initialization. This is an array of 28 values(u8).
		      This is only applicable to SDIO devices.

  - marvell,wakeup-pin: It represents wakeup pin number of the bluetooth chip.
		        firmware will use the pin to wakeup host system (u16).
  - marvell,wakeup-gap-ms: wakeup gap represents wakeup latency of the host
		      platform. The value will be configured to firmware. This
		      is needed to work chip's sleep feature as expected (u16).
  - interrupt-names: Used only for USB based devices (See below)
  - interrupts : specifies the interrupt pin number to the cpu. For SDIO, the
		 driver will use the first interrupt specified in the interrupt
		 array. For USB based devices, the driver will use the interrupt
		 named "wakeup" from the interrupt-names and interrupt arrays.
		 The driver will request an irq based on this interrupt number.
		 During system suspend, the irq will be enabled so that the
		 bluetooth chip can wakeup host platform under certain
		 conditions. During system resume, the irq will be disabled
		 to make sure unnecessary interrupt is not received.

Example:

IRQ pin 119 is used as system wakeup source interrupt.
wakeup pin 13 and gap 100ms are configured so that firmware can wakeup host
using this device side pin and wakeup latency.

Example for SDIO device follows (calibration data is also available in
below example).

&mmc3 {
	vmmc-supply = <&wlan_en_reg>;
	bus-width = <4>;
	cap-power-off-card;
	keep-power-in-suspend;

	#address-cells = <1>;
	#size-cells = <0>;
	btmrvl: bluetooth@2 {
		compatible = "marvell,sd8897-bt";
		reg = <2>;
		interrupt-parent = <&pio>;
		interrupts = <119 IRQ_TYPE_LEVEL_LOW>;

		marvell,cal-data = /bits/ 8 <
			0x37 0x01 0x1c 0x00 0xff 0xff 0xff 0xff 0x01 0x7f 0x04 0x02
			0x00 0x00 0xba 0xce 0xc0 0xc6 0x2d 0x00 0x00 0x00 0x00 0x00
			0x00 0x00 0xf0 0x00>;
		marvell,wakeup-pin = /bits/ 16 <0x0d>;
		marvell,wakeup-gap-ms = /bits/ 16 <0x64>;
	};
};

Example for USB device:

&usb_host1_ohci {
    #address-cells = <1>;
    #size-cells = <0>;

    mvl_bt1: bt@1 {
	compatible = "usb1286,204e";
	reg = <1>;
	interrupt-parent = <&gpio0>;
	interrupt-names = "wakeup";
	interrupts = <119 IRQ_TYPE_LEVEL_LOW>;
	marvell,wakeup-pin = /bits/ 16 <0x0d>;
	marvell,wakeup-gap-ms = /bits/ 16 <0x64>;
    };
};
+1 −0
Original line number Diff line number Diff line
@@ -21071,6 +21071,7 @@ F: Documentation/devicetree/bindings/net/qcom,bam-dmux.yaml
F:	drivers/net/wwan/qcom_bam_dmux.c
QUALCOMM BLUETOOTH DRIVER
M:	Bartosz Golaszewski <brgl@bgdev.pl>
L:	linux-arm-msm@vger.kernel.org
S:	Maintained
F:	drivers/bluetooth/btqca.[ch]
+1 −0
Original line number Diff line number Diff line
@@ -188,6 +188,7 @@ config BT_HCIUART_3WIRE
	bool "Three-wire UART (H5) protocol support"
	depends on BT_HCIUART
	depends on BT_HCIUART_SERDEV
	select CRC_CCITT
	help
	  The HCI Three-wire UART Transport Layer makes it possible to
	  user the Bluetooth HCI over a serial port interface. The HCI
Loading