ath11k: add hw_params entry for QCA6390
authorCarl Huang <cjhuang@codeaurora.org>
Thu, 13 Aug 2020 09:04:18 +0000 (12:04 +0300)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 17 Aug 2020 10:06:55 +0000 (13:06 +0300)
Define own firmware directory and settings for QCA6390.

Tested-on: QCA6390 hw2.0 PCI WLAN.HST.1.0.1-01740-QCAHSTSWPLZ_V2_TO_X86-1
Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.1.0.1-01238-QCAHKSWPL_SILICONZ-2

Signed-off-by: Carl Huang <cjhuang@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1597309466-19688-3-git-send-email-kvalo@codeaurora.org
drivers/net/wireless/ath/ath11k/core.c
drivers/net/wireless/ath/ath11k/core.h
drivers/net/wireless/ath/ath11k/hw.c
drivers/net/wireless/ath/ath11k/hw.h

index 38e830a2395b89cb9b80e8986b02df2a3df11edd..093faf20f324dcab368ae3bbe72c8d3cf4a109fc 100644 (file)
@@ -30,6 +30,18 @@ static const struct ath11k_hw_params ath11k_hw_params[] = {
                .bdf_addr = 0x4B0C0000,
                .hw_ops = &ipq8074_ops,
        },
+       {
+               .name = "qca6390 hw2.0",
+               .hw_rev = ATH11K_HW_QCA6390_HW20,
+               .fw = {
+                       .dir = "QCA6390/hw2.0",
+                       .board_size = 256 * 1024,
+                       .cal_size = 256 * 1024,
+               },
+               .max_radios = 3,
+               .bdf_addr = 0x4B0C0000,
+               .hw_ops = &qca6390_ops,
+       },
 };
 
 static int ath11k_core_create_board_name(struct ath11k_base *ab, char *name,
index b6ccd9f93853836046b53364cdb9edfcd103e3b1..c48d53ec4fa7025b020a719daf873ee407714140 100644 (file)
@@ -90,6 +90,7 @@ struct ath11k_skb_rxcb {
 
 enum ath11k_hw_rev {
        ATH11K_HW_IPQ8074,
+       ATH11K_HW_QCA6390_HW20,
 };
 
 enum ath11k_firmware_mode {
index 7cc5f36509c0509d38c4b8a6e2f9055b143ada73..6feb0f699cfcde63bf77538f2916c67ab0d0bc45 100644 (file)
@@ -32,3 +32,7 @@ const struct ath11k_hw_ops ipq8074_ops = {
 const struct ath11k_hw_ops ipq6018_ops = {
        .get_hw_mac_from_pdev_id = ath11k_hw_ipq6018_mac_from_pdev_id,
 };
+
+const struct ath11k_hw_ops qca6390_ops = {
+       .get_hw_mac_from_pdev_id = ath11k_hw_ipq8074_mac_from_pdev_id,
+};
index f31d53f6adb824272c32b5970a0f769232b3b0b8..1958830c01ec6d25c9725e5349864395a26158d9 100644 (file)
@@ -120,6 +120,7 @@ struct ath11k_hw_params {
 
 extern const struct ath11k_hw_ops ipq8074_ops;
 extern const struct ath11k_hw_ops ipq6018_ops;
+extern const struct ath11k_hw_ops qca6390_ops;
 
 static inline
 int ath11k_hw_get_mac_from_pdev_id(struct ath11k_hw_params *hw,