diff mbox series

[RFC,2/2] ath10k: Add support for QCA9377 hw1.1 usb

Message ID 20230106105853.3484381-3-alexander.stein@ew.tq-group.com (mailing list archive)
State RFC
Delegated to: Netdev Maintainers
Headers show
Series ath10k USB support (QCA9377) | expand

Checks

Context Check Description
netdev/tree_selection success Not a local patch

Commit Message

Alexander Stein Jan. 6, 2023, 10:58 a.m. UTC
This adds hw_param for QCA9377 hw1.1 usb device.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
 drivers/net/wireless/ath/ath10k/core.c | 28 ++++++++++++++++++++++++++
 drivers/net/wireless/ath/ath10k/hw.h   |  8 ++++++++
 drivers/net/wireless/ath/ath10k/usb.c  |  1 +
 3 files changed, 37 insertions(+)
diff mbox series

Patch

diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c
index f69dab55fa36..e67f1a852cd1 100644
--- a/drivers/net/wireless/ath/ath10k/core.c
+++ b/drivers/net/wireless/ath/ath10k/core.c
@@ -646,6 +646,34 @@  static const struct ath10k_hw_params ath10k_hw_params_list[] = {
 		.use_fw_tx_credits = true,
 		.delay_unmap_buffer = false,
 	},
+	{
+		.id = QCA9377_HW_1_1_DEV_VERSION,
+		.dev_id = QCA9377_1_1_DEVICE_ID,
+		.bus = ATH10K_BUS_USB,
+		.name = "qca9377 hw1.1 usb",
+		.patch_load_addr = QCA9377_HW_1_1_PATCH_LOAD_ADDR,
+		.uart_pin = 19,
+		.otp_exe_param = 0,
+		.channel_counters_freq_hz = 88000,
+		.max_probe_resp_desc_thres = 0,
+		.cal_data_len = 8124,
+		.fw = {
+			.dir = QCA9377_HW_1_1_FW_DIR,
+			.board = QCA9377_HW_1_1_USB_BOARD_DATA_FILE,
+			.board_size = QCA9377_BOARD_DATA_SZ,
+			.board_ext_size = QCA9377_BOARD_EXT_DATA_SZ,
+		},
+		.hw_ops = &qca6174_ops,
+		.hw_clk = qca6174_clk,
+		.target_cpu_freq = 176000000,
+		.decap_align_bytes = 4,
+		.n_cipher_suites = 8,
+		.num_peers = TARGET_QCA9377_HL_NUM_PEERS,
+		.ast_skid_limit = 0x10,
+		.num_wds_entries = 0x20,
+		.uart_pin_workaround = true,
+		.start_once = true,
+	},
 	{
 		.id = QCA4019_HW_1_0_DEV_VERSION,
 		.dev_id = 0,
diff --git a/drivers/net/wireless/ath/ath10k/hw.h b/drivers/net/wireless/ath/ath10k/hw.h
index ea3b5c5c6c9b..2e934d74d7cc 100644
--- a/drivers/net/wireless/ath/ath10k/hw.h
+++ b/drivers/net/wireless/ath/ath10k/hw.h
@@ -29,6 +29,7 @@  enum ath10k_bus {
 #define QCA9888_2_0_DEVICE_ID	(0x0056)
 #define QCA9984_1_0_DEVICE_ID	(0x0046)
 #define QCA9377_1_0_DEVICE_ID   (0x0042)
+#define QCA9377_1_1_DEVICE_ID   (0x9378)
 #define QCA9887_1_0_DEVICE_ID   (0x0050)
 
 /* QCA988X 1.0 definitions (unsupported) */
@@ -123,6 +124,13 @@  enum qca9377_chip_id_rev {
 #define QCA9377_HW_1_0_BOARD_DATA_FILE "board.bin"
 #define QCA9377_HW_1_0_PATCH_LOAD_ADDR	0x1234
 
+/* QCA9377 1.1 definitions */
+#define QCA9377_HW_1_1_FW_DIR          ATH10K_FW_DIR "/QCA9377/hw1.1"
+#define QCA9377_HW_1_1_BOARD_DATA_FILE "board.bin"
+#define QCA9377_HW_1_1_SDIO_BOARD_DATA_FILE "board-sdio.bin"
+#define QCA9377_HW_1_1_USB_BOARD_DATA_FILE "board-usb.bin"
+#define QCA9377_HW_1_1_PATCH_LOAD_ADDR	0x1234
+
 /* QCA4019 1.0 definitions */
 #define QCA4019_HW_1_0_DEV_VERSION     0x01000000
 #define QCA4019_HW_1_0_FW_DIR          ATH10K_FW_DIR "/QCA4019/hw1.0"
diff --git a/drivers/net/wireless/ath/ath10k/usb.c b/drivers/net/wireless/ath/ath10k/usb.c
index b0067af685b1..efb949158aa1 100644
--- a/drivers/net/wireless/ath/ath10k/usb.c
+++ b/drivers/net/wireless/ath/ath10k/usb.c
@@ -1107,6 +1107,7 @@  static int ath10k_usb_pm_resume(struct usb_interface *interface)
 /* table of devices that work with this driver */
 static struct usb_device_id ath10k_usb_ids[] = {
 	{USB_DEVICE(0x13b1, 0x0042)}, /* Linksys WUSB6100M */
+	{USB_DEVICE(0x0CF3, 0x9378)}, /* Qualcomm QCA9377-7 */
 	{ /* Terminating entry */ },
 };