This adds hw_param for QCA9377 hw1.1 usb device. Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx> --- 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 --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 */ }, }; -- 2.34.1