* [PATCH 0/4] Add support for QCA9379 hw1.0 SDIO WiFi/BT
@ 2024-08-05 4:01 Felix Kaechele
2024-08-05 4:01 ` [PATCH 1/4] mmc: sdio: add Qualcomm QCA9379-3 SDIO id Felix Kaechele
` (3 more replies)
0 siblings, 4 replies; 10+ messages in thread
From: Felix Kaechele @ 2024-08-05 4:01 UTC (permalink / raw)
To: Marcel Holtmann, Luiz Augusto von Dentz, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Kalle Valo, Jeff Johnson,
Ulf Hansson, Balakrishna Godavarthi, Rocky Liao
Cc: linux-bluetooth, netdev, devicetree, linux-kernel, linux-wireless,
ath10k, linux-mmc
Add support for Qualcomm QCA9379-3 SDIO based adapters.
The Bluetooth part is straightforward. It simply adds a DT compatible
string to the existing driver.
The WiFi part is a followup to the RFC I sent back in February [0], that
didn't receive any comments.
Since then I aligned the patch closer to what the driver does for the
QCA6174 rather than the QCA9377, as the latter hasn't been touched in a
while.
With that the driver no longer throws errors for non-existent calibration
data.
The roaming and group re-keying issues still persist, but may not be
specific to this chipset, as this (or a similar issue) is apparently seen
on other chipsets as well [1].
The user impact of this issue is an intermittent loss of connectivity
while the adapter re-associates. Other than that the connection is
stable.
I have tested this patch on a Lenovo ThinkSmart View (CD-18781Y) that
comes with a LITEON WCBN3510A module. The firmware and boardfile used for
testing was pulled from the original Android image. A file at
/modem/verinfo/ver_info.txt on the Android image identifies the WiFi
part as "WLAN.NPL.1.6-00163-QCANPLSWPZ-1" and the Bluetooth part as
"BTFM.NPL.1.0.4-00002-QCABTFMSWPZ-1".
No firmware files are currently available from public repositories, but
they should available from the vendor website [2] for customers that have
the according access.
I can submit the boardfile to the ath10k list once this patch is
accepted. The one that is included with the Android system image has a
sha256sum of 65767cca6a1ff88a9899235acdeeed1e9447a2f16f41d38052202835d5bda7d4.
If someone from Qualcomm could add both the WiFi and BT firmwares to the
linux-firmware repositories that would be much appreciated.
I'm happy to test any firmware before submission, if desired.
Thanks,
Felix
[0]: https://lore.kernel.org/ath10k/20240229032700.414415-1-felix@kaechele.ca/T/
[1]: https://lore.kernel.org/ath10k/c407064a-1c2f-46ec-ac57-32bf9cf6f5c6@gmail.com/T/
[2]: https://www.qualcomm.com/products/technology/wi-fi/qca9379#Software
Felix Kaechele (4):
mmc: sdio: add Qualcomm QCA9379-3 SDIO id
wifi: ath10k: add support for QCA9379 hw1.0 SDIO
dt-bindings: net: bluetooth: qualcomm: add QCA9379 compatible
Bluetooth: hci_qca: add compatible for QCA9379
.../net/bluetooth/qualcomm-bluetooth.yaml | 2 +
drivers/bluetooth/hci_qca.c | 1 +
drivers/net/wireless/ath/ath10k/core.c | 37 +++++++++++++++++++
drivers/net/wireless/ath/ath10k/hw.h | 10 +++++
drivers/net/wireless/ath/ath10k/pci.c | 2 +
drivers/net/wireless/ath/ath10k/sdio.c | 5 ++-
drivers/net/wireless/ath/ath10k/targaddrs.h | 3 ++
include/linux/mmc/sdio_ids.h | 1 +
8 files changed, 60 insertions(+), 1 deletion(-)
base-commit: aefacd7c75edfaf6690819c1990b851f4c7b50cf
--
2.45.2
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/4] mmc: sdio: add Qualcomm QCA9379-3 SDIO id
2024-08-05 4:01 [PATCH 0/4] Add support for QCA9379 hw1.0 SDIO WiFi/BT Felix Kaechele
@ 2024-08-05 4:01 ` Felix Kaechele
2024-08-05 10:04 ` Ulf Hansson
2024-08-05 4:01 ` [PATCH 2/4] wifi: ath10k: add support for QCA9379 hw1.0 SDIO Felix Kaechele
` (2 subsequent siblings)
3 siblings, 1 reply; 10+ messages in thread
From: Felix Kaechele @ 2024-08-05 4:01 UTC (permalink / raw)
To: Marcel Holtmann, Luiz Augusto von Dentz, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Kalle Valo, Jeff Johnson,
Ulf Hansson, Balakrishna Godavarthi, Rocky Liao
Cc: linux-bluetooth, netdev, devicetree, linux-kernel, linux-wireless,
ath10k, linux-mmc
Adds the id for Qualcomm QCA9379-3 SDIO based cards such as
the LITEON WCBN3510A and Silex SX-SDMAC2.
Signed-off-by: Felix Kaechele <felix@kaechele.ca>
---
include/linux/mmc/sdio_ids.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/linux/mmc/sdio_ids.h b/include/linux/mmc/sdio_ids.h
index 7cddfdac2f57..63000a8f4b13 100644
--- a/include/linux/mmc/sdio_ids.h
+++ b/include/linux/mmc/sdio_ids.h
@@ -52,6 +52,7 @@
#define SDIO_DEVICE_ID_ATHEROS_AR6004_19 0x0419
#define SDIO_DEVICE_ID_ATHEROS_AR6005 0x050A
#define SDIO_DEVICE_ID_ATHEROS_QCA9377 0x0701
+#define SDIO_DEVICE_ID_ATHEROS_QCA9379 0x0801
#define SDIO_VENDOR_ID_BROADCOM 0x02d0
#define SDIO_DEVICE_ID_BROADCOM_NINTENDO_WII 0x044b
--
2.45.2
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/4] wifi: ath10k: add support for QCA9379 hw1.0 SDIO
2024-08-05 4:01 [PATCH 0/4] Add support for QCA9379 hw1.0 SDIO WiFi/BT Felix Kaechele
2024-08-05 4:01 ` [PATCH 1/4] mmc: sdio: add Qualcomm QCA9379-3 SDIO id Felix Kaechele
@ 2024-08-05 4:01 ` Felix Kaechele
2024-08-05 4:01 ` [PATCH 3/4] dt-bindings: net: bluetooth: qualcomm: add QCA9379 compatible Felix Kaechele
2024-08-05 4:01 ` [PATCH 4/4] Bluetooth: hci_qca: add compatible for QCA9379 Felix Kaechele
3 siblings, 0 replies; 10+ messages in thread
From: Felix Kaechele @ 2024-08-05 4:01 UTC (permalink / raw)
To: Marcel Holtmann, Luiz Augusto von Dentz, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Kalle Valo, Jeff Johnson,
Ulf Hansson, Balakrishna Godavarthi, Rocky Liao
Cc: linux-bluetooth, netdev, devicetree, linux-kernel, linux-wireless,
ath10k, linux-mmc
This adds support for the QCA9379-3 SDIO SoC. It is part of the
QCA6174 SDIO family.
While the device is generally working, there are some remaining issues:
- the card will perform a full reconnect upon expiry of the Group Key
renewal interval
- rx rates are not reported correctly (i.e. always show as 6.0 MBit/s)
More debugging would need to be done on these, preferably by people with
access to proper documentation.
This change was tested on a device that uses a LITEON WCBN3510A module.
The module was tested in WPA2 and WPA3 Personal scenarios using iperf3.
Performance was comparable to the same device using the vendor driver in
the same environment.
Tested-on: QCA9379 hw1.0 SDIO WLAN.NPL.1.6-00163-QCANPLSWPZ-1
Signed-off-by: Felix Kaechele <felix@kaechele.ca>
---
drivers/net/wireless/ath/ath10k/core.c | 37 +++++++++++++++++++++
drivers/net/wireless/ath/ath10k/hw.h | 10 ++++++
drivers/net/wireless/ath/ath10k/pci.c | 2 ++
drivers/net/wireless/ath/ath10k/sdio.c | 5 ++-
drivers/net/wireless/ath/ath10k/targaddrs.h | 3 ++
5 files changed, 56 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c
index b3294287bce1..32d5d4be8830 100644
--- a/drivers/net/wireless/ath/ath10k/core.c
+++ b/drivers/net/wireless/ath/ath10k/core.c
@@ -661,6 +661,42 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
.delay_unmap_buffer = false,
.mcast_frame_registration = false,
},
+ {
+ .id = QCA9379_HW_1_0_DEV_VERSION,
+ .dev_id = QCA9379_1_0_DEVICE_ID,
+ .bus = ATH10K_BUS_SDIO,
+ .name = "qca9379 hw1.0 sdio",
+ .patch_load_addr = QCA9379_HW_1_0_PATCH_LOAD_ADDR,
+ .uart_pin = 19,
+ .otp_exe_param = 0,
+ .channel_counters_freq_hz = 88000,
+ .max_probe_resp_desc_thres = 0,
+ .cal_data_len = 0,
+ .fw = {
+ .dir = QCA9379_HW_1_0_FW_DIR,
+ .board_size = QCA9379_BOARD_DATA_SZ,
+ .board_ext_size = QCA9379_BOARD_EXT_DATA_SZ,
+ },
+ .rx_desc_ops = &qca988x_rx_desc_ops,
+ .hw_ops = &qca6174_sdio_ops,
+ .hw_clk = qca6174_clk,
+ .target_cpu_freq = 176000000,
+ .decap_align_bytes = 4,
+ .n_cipher_suites = 8,
+ .num_peers = 10,
+ .ast_skid_limit = 0x10,
+ .num_wds_entries = 0x20,
+ .uart_pin_workaround = true,
+ .tx_stats_over_pktlog = false,
+ .credit_size_workaround = true,
+ .bmi_large_size_download = true,
+ .supports_peer_stats_info = false,
+ .dynamic_sar_support = false,
+ .hw_restart_disconnect = false,
+ .use_fw_tx_credits = true,
+ .delay_unmap_buffer = false,
+ .mcast_frame_registration = false,
+ },
{
.id = QCA4019_HW_1_0_DEV_VERSION,
.dev_id = 0,
@@ -3602,6 +3638,7 @@ struct ath10k *ath10k_core_create(size_t priv_size, struct device *dev,
break;
case ATH10K_HW_QCA6174:
case ATH10K_HW_QCA9377:
+ case ATH10K_HW_QCA9379:
ar->regs = &qca6174_regs;
ar->hw_ce_regs = &qcax_ce_regs;
ar->hw_values = &qca6174_values;
diff --git a/drivers/net/wireless/ath/ath10k/hw.h b/drivers/net/wireless/ath/ath10k/hw.h
index 442091c6dfd2..419fa1888e75 100644
--- a/drivers/net/wireless/ath/ath10k/hw.h
+++ b/drivers/net/wireless/ath/ath10k/hw.h
@@ -30,6 +30,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 QCA9379_1_0_DEVICE_ID (0x0042)
#define QCA9887_1_0_DEVICE_ID (0x0050)
/* QCA988X 1.0 definitions (unsupported) */
@@ -59,6 +60,9 @@ enum ath10k_bus {
#define QCA9377_HW_1_0_DEV_VERSION 0x05020000
#define QCA9377_HW_1_1_DEV_VERSION 0x05020001
+/* QCA9379 target BMI version signatures */
+#define QCA9379_HW_1_0_DEV_VERSION 0x05040000
+
enum qca6174_pci_rev {
QCA6174_PCI_REV_1_1 = 0x11,
QCA6174_PCI_REV_1_3 = 0x13,
@@ -115,6 +119,10 @@ enum qca9377_chip_id_rev {
#define QCA9377_HW_1_0_FW_DIR ATH10K_FW_DIR "/QCA9377/hw1.0"
#define QCA9377_HW_1_0_PATCH_LOAD_ADDR 0x1234
+/* QCA9379 1.0 definitions */
+#define QCA9379_HW_1_0_FW_DIR ATH10K_FW_DIR "/QCA9379/hw1.0"
+#define QCA9379_HW_1_0_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"
@@ -230,6 +238,7 @@ enum ath10k_hw_rev {
ATH10K_HW_QCA9888,
ATH10K_HW_QCA9984,
ATH10K_HW_QCA9377,
+ ATH10K_HW_QCA9379,
ATH10K_HW_QCA4019,
ATH10K_HW_QCA9887,
ATH10K_HW_WCN3990,
@@ -401,6 +410,7 @@ int ath10k_hw_diag_fast_download(struct ath10k *ar,
#define QCA_REV_9888(ar) ((ar)->hw_rev == ATH10K_HW_QCA9888)
#define QCA_REV_9984(ar) ((ar)->hw_rev == ATH10K_HW_QCA9984)
#define QCA_REV_9377(ar) ((ar)->hw_rev == ATH10K_HW_QCA9377)
+#define QCA_REV_9379(ar) ((ar)->hw_rev == ATH10K_HW_QCA9379)
#define QCA_REV_40XX(ar) ((ar)->hw_rev == ATH10K_HW_QCA4019)
#define QCA_REV_WCN3990(ar) ((ar)->hw_rev == ATH10K_HW_WCN3990)
diff --git a/drivers/net/wireless/ath/ath10k/pci.c b/drivers/net/wireless/ath/ath10k/pci.c
index c52a16f8078f..6fee3d52d808 100644
--- a/drivers/net/wireless/ath/ath10k/pci.c
+++ b/drivers/net/wireless/ath/ath10k/pci.c
@@ -1899,6 +1899,7 @@ void ath10k_pci_irq_msi_fw_mask(struct ath10k *ar)
* to mask irq/MSI.
*/
break;
+ case ATH10K_HW_QCA9379:
case ATH10K_HW_WCN3990:
break;
}
@@ -1927,6 +1928,7 @@ static void ath10k_pci_irq_msi_fw_unmask(struct ath10k *ar)
* to unmask irq/MSI.
*/
break;
+ case ATH10K_HW_QCA9379:
case ATH10K_HW_WCN3990:
break;
}
diff --git a/drivers/net/wireless/ath/ath10k/sdio.c b/drivers/net/wireless/ath/ath10k/sdio.c
index 08a6f36a6be9..24123d23ad5a 100644
--- a/drivers/net/wireless/ath/ath10k/sdio.c
+++ b/drivers/net/wireless/ath/ath10k/sdio.c
@@ -1105,6 +1105,7 @@ static void ath10k_sdio_set_mbox_info(struct ath10k *ar)
ATH10K_HIF_MBOX0_EXT_WIDTH_ROME_2_0;
break;
case (SDIO_DEVICE_ID_ATHEROS_QCA9377 & 0x0F00):
+ case (SDIO_DEVICE_ID_ATHEROS_QCA9379 & 0x0F00):
mbox_info->ext_info[0].htc_ext_sz =
ATH10K_HIF_MBOX0_EXT_WIDTH_ROME_2_0;
break;
@@ -2597,7 +2598,8 @@ static int ath10k_sdio_probe(struct sdio_func *func,
dev_id_base = (id->device & 0x0F00);
if (dev_id_base != (SDIO_DEVICE_ID_ATHEROS_AR6005 & 0x0F00) &&
- dev_id_base != (SDIO_DEVICE_ID_ATHEROS_QCA9377 & 0x0F00)) {
+ dev_id_base != (SDIO_DEVICE_ID_ATHEROS_QCA9377 & 0x0F00) &&
+ dev_id_base != (SDIO_DEVICE_ID_ATHEROS_QCA9379 & 0x0F00)) {
ret = -ENODEV;
ath10k_err(ar, "unsupported device id %u (0x%x)\n",
dev_id_base, id->device);
@@ -2656,6 +2658,7 @@ static void ath10k_sdio_remove(struct sdio_func *func)
static const struct sdio_device_id ath10k_sdio_devices[] = {
{SDIO_DEVICE(SDIO_VENDOR_ID_ATHEROS, SDIO_DEVICE_ID_ATHEROS_AR6005)},
{SDIO_DEVICE(SDIO_VENDOR_ID_ATHEROS, SDIO_DEVICE_ID_ATHEROS_QCA9377)},
+ {SDIO_DEVICE(SDIO_VENDOR_ID_ATHEROS, SDIO_DEVICE_ID_ATHEROS_QCA9379)},
{},
};
diff --git a/drivers/net/wireless/ath/ath10k/targaddrs.h b/drivers/net/wireless/ath/ath10k/targaddrs.h
index ba37e6c7ced0..1a0f71126683 100644
--- a/drivers/net/wireless/ath/ath10k/targaddrs.h
+++ b/drivers/net/wireless/ath/ath10k/targaddrs.h
@@ -481,6 +481,9 @@ struct host_interest {
#define QCA9377_BOARD_DATA_SZ QCA6174_BOARD_DATA_SZ
#define QCA9377_BOARD_EXT_DATA_SZ 0
+#define QCA9379_BOARD_DATA_SZ QCA6174_BOARD_DATA_SZ
+#define QCA9379_BOARD_EXT_DATA_SZ 0
+
#define QCA99X0_BOARD_DATA_SZ 12288
#define QCA99X0_BOARD_EXT_DATA_SZ 0
--
2.45.2
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 3/4] dt-bindings: net: bluetooth: qualcomm: add QCA9379 compatible
2024-08-05 4:01 [PATCH 0/4] Add support for QCA9379 hw1.0 SDIO WiFi/BT Felix Kaechele
2024-08-05 4:01 ` [PATCH 1/4] mmc: sdio: add Qualcomm QCA9379-3 SDIO id Felix Kaechele
2024-08-05 4:01 ` [PATCH 2/4] wifi: ath10k: add support for QCA9379 hw1.0 SDIO Felix Kaechele
@ 2024-08-05 4:01 ` Felix Kaechele
2024-08-05 5:31 ` Krzysztof Kozlowski
2024-08-05 4:01 ` [PATCH 4/4] Bluetooth: hci_qca: add compatible for QCA9379 Felix Kaechele
3 siblings, 1 reply; 10+ messages in thread
From: Felix Kaechele @ 2024-08-05 4:01 UTC (permalink / raw)
To: Marcel Holtmann, Luiz Augusto von Dentz, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Kalle Valo, Jeff Johnson,
Ulf Hansson, Balakrishna Godavarthi, Rocky Liao
Cc: linux-bluetooth, netdev, devicetree, linux-kernel, linux-wireless,
ath10k, linux-mmc
Document that the QCA9379, as a member of the QCA6174 family, is
supported by the existing driver.
Signed-off-by: Felix Kaechele <felix@kaechele.ca>
---
.../devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml b/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml
index 68c5ed111417..f968b0d236e0 100644
--- a/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml
+++ b/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml
@@ -19,6 +19,7 @@ properties:
- qcom,qca2066-bt
- qcom,qca6174-bt
- qcom,qca9377-bt
+ - qcom,qca9379-bt
- qcom,wcn3988-bt
- qcom,wcn3990-bt
- qcom,wcn3991-bt
@@ -125,6 +126,7 @@ allOf:
enum:
- qcom,qca2066-bt
- qcom,qca6174-bt
+ - qcom,qca9379-bt
then:
required:
- enable-gpios
--
2.45.2
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 4/4] Bluetooth: hci_qca: add compatible for QCA9379
2024-08-05 4:01 [PATCH 0/4] Add support for QCA9379 hw1.0 SDIO WiFi/BT Felix Kaechele
` (2 preceding siblings ...)
2024-08-05 4:01 ` [PATCH 3/4] dt-bindings: net: bluetooth: qualcomm: add QCA9379 compatible Felix Kaechele
@ 2024-08-05 4:01 ` Felix Kaechele
2024-08-05 5:31 ` Krzysztof Kozlowski
3 siblings, 1 reply; 10+ messages in thread
From: Felix Kaechele @ 2024-08-05 4:01 UTC (permalink / raw)
To: Marcel Holtmann, Luiz Augusto von Dentz, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Kalle Valo, Jeff Johnson,
Ulf Hansson, Balakrishna Godavarthi, Rocky Liao
Cc: linux-bluetooth, netdev, devicetree, linux-kernel, linux-wireless,
ath10k, linux-mmc
The QCA9379 (Naples) is a WiFi and Bluetooth SoC in the QCA6174 (Rome)
family. As such it is supported by this driver.
According to the naming format defined in the code, the driver will
request the following firmware files for a QCA9379-3:
- nvm_00150100.bin
- rampatch_00150100.bin
Signed-off-by: Felix Kaechele <felix@kaechele.ca>
---
drivers/bluetooth/hci_qca.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
index ca6466676902..06895bafd3b6 100644
--- a/drivers/bluetooth/hci_qca.c
+++ b/drivers/bluetooth/hci_qca.c
@@ -2690,6 +2690,7 @@ static const struct of_device_id qca_bluetooth_of_match[] = {
{ .compatible = "qcom,qca6174-bt" },
{ .compatible = "qcom,qca6390-bt", .data = &qca_soc_data_qca6390},
{ .compatible = "qcom,qca9377-bt" },
+ { .compatible = "qcom,qca9379-bt" },
{ .compatible = "qcom,wcn3988-bt", .data = &qca_soc_data_wcn3988},
{ .compatible = "qcom,wcn3990-bt", .data = &qca_soc_data_wcn3990},
{ .compatible = "qcom,wcn3991-bt", .data = &qca_soc_data_wcn3991},
--
2.45.2
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 3/4] dt-bindings: net: bluetooth: qualcomm: add QCA9379 compatible
2024-08-05 4:01 ` [PATCH 3/4] dt-bindings: net: bluetooth: qualcomm: add QCA9379 compatible Felix Kaechele
@ 2024-08-05 5:31 ` Krzysztof Kozlowski
2024-08-13 22:11 ` Felix Kaechele
0 siblings, 1 reply; 10+ messages in thread
From: Krzysztof Kozlowski @ 2024-08-05 5:31 UTC (permalink / raw)
To: Felix Kaechele, Marcel Holtmann, Luiz Augusto von Dentz,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Kalle Valo,
Jeff Johnson, Ulf Hansson, Balakrishna Godavarthi, Rocky Liao
Cc: linux-bluetooth, netdev, devicetree, linux-kernel, linux-wireless,
ath10k, linux-mmc
On 05/08/2024 06:01, Felix Kaechele wrote:
> Document that the QCA9379, as a member of the QCA6174 family, is
> supported by the existing driver.
>
> Signed-off-by: Felix Kaechele <felix@kaechele.ca>
> ---
> .../devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml b/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml
> index 68c5ed111417..f968b0d236e0 100644
> --- a/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml
> +++ b/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml
> @@ -19,6 +19,7 @@ properties:
> - qcom,qca2066-bt
> - qcom,qca6174-bt
> - qcom,qca9377-bt
> + - qcom,qca9379-bt
Then use fallback of 9377 or any other device. I still wonder why you do
not require any supplies.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 4/4] Bluetooth: hci_qca: add compatible for QCA9379
2024-08-05 4:01 ` [PATCH 4/4] Bluetooth: hci_qca: add compatible for QCA9379 Felix Kaechele
@ 2024-08-05 5:31 ` Krzysztof Kozlowski
0 siblings, 0 replies; 10+ messages in thread
From: Krzysztof Kozlowski @ 2024-08-05 5:31 UTC (permalink / raw)
To: Felix Kaechele, Marcel Holtmann, Luiz Augusto von Dentz,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Kalle Valo,
Jeff Johnson, Ulf Hansson, Balakrishna Godavarthi, Rocky Liao
Cc: linux-bluetooth, netdev, devicetree, linux-kernel, linux-wireless,
ath10k, linux-mmc
On 05/08/2024 06:01, Felix Kaechele wrote:
> The QCA9379 (Naples) is a WiFi and Bluetooth SoC in the QCA6174 (Rome)
> family. As such it is supported by this driver.
>
> According to the naming format defined in the code, the driver will
> request the following firmware files for a QCA9379-3:
> - nvm_00150100.bin
> - rampatch_00150100.bin
>
> Signed-off-by: Felix Kaechele <felix@kaechele.ca>
> ---
> drivers/bluetooth/hci_qca.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
> index ca6466676902..06895bafd3b6 100644
> --- a/drivers/bluetooth/hci_qca.c
> +++ b/drivers/bluetooth/hci_qca.c
> @@ -2690,6 +2690,7 @@ static const struct of_device_id qca_bluetooth_of_match[] = {
> { .compatible = "qcom,qca6174-bt" },
> { .compatible = "qcom,qca6390-bt", .data = &qca_soc_data_qca6390},
> { .compatible = "qcom,qca9377-bt" },
> + { .compatible = "qcom,qca9379-bt" },
Let's don't grow this that way. Use existing fallback.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/4] mmc: sdio: add Qualcomm QCA9379-3 SDIO id
2024-08-05 4:01 ` [PATCH 1/4] mmc: sdio: add Qualcomm QCA9379-3 SDIO id Felix Kaechele
@ 2024-08-05 10:04 ` Ulf Hansson
0 siblings, 0 replies; 10+ messages in thread
From: Ulf Hansson @ 2024-08-05 10:04 UTC (permalink / raw)
To: Felix Kaechele
Cc: Marcel Holtmann, Luiz Augusto von Dentz, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Kalle Valo, Jeff Johnson,
Balakrishna Godavarthi, Rocky Liao, linux-bluetooth, netdev,
devicetree, linux-kernel, linux-wireless, ath10k, linux-mmc
On Mon, 5 Aug 2024 at 06:01, Felix Kaechele <felix@kaechele.ca> wrote:
>
> Adds the id for Qualcomm QCA9379-3 SDIO based cards such as
> the LITEON WCBN3510A and Silex SX-SDMAC2.
>
> Signed-off-by: Felix Kaechele <felix@kaechele.ca>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Kind regards
Uffe
> ---
> include/linux/mmc/sdio_ids.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/include/linux/mmc/sdio_ids.h b/include/linux/mmc/sdio_ids.h
> index 7cddfdac2f57..63000a8f4b13 100644
> --- a/include/linux/mmc/sdio_ids.h
> +++ b/include/linux/mmc/sdio_ids.h
> @@ -52,6 +52,7 @@
> #define SDIO_DEVICE_ID_ATHEROS_AR6004_19 0x0419
> #define SDIO_DEVICE_ID_ATHEROS_AR6005 0x050A
> #define SDIO_DEVICE_ID_ATHEROS_QCA9377 0x0701
> +#define SDIO_DEVICE_ID_ATHEROS_QCA9379 0x0801
>
> #define SDIO_VENDOR_ID_BROADCOM 0x02d0
> #define SDIO_DEVICE_ID_BROADCOM_NINTENDO_WII 0x044b
> --
> 2.45.2
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 3/4] dt-bindings: net: bluetooth: qualcomm: add QCA9379 compatible
2024-08-05 5:31 ` Krzysztof Kozlowski
@ 2024-08-13 22:11 ` Felix Kaechele
2024-08-14 6:14 ` Krzysztof Kozlowski
0 siblings, 1 reply; 10+ messages in thread
From: Felix Kaechele @ 2024-08-13 22:11 UTC (permalink / raw)
To: Krzysztof Kozlowski, Marcel Holtmann, Luiz Augusto von Dentz,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Kalle Valo,
Jeff Johnson, Ulf Hansson, Balakrishna Godavarthi, Rocky Liao
Cc: linux-bluetooth, netdev, devicetree, linux-kernel, linux-wireless,
ath10k, linux-mmc
Thanks for taking a look, Krzysztof.
In this case I think it would be easiest to just use the existing
qca9377 fallback and drop his part of the patchset.
As for the supplies: For the particular module I am working with the
supplies are mostly shared with the WiFi side. So it "just works"
without taking care of supplies on the BT side.
But I agree it would be more correct to add and handle these as well.
The documentation I have access to through the FCC filing of this module
is not really conclusive of how to correctly name them in this context.
I would rather avoid submitting a patch with incorrect supply names.
Thanks again,
Felix
On 2024-08-05 01:31, Krzysztof Kozlowski wrote:
> On 05/08/2024 06:01, Felix Kaechele wrote:
>> Document that the QCA9379, as a member of the QCA6174 family, is
>> supported by the existing driver.
>>
>> Signed-off-by: Felix Kaechele <felix@kaechele.ca>
>> ---
>> .../devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml b/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml
>> index 68c5ed111417..f968b0d236e0 100644
>> --- a/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml
>> +++ b/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml
>> @@ -19,6 +19,7 @@ properties:
>> - qcom,qca2066-bt
>> - qcom,qca6174-bt
>> - qcom,qca9377-bt
>> + - qcom,qca9379-bt
>
> Then use fallback of 9377 or any other device. I still wonder why you do
> not require any supplies.
>
> Best regards,
> Krzysztof
>
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 3/4] dt-bindings: net: bluetooth: qualcomm: add QCA9379 compatible
2024-08-13 22:11 ` Felix Kaechele
@ 2024-08-14 6:14 ` Krzysztof Kozlowski
0 siblings, 0 replies; 10+ messages in thread
From: Krzysztof Kozlowski @ 2024-08-14 6:14 UTC (permalink / raw)
To: Felix Kaechele, Marcel Holtmann, Luiz Augusto von Dentz,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Kalle Valo,
Jeff Johnson, Ulf Hansson, Balakrishna Godavarthi, Rocky Liao
Cc: linux-bluetooth, netdev, devicetree, linux-kernel, linux-wireless,
ath10k, linux-mmc
On 14/08/2024 00:11, Felix Kaechele wrote:
> Thanks for taking a look, Krzysztof.
>
> In this case I think it would be easiest to just use the existing
> qca9377 fallback and drop his part of the patchset.
You need then other patchset documenting new compatible with fallback.
Compatibles are always specific.
https://elixir.bootlin.com/linux/v6.10-rc1/source/Documentation/devicetree/bindings/writing-bindings.rst
>
> As for the supplies: For the particular module I am working with the
> supplies are mostly shared with the WiFi side. So it "just works"
> without taking care of supplies on the BT side.
You still should describe the hardware.
>
> But I agree it would be more correct to add and handle these as well.
> The documentation I have access to through the FCC filing of this module
> is not really conclusive of how to correctly name them in this context.
> I would rather avoid submitting a patch with incorrect supply names.
OK
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2024-08-14 6:14 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-05 4:01 [PATCH 0/4] Add support for QCA9379 hw1.0 SDIO WiFi/BT Felix Kaechele
2024-08-05 4:01 ` [PATCH 1/4] mmc: sdio: add Qualcomm QCA9379-3 SDIO id Felix Kaechele
2024-08-05 10:04 ` Ulf Hansson
2024-08-05 4:01 ` [PATCH 2/4] wifi: ath10k: add support for QCA9379 hw1.0 SDIO Felix Kaechele
2024-08-05 4:01 ` [PATCH 3/4] dt-bindings: net: bluetooth: qualcomm: add QCA9379 compatible Felix Kaechele
2024-08-05 5:31 ` Krzysztof Kozlowski
2024-08-13 22:11 ` Felix Kaechele
2024-08-14 6:14 ` Krzysztof Kozlowski
2024-08-05 4:01 ` [PATCH 4/4] Bluetooth: hci_qca: add compatible for QCA9379 Felix Kaechele
2024-08-05 5:31 ` Krzysztof Kozlowski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).