|
@@ -58,11 +58,13 @@ MODULE_PARM_DESC(reset_mode, "0: auto, 1: warm only (default: 0)");
|
|
|
#define ATH10K_PCI_NUM_WARM_RESET_ATTEMPTS 3
|
|
|
|
|
|
#define QCA988X_2_0_DEVICE_ID (0x003c)
|
|
|
+#define QCA6164_2_1_DEVICE_ID (0x0041)
|
|
|
#define QCA6174_2_1_DEVICE_ID (0x003e)
|
|
|
#define QCA99X0_2_0_DEVICE_ID (0x0040)
|
|
|
|
|
|
static const struct pci_device_id ath10k_pci_id_table[] = {
|
|
|
{ PCI_VDEVICE(ATHEROS, QCA988X_2_0_DEVICE_ID) }, /* PCI-E QCA988X V2 */
|
|
|
+ { PCI_VDEVICE(ATHEROS, QCA6164_2_1_DEVICE_ID) }, /* PCI-E QCA6164 V2.1 */
|
|
|
{ PCI_VDEVICE(ATHEROS, QCA6174_2_1_DEVICE_ID) }, /* PCI-E QCA6174 V2.1 */
|
|
|
{ PCI_VDEVICE(ATHEROS, QCA99X0_2_0_DEVICE_ID) }, /* PCI-E QCA99X0 V2 */
|
|
|
{0}
|
|
@@ -74,11 +76,19 @@ static const struct ath10k_pci_supp_chip ath10k_pci_supp_chips[] = {
|
|
|
* because of that.
|
|
|
*/
|
|
|
{ QCA988X_2_0_DEVICE_ID, QCA988X_HW_2_0_CHIP_ID_REV },
|
|
|
+
|
|
|
+ { QCA6164_2_1_DEVICE_ID, QCA6174_HW_2_1_CHIP_ID_REV },
|
|
|
+ { QCA6164_2_1_DEVICE_ID, QCA6174_HW_2_2_CHIP_ID_REV },
|
|
|
+ { QCA6164_2_1_DEVICE_ID, QCA6174_HW_3_0_CHIP_ID_REV },
|
|
|
+ { QCA6164_2_1_DEVICE_ID, QCA6174_HW_3_1_CHIP_ID_REV },
|
|
|
+ { QCA6164_2_1_DEVICE_ID, QCA6174_HW_3_2_CHIP_ID_REV },
|
|
|
+
|
|
|
{ QCA6174_2_1_DEVICE_ID, QCA6174_HW_2_1_CHIP_ID_REV },
|
|
|
{ QCA6174_2_1_DEVICE_ID, QCA6174_HW_2_2_CHIP_ID_REV },
|
|
|
{ QCA6174_2_1_DEVICE_ID, QCA6174_HW_3_0_CHIP_ID_REV },
|
|
|
{ QCA6174_2_1_DEVICE_ID, QCA6174_HW_3_1_CHIP_ID_REV },
|
|
|
{ QCA6174_2_1_DEVICE_ID, QCA6174_HW_3_2_CHIP_ID_REV },
|
|
|
+
|
|
|
{ QCA99X0_2_0_DEVICE_ID, QCA99X0_HW_2_0_CHIP_ID_REV },
|
|
|
};
|
|
|
|
|
@@ -1814,6 +1824,7 @@ static int ath10k_pci_get_num_banks(struct ath10k *ar)
|
|
|
case QCA988X_2_0_DEVICE_ID:
|
|
|
case QCA99X0_2_0_DEVICE_ID:
|
|
|
return 1;
|
|
|
+ case QCA6164_2_1_DEVICE_ID:
|
|
|
case QCA6174_2_1_DEVICE_ID:
|
|
|
switch (MS(ar->chip_id, SOC_CHIP_ID_REV)) {
|
|
|
case QCA6174_HW_1_0_CHIP_ID_REV:
|
|
@@ -2902,6 +2913,7 @@ static int ath10k_pci_probe(struct pci_dev *pdev,
|
|
|
case QCA988X_2_0_DEVICE_ID:
|
|
|
hw_rev = ATH10K_HW_QCA988X;
|
|
|
break;
|
|
|
+ case QCA6164_2_1_DEVICE_ID:
|
|
|
case QCA6174_2_1_DEVICE_ID:
|
|
|
hw_rev = ATH10K_HW_QCA6174;
|
|
|
break;
|
|
@@ -2926,6 +2938,7 @@ static int ath10k_pci_probe(struct pci_dev *pdev,
|
|
|
ar_pci->pdev = pdev;
|
|
|
ar_pci->dev = &pdev->dev;
|
|
|
ar_pci->ar = ar;
|
|
|
+ ar->dev_id = pci_dev->device;
|
|
|
|
|
|
if (pdev->subsystem_vendor || pdev->subsystem_device)
|
|
|
scnprintf(ar->spec_board_id, sizeof(ar->spec_board_id),
|