]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: ath12k: enable QCC2072 support
authorBaochen Qiang <baochen.qiang@oss.qualcomm.com>
Mon, 12 Jan 2026 07:36:38 +0000 (15:36 +0800)
committerJeff Johnson <jeff.johnson@oss.qualcomm.com>
Fri, 16 Jan 2026 01:19:42 +0000 (17:19 -0800)
QCC2072 is a PCI based device that is very much like WCN7850, the major
difference is that QCC2072 has only one phy hence does not support DBS.
With previous patches handling such similarity and difference, it is now
ready to finally enable supporting this device.

Add QCC2072's ID to the PCI device ID table, to allow it getting probed
hence enable support. Also populate some necessary parameters when probing.

Tested-on: QCC2072 hw1.0 PCI WLAN.COL.1.0-01560-QCACOLSWPL_V1_TO_SILICONZ-1
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3

Signed-off-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
Link: https://patch.msgid.link/20260112-ath12k-support-qcc2072-v2-18-fc8ce1e43969@oss.qualcomm.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
drivers/net/wireless/ath/ath12k/wifi7/pci.c

index 6c477fe97298ffd2eda5e1ebba32014359ca2a89..6c96b52dec13155fd63439d4dcde82083f78e21a 100644 (file)
@@ -19,6 +19,7 @@
 
 #define QCN9274_DEVICE_ID              0x1109
 #define WCN7850_DEVICE_ID              0x1107
+#define QCC2072_DEVICE_ID              0x1112
 
 #define ATH12K_PCI_W7_SOC_HW_VERSION_1 1
 #define ATH12K_PCI_W7_SOC_HW_VERSION_2 2
 #define TCSR_SOC_HW_VERSION_MINOR_MASK GENMASK(7, 4)
 
 #define WINDOW_REG_ADDRESS             0x310c
+#define WINDOW_REG_ADDRESS_QCC2072     0x3278
 
 static const struct pci_device_id ath12k_wifi7_pci_id_table[] = {
        { PCI_VDEVICE(QCOM, QCN9274_DEVICE_ID) },
        { PCI_VDEVICE(QCOM, WCN7850_DEVICE_ID) },
+       { PCI_VDEVICE(QCOM, QCC2072_DEVICE_ID) },
        {}
 };
 
@@ -152,7 +155,16 @@ static int ath12k_wifi7_pci_probe(struct pci_dev *pdev,
                        return -EOPNOTSUPP;
                }
                break;
-
+       case QCC2072_DEVICE_ID:
+               ab->id.bdf_search = ATH12K_BDF_SEARCH_BUS_AND_BOARD;
+               ab_pci->msi_config = &ath12k_wifi7_msi_config[0];
+               ab->static_window_map = false;
+               ab_pci->pci_ops = &ath12k_wifi7_pci_ops_wcn7850;
+               ab_pci->window_reg_addr = WINDOW_REG_ADDRESS_QCC2072;
+               ab->target_mem_mode = ATH12K_QMI_MEMORY_MODE_DEFAULT;
+               /* there is only one version till now */
+               ab->hw_rev = ATH12K_HW_QCC2072_HW10;
+               break;
        default:
                dev_err(&pdev->dev, "Unknown Wi-Fi 7 PCI device found: 0x%x\n",
                        pci_dev->device);