public inbox for linux-mediatek@lists.infradead.org
 help / color / mirror / Atom feed
  • * [PATCH v3 0/8] Bluetooth: Add MediaTek MT7927 (MT6639) support
           [not found] <177272816248.352280.12453518046823439297@jetm.me>
           [not found] ` <20260305162928.5E8F11EA006C@mailuser.phl.internal>
    @ 2026-03-26 22:13 ` Javier Tia
      2026-03-26 22:13   ` [PATCH v3 1/8] Bluetooth: btmtk: Add MT6639 (MT7927) Bluetooth support Javier Tia
                         ` (8 more replies)
      1 sibling, 9 replies; 12+ messages in thread
    From: Javier Tia @ 2026-03-26 22:13 UTC (permalink / raw)
      To: Marcel Holtmann, Luiz Augusto von Dentz, Matthias Brugger,
    	AngeloGioacchino Del Regno
      Cc: linux-bluetooth, linux-kernel, linux-arm-kernel, linux-mediatek,
    	Ryan Gilbert, Jose Tiburcio Ribeiro Netto, Llewellyn Curran,
    	Chapuis Dario, Evgeny Kapusta, Nitin Gurram, Thibaut FRANCOIS,
    	Ivan Lubnin
    
    This series adds Bluetooth support for the MediaTek MT7927 (Filogic 380)
    combo WiFi 7 + BT 5.4 module. The BT subsystem uses hardware variant
    0x6639 and connects via USB.
    
    The MT7927 is shipping in motherboards and PCIe add-in cards from ASUS,
    Gigabyte, Lenovo, MSI, and TP-Link since mid-2024. Without these patches,
    users see "Unsupported hardware variant (00006639)" or the BT subsystem
    hangs during firmware download.
    
    The series consists of eight patches:
    
      [1/8] Bluetooth: btmtk: Add MT6639 (MT7927) Bluetooth support
      [2/8] Bluetooth: btmtk: fix ISO interface setup for single alt setting
      [3/8] Bluetooth: btusb: Add MT7927 ID for ASUS ROG Crosshair X870E Hero
      [4/8] Bluetooth: btusb: Add MT7927 ID for Lenovo Legion Pro 7 16ARX9
      [5/8] Bluetooth: btusb: Add MT7927 ID for Gigabyte Z790 AORUS MASTER X
      [6/8] Bluetooth: btusb: Add MT7927 ID for MSI X870E Ace Max
      [7/8] Bluetooth: btusb: Add MT7927 ID for TP-Link Archer TBE550E
      [8/8] Bluetooth: btusb: Add MT7927 ID for ASUS X870E / ProArt X870E-Creator
    
    Three driver changes are needed for MT6639 (patch 1):
    
    1. CHIPID workaround: On some boards the BT USB MMIO register reads
       0x0000 for dev_id. Force dev_id to 0x6639 only when the USB VID/PID
       matches a known MT6639 device, avoiding misdetection if a future
       chip also reads zero. This follows the WiFi-side pattern.
    
    2. Firmware naming: MT6639 uses firmware version prefix "2_1" instead of
       "1_1" used by MT7925 and other variants. The firmware path is
       mediatek/mt7927/BT_RAM_CODE_MT6639_2_1_hdr.bin, using the mt7927
       directory to match the WiFi firmware convention. The filename will
       likely change to use MT7927 once MediaTek submits a dedicated
       Linux firmware binary.
    
    3. Section filtering: The firmware binary contains 9 sections, but only
       sections with (dlmodecrctype & 0xff) == 0x01 are Bluetooth-related.
       Sending WiFi/other sections causes an irreversible BT subsystem hang.
    
    Patch 2 fixes the ISO interface setup for devices that expose only a
    single alternate setting (alt 0) on the ISO endpoint. Without this fix,
    btmtk_usb_claim_iso_intf() fails with EINVAL, causing ~20 second
    initialization delays on 13d3:3588 devices.
    
    Tested on:
    - ASUS ROG Crosshair X870E Hero (USB 0489:e13a)
    - ASUS ROG STRIX X870E-E (USB 13d3:3588)
    - ASUS ROG STRIX B850-E GAMING WIFI (USB 0489:e13a)
    - Gigabyte Z790 AORUS MASTER X (USB 0489:e10f)
    - Lenovo Legion Pro 7 16ARX9 (USB 0489:e0fa)
    - MSI MEG X870E ACE MAX (USB 0489:e110)
    - TP-Link Archer TBE550E PCIe (USB 0489:e116)
    
    The firmware blob is being submitted separately to linux-firmware via
    GitLab MR !946. The firmware path has been updated to mediatek/mt7927/
    per maintainer feedback.
    
    Changes in v3 (suggested by Sean Wang):
    - Scoped CHIPID workaround to a static VID/PID table of known MT6639
      USB devices instead of mapping all zero-CHIPID cases to 0x6639
    - Changed firmware path from mediatek/mt6639/ to mediatek/mt7927/ to
      match the WiFi firmware convention and avoid confusion
    - Added MODULE_FIRMWARE(FIRMWARE_MT7927) for initramfs firmware discovery
    - Added Tested-by for 0489:e110 (Nitin Gurram)
    
    Changes in v2:
    - Split USB device IDs into per-device commits as requested (Luiz)
    - Added 0489:e110 (MSI X870E Ace Max, new hardware report)
    - Added ISO interface fix for single alt setting (13d3:3588 devices)
    - Added Tested-by trailers for all USB IDs
    - Added USB descriptor output to all per-device commits
    - Removed BTMTK_FIRMWARE_LOADED skip logic (Sean Wang)
    
    Link to v2: https://lore.kernel.org/linux-bluetooth/20260325-mt7927-bt-support-v2-0-b892a3252880@jetm.me/T/#t
    Link to v1: https://lore.kernel.org/linux-bluetooth/177272816248.352280.12453518046823439297@jetm.me/
    
    Signed-off-by: Javier Tia <floss@jetm.me>
    ---
    Javier Tia (8):
          Bluetooth: btmtk: Add MT6639 (MT7927) Bluetooth support
          Bluetooth: btmtk: fix ISO interface setup for single alt setting
          Bluetooth: btusb: Add MT7927 ID for ASUS ROG Crosshair X870E Hero
          Bluetooth: btusb: Add MT7927 ID for Lenovo Legion Pro 7 16ARX9
          Bluetooth: btusb: Add MT7927 ID for Gigabyte Z790 AORUS MASTER X
          Bluetooth: btusb: Add MT7927 ID for MSI X870E Ace Max
          Bluetooth: btusb: Add MT7927 ID for TP-Link Archer TBE550E
          Bluetooth: btusb: Add MT7927 ID for ASUS X870E / ProArt X870E-Creator
    
     drivers/bluetooth/btmtk.c | 56 ++++++++++++++++++++++++++++++++++++++++++++---
     drivers/bluetooth/btmtk.h |  1 +
     drivers/bluetooth/btusb.c | 12 ++++++++++
     3 files changed, 66 insertions(+), 3 deletions(-)
    ---
    base-commit: 50003ce2085a7f7dacf2426065d1a69c84b5b963
    change-id: 20260305-mt7927-bt-support-6589a50c961f
    
    Best regards,
    --  
    Javier Tia <floss@jetm.me>
    
    
    
    ^ permalink raw reply	[flat|nested] 12+ messages in thread

  • end of thread, other threads:[~2026-03-31 16:50 UTC | newest]
    
    Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
    -- links below jump to the message on this page --
         [not found] <177272816248.352280.12453518046823439297@jetm.me>
         [not found] ` <20260305162928.5E8F11EA006C@mailuser.phl.internal>
    2026-03-07 16:03   ` [PATCH 1/2] Bluetooth: btmtk: Add MT6639 (MT7927) Bluetooth support Sean Wang
    2026-03-26 22:13 ` [PATCH v3 0/8] Bluetooth: Add MediaTek MT7927 (MT6639) support Javier Tia
    2026-03-26 22:13   ` [PATCH v3 1/8] Bluetooth: btmtk: Add MT6639 (MT7927) Bluetooth support Javier Tia
    2026-03-31 16:50     ` patchwork-bot+bluetooth
    2026-03-26 22:13   ` [PATCH v3 2/8] Bluetooth: btmtk: fix ISO interface setup for single alt setting Javier Tia
    2026-03-26 22:13   ` [PATCH v3 3/8] Bluetooth: btusb: Add MT7927 ID for ASUS ROG Crosshair X870E Hero Javier Tia
    2026-03-26 22:13   ` [PATCH v3 4/8] Bluetooth: btusb: Add MT7927 ID for Lenovo Legion Pro 7 16ARX9 Javier Tia
    2026-03-26 22:13   ` [PATCH v3 5/8] Bluetooth: btusb: Add MT7927 ID for Gigabyte Z790 AORUS MASTER X Javier Tia
    2026-03-26 22:13   ` [PATCH v3 6/8] Bluetooth: btusb: Add MT7927 ID for MSI X870E Ace Max Javier Tia
    2026-03-26 22:13   ` [PATCH v3 7/8] Bluetooth: btusb: Add MT7927 ID for TP-Link Archer TBE550E Javier Tia
    2026-03-26 22:13   ` [PATCH v3 8/8] Bluetooth: btusb: Add MT7927 ID for ASUS X870E / ProArt X870E-Creator Javier Tia
    2026-03-27 17:58   ` [PATCH v3 0/8] Bluetooth: Add MediaTek MT7927 (MT6639) support Luiz Augusto von Dentz
    

    This is a public inbox, see mirroring instructions
    for how to clone and mirror all data and code used for this inbox