* RE: bluetooth: qca: enable WCN7850 support
2023-06-20 15:19 [PATCH 1/4] dt-bindings: net: bluetooth: qualcomm: document WCN7850 chipset Neil Armstrong
@ 2023-06-20 15:37 ` bluez.test.bot
0 siblings, 0 replies; 13+ messages in thread
From: bluez.test.bot @ 2023-06-20 15:37 UTC (permalink / raw)
To: linux-bluetooth, neil.armstrong
[-- Attachment #1: Type: text/plain, Size: 579 bytes --]
This is an automated email and please do not reply to this email.
Dear Submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
While preparing the CI tests, the patches you submitted couldn't be applied to the current HEAD of the repository.
----- Output -----
error: patch failed: arch/arm64/boot/dts/qcom/sm8550-qrd.dts:22
error: arch/arm64/boot/dts/qcom/sm8550-qrd.dts: patch does not apply
hint: Use 'git am --show-current-patch' to see the failed patch
Please resolve the issue and submit the patches again.
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v2 0/5] bluetooth: qca: enable WCN7850 support
@ 2023-06-27 8:15 Neil Armstrong
2023-06-27 8:15 ` [PATCH v2 1/5] dt-bindings: net: bluetooth: qualcomm: document WCN7850 chipset Neil Armstrong
` (5 more replies)
0 siblings, 6 replies; 13+ messages in thread
From: Neil Armstrong @ 2023-06-27 8:15 UTC (permalink / raw)
To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Balakrishna Godavarthi, Rocky Liao, Marcel Holtmann,
Johan Hedberg, Luiz Augusto von Dentz, Andy Gross,
Bjorn Andersson, Konrad Dybcio
Cc: netdev, devicetree, linux-kernel, linux-bluetooth, linux-arm-msm,
Neil Armstrong, Rob Herring
This serie enables WCN7850 on the Qualcomm SM8550 QRD
reference platform.
The WCN7850 is close to the WCN6855 but uses different
firmware names.
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
---
Changes in v2:
- Convert if/else and qca_is_*() macros by switch/case to simplify adding now BT SoCs
- Add bindings reviewed-by
- Link to v1: https://lore.kernel.org/r/20230620-topic-sm8550-upstream-bt-v1-0-4728564f8872@linaro.org
---
Neil Armstrong (5):
dt-bindings: net: bluetooth: qualcomm: document WCN7850 chipset
bluetooth: qca: use switch case for soc type behavior
bluetooth: qca: add support for WCN7850
arm64: dts: qcom: sm8550: add UART14 nodes
arm64: dts: qcom: sm8550-qrd: add bluetooth support
.../bindings/net/bluetooth/qualcomm-bluetooth.yaml | 23 ++
arch/arm64/boot/dts/qcom/sm8550-qrd.dts | 43 ++++
arch/arm64/boot/dts/qcom/sm8550.dtsi | 30 +++
drivers/bluetooth/btqca.c | 82 +++++--
drivers/bluetooth/btqca.h | 30 +--
drivers/bluetooth/hci_qca.c | 250 ++++++++++++++++-----
6 files changed, 350 insertions(+), 108 deletions(-)
---
base-commit: d4cee89031c80066ec461bb77b5e13a4f37d5fd2
change-id: 20230620-topic-sm8550-upstream-bt-dfc4305f9c14
Best regards,
--
Neil Armstrong <neil.armstrong@linaro.org>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v2 1/5] dt-bindings: net: bluetooth: qualcomm: document WCN7850 chipset
2023-06-27 8:15 [PATCH v2 0/5] bluetooth: qca: enable WCN7850 support Neil Armstrong
@ 2023-06-27 8:15 ` Neil Armstrong
2023-06-27 8:42 ` bluetooth: qca: enable WCN7850 support bluez.test.bot
2023-07-06 21:01 ` bluez.test.bot
2023-06-27 8:15 ` [PATCH v2 2/5] bluetooth: qca: use switch case for soc type behavior Neil Armstrong
` (4 subsequent siblings)
5 siblings, 2 replies; 13+ messages in thread
From: Neil Armstrong @ 2023-06-27 8:15 UTC (permalink / raw)
To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Balakrishna Godavarthi, Rocky Liao, Marcel Holtmann,
Johan Hedberg, Luiz Augusto von Dentz, Andy Gross,
Bjorn Andersson, Konrad Dybcio
Cc: netdev, devicetree, linux-kernel, linux-bluetooth, linux-arm-msm,
Neil Armstrong, Rob Herring
Document the WCN7850 Bluetooth chipset.
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
---
.../bindings/net/bluetooth/qualcomm-bluetooth.yaml | 23 ++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml b/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml
index 68f78b90d23a..906a377d1616 100644
--- a/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml
+++ b/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml
@@ -24,6 +24,7 @@ properties:
- qcom,qca6390-bt
- qcom,wcn6750-bt
- qcom,wcn6855-bt
+ - qcom,wcn7850-bt
enable-gpios:
maxItems: 1
@@ -53,6 +54,9 @@ properties:
vddaon-supply:
description: VDD_AON supply regulator handle
+ vdddig-supply:
+ description: VDD_DIG supply regulator handle
+
vddbtcxmx-supply:
description: VDD_BT_CXMX supply regulator handle
@@ -68,6 +72,9 @@ properties:
vddrfa1p2-supply:
description: VDD_RFA_1P2 supply regulator handle
+ vddrfa1p9-supply:
+ description: VDD_RFA_1P9 supply regulator handle
+
vddrfa2p2-supply:
description: VDD_RFA_2P2 supply regulator handle
@@ -150,6 +157,22 @@ allOf:
- vddrfa0p8-supply
- vddrfa1p2-supply
- vddrfa1p7-supply
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,wcn7850-bt
+ then:
+ required:
+ - enable-gpios
+ - swctrl-gpios
+ - vddio-supply
+ - vddaon-supply
+ - vdddig-supply
+ - vddrfa0p8-supply
+ - vddrfa1p2-supply
+ - vddrfa1p9-supply
examples:
- |
--
2.34.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v2 2/5] bluetooth: qca: use switch case for soc type behavior
2023-06-27 8:15 [PATCH v2 0/5] bluetooth: qca: enable WCN7850 support Neil Armstrong
2023-06-27 8:15 ` [PATCH v2 1/5] dt-bindings: net: bluetooth: qualcomm: document WCN7850 chipset Neil Armstrong
@ 2023-06-27 8:15 ` Neil Armstrong
2023-06-27 8:15 ` [PATCH v2 3/5] bluetooth: qca: add support for WCN7850 Neil Armstrong
` (3 subsequent siblings)
5 siblings, 0 replies; 13+ messages in thread
From: Neil Armstrong @ 2023-06-27 8:15 UTC (permalink / raw)
To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Balakrishna Godavarthi, Rocky Liao, Marcel Holtmann,
Johan Hedberg, Luiz Augusto von Dentz, Andy Gross,
Bjorn Andersson, Konrad Dybcio
Cc: netdev, devicetree, linux-kernel, linux-bluetooth, linux-arm-msm,
Neil Armstrong
Use switch/case to handle soc type specific behaviour,
the permit dropping the qca_is_xxx() inline functions
and maked the code clearer and easier to update for new
SoCs.
Suggested-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Suggested-by: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
---
drivers/bluetooth/btqca.c | 72 ++++++++++-----
drivers/bluetooth/btqca.h | 29 ------
drivers/bluetooth/hci_qca.c | 219 +++++++++++++++++++++++++++++++++-----------
3 files changed, 213 insertions(+), 107 deletions(-)
diff --git a/drivers/bluetooth/btqca.c b/drivers/bluetooth/btqca.c
index e7e58a956d15..13820cebe5ba 100644
--- a/drivers/bluetooth/btqca.c
+++ b/drivers/bluetooth/btqca.c
@@ -601,23 +601,30 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
/* Download rampatch file */
config.type = TLV_TYPE_PATCH;
- if (qca_is_wcn399x(soc_type)) {
+ switch (soc_type) {
+ case QCA_WCN3990:
+ case QCA_WCN3991:
+ case QCA_WCN3998:
snprintf(config.fwname, sizeof(config.fwname),
"qca/crbtfw%02x.tlv", rom_ver);
- } else if (soc_type == QCA_QCA6390) {
+ break;
+ case QCA_QCA6390:
snprintf(config.fwname, sizeof(config.fwname),
"qca/htbtfw%02x.tlv", rom_ver);
- } else if (soc_type == QCA_WCN6750) {
+ break;
+ case QCA_WCN6750:
/* Choose mbn file by default.If mbn file is not found
* then choose tlv file
*/
config.type = ELF_TYPE_PATCH;
snprintf(config.fwname, sizeof(config.fwname),
"qca/msbtfw%02x.mbn", rom_ver);
- } else if (soc_type == QCA_WCN6855) {
+ break;
+ case QCA_WCN6855:
snprintf(config.fwname, sizeof(config.fwname),
"qca/hpbtfw%02x.tlv", rom_ver);
- } else {
+ break;
+ default:
snprintf(config.fwname, sizeof(config.fwname),
"qca/rampatch_%08x.bin", soc_ver);
}
@@ -633,30 +640,40 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
/* Download NVM configuration */
config.type = TLV_TYPE_NVM;
- if (firmware_name)
+ if (firmware_name) {
snprintf(config.fwname, sizeof(config.fwname),
"qca/%s", firmware_name);
- else if (qca_is_wcn399x(soc_type)) {
- if (le32_to_cpu(ver.soc_id) == QCA_WCN3991_SOC_ID) {
+ } else {
+ switch (soc_type) {
+ case QCA_WCN3990:
+ case QCA_WCN3991:
+ case QCA_WCN3998:
+ if (le32_to_cpu(ver.soc_id) == QCA_WCN3991_SOC_ID) {
+ snprintf(config.fwname, sizeof(config.fwname),
+ "qca/crnv%02xu.bin", rom_ver);
+ } else {
+ snprintf(config.fwname, sizeof(config.fwname),
+ "qca/crnv%02x.bin", rom_ver);
+ }
+ break;
+ case QCA_QCA6390:
snprintf(config.fwname, sizeof(config.fwname),
- "qca/crnv%02xu.bin", rom_ver);
- } else {
+ "qca/htnv%02x.bin", rom_ver);
+ break;
+ case QCA_WCN6750:
+ snprintf(config.fwname, sizeof(config.fwname),
+ "qca/msnv%02x.bin", rom_ver);
+ break;
+ case QCA_WCN6855:
snprintf(config.fwname, sizeof(config.fwname),
- "qca/crnv%02x.bin", rom_ver);
+ "qca/hpnv%02x.bin", rom_ver);
+ break;
+
+ default:
+ snprintf(config.fwname, sizeof(config.fwname),
+ "qca/nvm_%08x.bin", soc_ver);
}
}
- else if (soc_type == QCA_QCA6390)
- snprintf(config.fwname, sizeof(config.fwname),
- "qca/htnv%02x.bin", rom_ver);
- else if (soc_type == QCA_WCN6750)
- snprintf(config.fwname, sizeof(config.fwname),
- "qca/msnv%02x.bin", rom_ver);
- else if (soc_type == QCA_WCN6855)
- snprintf(config.fwname, sizeof(config.fwname),
- "qca/hpnv%02x.bin", rom_ver);
- else
- snprintf(config.fwname, sizeof(config.fwname),
- "qca/nvm_%08x.bin", soc_ver);
err = qca_download_firmware(hdev, &config, soc_type, rom_ver);
if (err < 0) {
@@ -664,10 +681,17 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
return err;
}
- if (soc_type >= QCA_WCN3991) {
+ switch (soc_type) {
+ case QCA_WCN3991:
+ case QCA_QCA6390:
+ case QCA_WCN6750:
+ case QCA_WCN6855:
err = qca_disable_soc_logging(hdev);
if (err < 0)
return err;
+ break;
+ default:
+ break;
}
/* WCN399x and WCN6750 supports the Microsoft vendor extension with 0xFD70 as the
diff --git a/drivers/bluetooth/btqca.h b/drivers/bluetooth/btqca.h
index b884095bcd9d..e7d50a821bb7 100644
--- a/drivers/bluetooth/btqca.h
+++ b/drivers/bluetooth/btqca.h
@@ -160,20 +160,6 @@ int qca_read_soc_version(struct hci_dev *hdev, struct qca_btsoc_version *ver,
enum qca_btsoc_type);
int qca_set_bdaddr(struct hci_dev *hdev, const bdaddr_t *bdaddr);
int qca_send_pre_shutdown_cmd(struct hci_dev *hdev);
-static inline bool qca_is_wcn399x(enum qca_btsoc_type soc_type)
-{
- return soc_type == QCA_WCN3990 || soc_type == QCA_WCN3991 ||
- soc_type == QCA_WCN3998;
-}
-static inline bool qca_is_wcn6750(enum qca_btsoc_type soc_type)
-{
- return soc_type == QCA_WCN6750;
-}
-static inline bool qca_is_wcn6855(enum qca_btsoc_type soc_type)
-{
- return soc_type == QCA_WCN6855;
-}
-
#else
static inline int qca_set_bdaddr_rome(struct hci_dev *hdev, const bdaddr_t *bdaddr)
@@ -201,21 +187,6 @@ static inline int qca_set_bdaddr(struct hci_dev *hdev, const bdaddr_t *bdaddr)
return -EOPNOTSUPP;
}
-static inline bool qca_is_wcn399x(enum qca_btsoc_type soc_type)
-{
- return false;
-}
-
-static inline bool qca_is_wcn6750(enum qca_btsoc_type soc_type)
-{
- return false;
-}
-
-static inline bool qca_is_wcn6855(enum qca_btsoc_type soc_type)
-{
- return false;
-}
-
static inline int qca_send_pre_shutdown_cmd(struct hci_dev *hdev)
{
return -EOPNOTSUPP;
diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
index 1b064504b388..25f1eeb605b6 100644
--- a/drivers/bluetooth/hci_qca.c
+++ b/drivers/bluetooth/hci_qca.c
@@ -605,9 +605,17 @@ static int qca_open(struct hci_uart *hu)
if (hu->serdev) {
qcadev = serdev_device_get_drvdata(hu->serdev);
- if (qca_is_wcn399x(qcadev->btsoc_type) ||
- qca_is_wcn6750(qcadev->btsoc_type))
+ switch (qcadev->btsoc_type) {
+ case QCA_WCN3990:
+ case QCA_WCN3991:
+ case QCA_WCN3998:
+ case QCA_WCN6750:
hu->init_speed = qcadev->init_speed;
+ break;
+
+ default:
+ break;
+ }
if (qcadev->oper_speed)
hu->oper_speed = qcadev->oper_speed;
@@ -1316,12 +1324,18 @@ static int qca_set_baudrate(struct hci_dev *hdev, uint8_t baudrate)
msecs_to_jiffies(CMD_TRANS_TIMEOUT_MS));
/* Give the controller time to process the request */
- if (qca_is_wcn399x(qca_soc_type(hu)) ||
- qca_is_wcn6750(qca_soc_type(hu)) ||
- qca_is_wcn6855(qca_soc_type(hu)))
+ switch (qca_soc_type(hu)) {
+ case QCA_WCN3990:
+ case QCA_WCN3991:
+ case QCA_WCN3998:
+ case QCA_WCN6750:
+ case QCA_WCN6855:
usleep_range(1000, 10000);
- else
+ break;
+
+ default:
msleep(300);
+ }
return 0;
}
@@ -1394,13 +1408,18 @@ static unsigned int qca_get_speed(struct hci_uart *hu,
static int qca_check_speeds(struct hci_uart *hu)
{
- if (qca_is_wcn399x(qca_soc_type(hu)) ||
- qca_is_wcn6750(qca_soc_type(hu)) ||
- qca_is_wcn6855(qca_soc_type(hu))) {
+ switch (qca_soc_type(hu)) {
+ case QCA_WCN3990:
+ case QCA_WCN3991:
+ case QCA_WCN3998:
+ case QCA_WCN6750:
+ case QCA_WCN6855:
if (!qca_get_speed(hu, QCA_INIT_SPEED) &&
!qca_get_speed(hu, QCA_OPER_SPEED))
return -EINVAL;
- } else {
+ break;
+
+ default:
if (!qca_get_speed(hu, QCA_INIT_SPEED) ||
!qca_get_speed(hu, QCA_OPER_SPEED))
return -EINVAL;
@@ -1429,14 +1448,27 @@ static int qca_set_speed(struct hci_uart *hu, enum qca_speed_type speed_type)
/* Disable flow control for wcn3990 to deassert RTS while
* changing the baudrate of chip and host.
*/
- if (qca_is_wcn399x(soc_type) ||
- qca_is_wcn6750(soc_type) ||
- qca_is_wcn6855(soc_type))
+ switch (soc_type) {
+ case QCA_WCN3990:
+ case QCA_WCN3991:
+ case QCA_WCN3998:
+ case QCA_WCN6750:
+ case QCA_WCN6855:
hci_uart_set_flow_control(hu, true);
+ break;
- if (soc_type == QCA_WCN3990) {
+ default:
+ break;
+ }
+
+ switch (soc_type) {
+ case QCA_WCN3990:
reinit_completion(&qca->drop_ev_comp);
set_bit(QCA_DROP_VENDOR_EVENT, &qca->flags);
+ break;
+
+ default:
+ break;
}
qca_baudrate = qca_get_baudrate_value(speed);
@@ -1448,12 +1480,21 @@ static int qca_set_speed(struct hci_uart *hu, enum qca_speed_type speed_type)
host_set_baudrate(hu, speed);
error:
- if (qca_is_wcn399x(soc_type) ||
- qca_is_wcn6750(soc_type) ||
- qca_is_wcn6855(soc_type))
+ switch (soc_type) {
+ case QCA_WCN3990:
+ case QCA_WCN3991:
+ case QCA_WCN3998:
+ case QCA_WCN6750:
+ case QCA_WCN6855:
hci_uart_set_flow_control(hu, false);
+ break;
- if (soc_type == QCA_WCN3990) {
+ default:
+ break;
+ }
+
+ switch (soc_type) {
+ case QCA_WCN3990:
/* Wait for the controller to send the vendor event
* for the baudrate change command.
*/
@@ -1465,6 +1506,10 @@ static int qca_set_speed(struct hci_uart *hu, enum qca_speed_type speed_type)
}
clear_bit(QCA_DROP_VENDOR_EVENT, &qca->flags);
+ break;
+
+ default:
+ break;
}
}
@@ -1626,12 +1671,19 @@ static int qca_regulator_init(struct hci_uart *hu)
}
}
- if (qca_is_wcn399x(soc_type)) {
+ switch (soc_type) {
+ case QCA_WCN3990:
+ case QCA_WCN3991:
+ case QCA_WCN3998:
/* Forcefully enable wcn399x to enter in to boot mode. */
host_set_baudrate(hu, 2400);
ret = qca_send_power_pulse(hu, false);
if (ret)
return ret;
+ break;
+
+ default:
+ break;
}
/* For wcn6750 need to enable gpio bt_en */
@@ -1648,10 +1700,17 @@ static int qca_regulator_init(struct hci_uart *hu)
qca_set_speed(hu, QCA_INIT_SPEED);
- if (qca_is_wcn399x(soc_type)) {
+ switch (soc_type) {
+ case QCA_WCN3990:
+ case QCA_WCN3991:
+ case QCA_WCN3998:
ret = qca_send_power_pulse(hu, true);
if (ret)
return ret;
+ break;
+
+ default:
+ break;
}
/* Now the device is in ready state to communicate with host.
@@ -1685,11 +1744,16 @@ static int qca_power_on(struct hci_dev *hdev)
if (!hu->serdev)
return 0;
- if (qca_is_wcn399x(soc_type) ||
- qca_is_wcn6750(soc_type) ||
- qca_is_wcn6855(soc_type)) {
+ switch (soc_type) {
+ case QCA_WCN3990:
+ case QCA_WCN3991:
+ case QCA_WCN3998:
+ case QCA_WCN6750:
+ case QCA_WCN6855:
ret = qca_regulator_init(hu);
- } else {
+ break;
+
+ default:
qcadev = serdev_device_get_drvdata(hu->serdev);
if (qcadev->bt_en) {
gpiod_set_value_cansleep(qcadev->bt_en, 1);
@@ -1712,6 +1776,7 @@ static int qca_setup(struct hci_uart *hu)
const char *firmware_name = qca_get_firmware_name(hu);
int ret;
struct qca_btsoc_version ver;
+ const char *soc_name;
ret = qca_check_speeds(hu);
if (ret)
@@ -1726,10 +1791,25 @@ static int qca_setup(struct hci_uart *hu)
*/
set_bit(HCI_QUIRK_SIMULTANEOUS_DISCOVERY, &hdev->quirks);
- bt_dev_info(hdev, "setting up %s",
- qca_is_wcn399x(soc_type) ? "wcn399x" :
- (soc_type == QCA_WCN6750) ? "wcn6750" :
- (soc_type == QCA_WCN6855) ? "wcn6855" : "ROME/QCA6390");
+ switch (soc_type) {
+ case QCA_WCN3990:
+ case QCA_WCN3991:
+ case QCA_WCN3998:
+ soc_name = "wcn399x";
+ break;
+
+ case QCA_WCN6750:
+ soc_name = "wcn6750";
+ break;
+
+ case QCA_WCN6855:
+ soc_name = "wcn6855";
+ break;
+
+ default:
+ soc_name = "ROME/QCA6390";
+ }
+ bt_dev_info(hdev, "setting up %s", soc_name);
qca->memdump_state = QCA_MEMDUMP_IDLE;
@@ -1740,16 +1820,21 @@ static int qca_setup(struct hci_uart *hu)
clear_bit(QCA_SSR_TRIGGERED, &qca->flags);
- if (qca_is_wcn399x(soc_type) ||
- qca_is_wcn6750(soc_type) ||
- qca_is_wcn6855(soc_type)) {
+ switch (soc_type) {
+ case QCA_WCN3990:
+ case QCA_WCN3991:
+ case QCA_WCN3998:
+ case QCA_WCN6750:
+ case QCA_WCN6855:
set_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks);
hci_set_aosp_capable(hdev);
ret = qca_read_soc_version(hdev, &ver, soc_type);
if (ret)
goto out;
- } else {
+ break;
+
+ default:
qca_set_speed(hu, QCA_INIT_SPEED);
}
@@ -1763,9 +1848,15 @@ static int qca_setup(struct hci_uart *hu)
qca_baudrate = qca_get_baudrate_value(speed);
}
- if (!(qca_is_wcn399x(soc_type) ||
- qca_is_wcn6750(soc_type) ||
- qca_is_wcn6855(soc_type))) {
+ switch (soc_type) {
+ case QCA_WCN3990:
+ case QCA_WCN3991:
+ case QCA_WCN3998:
+ case QCA_WCN6750:
+ case QCA_WCN6855:
+ break;
+
+ default:
/* Get QCA version information */
ret = qca_read_soc_version(hdev, &ver, soc_type);
if (ret)
@@ -1930,11 +2021,17 @@ static void qca_power_shutdown(struct hci_uart *hu)
qcadev = serdev_device_get_drvdata(hu->serdev);
- if (qca_is_wcn399x(soc_type)) {
+ switch (soc_type) {
+ case QCA_WCN3990:
+ case QCA_WCN3991:
+ case QCA_WCN3998:
host_set_baudrate(hu, 2400);
qca_send_power_pulse(hu, false);
qca_regulator_disable(qcadev);
- } else if (soc_type == QCA_WCN6750 || soc_type == QCA_WCN6855) {
+ break;
+
+ case QCA_WCN6750:
+ case QCA_WCN6855:
gpiod_set_value_cansleep(qcadev->bt_en, 0);
msleep(100);
qca_regulator_disable(qcadev);
@@ -1942,7 +2039,9 @@ static void qca_power_shutdown(struct hci_uart *hu)
sw_ctrl_state = gpiod_get_value_cansleep(qcadev->sw_ctrl);
bt_dev_dbg(hu->hdev, "SW_CTRL is %d", sw_ctrl_state);
}
- } else if (qcadev->bt_en) {
+ break;
+
+ default:
gpiod_set_value_cansleep(qcadev->bt_en, 0);
}
@@ -2067,11 +2166,17 @@ static int qca_serdev_probe(struct serdev_device *serdev)
if (!qcadev->oper_speed)
BT_DBG("UART will pick default operating speed");
- if (data &&
- (qca_is_wcn399x(data->soc_type) ||
- qca_is_wcn6750(data->soc_type) ||
- qca_is_wcn6855(data->soc_type))) {
+ if (data)
qcadev->btsoc_type = data->soc_type;
+ else
+ qcadev->btsoc_type = QCA_ROME;
+
+ switch (qcadev->btsoc_type) {
+ case QCA_WCN3990:
+ case QCA_WCN3991:
+ case QCA_WCN3998:
+ case QCA_WCN6750:
+ case QCA_WCN6855:
qcadev->bt_power = devm_kzalloc(&serdev->dev,
sizeof(struct qca_power),
GFP_KERNEL);
@@ -2115,12 +2220,9 @@ static int qca_serdev_probe(struct serdev_device *serdev)
BT_ERR("wcn3990 serdev registration failed");
return err;
}
- } else {
- if (data)
- qcadev->btsoc_type = data->soc_type;
- else
- qcadev->btsoc_type = QCA_ROME;
+ break;
+ default:
qcadev->bt_en = devm_gpiod_get_optional(&serdev->dev, "enable",
GPIOD_OUT_LOW);
if (IS_ERR_OR_NULL(qcadev->bt_en)) {
@@ -2176,13 +2278,22 @@ static void qca_serdev_remove(struct serdev_device *serdev)
struct qca_serdev *qcadev = serdev_device_get_drvdata(serdev);
struct qca_power *power = qcadev->bt_power;
- if ((qca_is_wcn399x(qcadev->btsoc_type) ||
- qca_is_wcn6750(qcadev->btsoc_type) ||
- qca_is_wcn6855(qcadev->btsoc_type)) &&
- power->vregs_on)
- qca_power_shutdown(&qcadev->serdev_hu);
- else if (qcadev->susclk)
- clk_disable_unprepare(qcadev->susclk);
+ switch (qcadev->btsoc_type) {
+ case QCA_WCN3990:
+ case QCA_WCN3991:
+ case QCA_WCN3998:
+ case QCA_WCN6750:
+ case QCA_WCN6855:
+ if (power->vregs_on) {
+ qca_power_shutdown(&qcadev->serdev_hu);
+ break;
+ }
+ fallthrough;
+
+ default:
+ if (qcadev->susclk)
+ clk_disable_unprepare(qcadev->susclk);
+ }
hci_uart_unregister_device(&qcadev->serdev_hu);
}
--
2.34.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v2 3/5] bluetooth: qca: add support for WCN7850
2023-06-27 8:15 [PATCH v2 0/5] bluetooth: qca: enable WCN7850 support Neil Armstrong
2023-06-27 8:15 ` [PATCH v2 1/5] dt-bindings: net: bluetooth: qualcomm: document WCN7850 chipset Neil Armstrong
2023-06-27 8:15 ` [PATCH v2 2/5] bluetooth: qca: use switch case for soc type behavior Neil Armstrong
@ 2023-06-27 8:15 ` Neil Armstrong
2023-06-27 8:15 ` [PATCH v2 4/5] arm64: dts: qcom: sm8550: add UART14 nodes Neil Armstrong
` (2 subsequent siblings)
5 siblings, 0 replies; 13+ messages in thread
From: Neil Armstrong @ 2023-06-27 8:15 UTC (permalink / raw)
To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Balakrishna Godavarthi, Rocky Liao, Marcel Holtmann,
Johan Hedberg, Luiz Augusto von Dentz, Andy Gross,
Bjorn Andersson, Konrad Dybcio
Cc: netdev, devicetree, linux-kernel, linux-bluetooth, linux-arm-msm,
Neil Armstrong
Add support for the WCN7850 Bluetooth chipset.
Tested on the SM8550 QRD platform.
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
---
drivers/bluetooth/btqca.c | 10 ++++++++++
drivers/bluetooth/btqca.h | 1 +
drivers/bluetooth/hci_qca.c | 31 ++++++++++++++++++++++++++++++-
3 files changed, 41 insertions(+), 1 deletion(-)
diff --git a/drivers/bluetooth/btqca.c b/drivers/bluetooth/btqca.c
index 13820cebe5ba..982ce94d7350 100644
--- a/drivers/bluetooth/btqca.c
+++ b/drivers/bluetooth/btqca.c
@@ -624,6 +624,10 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
snprintf(config.fwname, sizeof(config.fwname),
"qca/hpbtfw%02x.tlv", rom_ver);
break;
+ case QCA_WCN7850:
+ snprintf(config.fwname, sizeof(config.fwname),
+ "qca/hmtbtfw%02x.tlv", rom_ver);
+ break;
default:
snprintf(config.fwname, sizeof(config.fwname),
"qca/rampatch_%08x.bin", soc_ver);
@@ -668,6 +672,10 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
snprintf(config.fwname, sizeof(config.fwname),
"qca/hpnv%02x.bin", rom_ver);
break;
+ case QCA_WCN7850:
+ snprintf(config.fwname, sizeof(config.fwname),
+ "qca/hmtnv%02x.bin", rom_ver);
+ break;
default:
snprintf(config.fwname, sizeof(config.fwname),
@@ -686,6 +694,7 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
case QCA_QCA6390:
case QCA_WCN6750:
case QCA_WCN6855:
+ case QCA_WCN7850:
err = qca_disable_soc_logging(hdev);
if (err < 0)
return err;
@@ -719,6 +728,7 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
case QCA_WCN3991:
case QCA_WCN6750:
case QCA_WCN6855:
+ case QCA_WCN7850:
/* get fw build info */
err = qca_read_fw_build_info(hdev);
if (err < 0)
diff --git a/drivers/bluetooth/btqca.h b/drivers/bluetooth/btqca.h
index e7d50a821bb7..34f507bcbfca 100644
--- a/drivers/bluetooth/btqca.h
+++ b/drivers/bluetooth/btqca.h
@@ -148,6 +148,7 @@ enum qca_btsoc_type {
QCA_QCA6390,
QCA_WCN6750,
QCA_WCN6855,
+ QCA_WCN7850,
};
#if IS_ENABLED(CONFIG_BT_QCA)
diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
index 25f1eeb605b6..792ddf692bc4 100644
--- a/drivers/bluetooth/hci_qca.c
+++ b/drivers/bluetooth/hci_qca.c
@@ -1330,6 +1330,7 @@ static int qca_set_baudrate(struct hci_dev *hdev, uint8_t baudrate)
case QCA_WCN3998:
case QCA_WCN6750:
case QCA_WCN6855:
+ case QCA_WCN7850:
usleep_range(1000, 10000);
break;
@@ -1414,6 +1415,7 @@ static int qca_check_speeds(struct hci_uart *hu)
case QCA_WCN3998:
case QCA_WCN6750:
case QCA_WCN6855:
+ case QCA_WCN7850:
if (!qca_get_speed(hu, QCA_INIT_SPEED) &&
!qca_get_speed(hu, QCA_OPER_SPEED))
return -EINVAL;
@@ -1454,6 +1456,7 @@ static int qca_set_speed(struct hci_uart *hu, enum qca_speed_type speed_type)
case QCA_WCN3998:
case QCA_WCN6750:
case QCA_WCN6855:
+ case QCA_WCN7850:
hci_uart_set_flow_control(hu, true);
break;
@@ -1486,6 +1489,7 @@ static int qca_set_speed(struct hci_uart *hu, enum qca_speed_type speed_type)
case QCA_WCN3998:
case QCA_WCN6750:
case QCA_WCN6855:
+ case QCA_WCN7850:
hci_uart_set_flow_control(hu, false);
break;
@@ -1750,6 +1754,7 @@ static int qca_power_on(struct hci_dev *hdev)
case QCA_WCN3998:
case QCA_WCN6750:
case QCA_WCN6855:
+ case QCA_WCN7850:
ret = qca_regulator_init(hu);
break;
@@ -1806,6 +1811,10 @@ static int qca_setup(struct hci_uart *hu)
soc_name = "wcn6855";
break;
+ case QCA_WCN7850:
+ soc_name = "wcn7850";
+ break;
+
default:
soc_name = "ROME/QCA6390";
}
@@ -1826,6 +1835,7 @@ static int qca_setup(struct hci_uart *hu)
case QCA_WCN3998:
case QCA_WCN6750:
case QCA_WCN6855:
+ case QCA_WCN7850:
set_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks);
hci_set_aosp_capable(hdev);
@@ -1854,6 +1864,7 @@ static int qca_setup(struct hci_uart *hu)
case QCA_WCN3998:
case QCA_WCN6750:
case QCA_WCN6855:
+ case QCA_WCN7850:
break;
default:
@@ -1996,6 +2007,20 @@ static const struct qca_device_data qca_soc_data_wcn6855 __maybe_unused = {
.capabilities = QCA_CAP_WIDEBAND_SPEECH | QCA_CAP_VALID_LE_STATES,
};
+static const struct qca_device_data qca_soc_data_wcn7850 __maybe_unused = {
+ .soc_type = QCA_WCN7850,
+ .vregs = (struct qca_vreg []) {
+ { "vddio", 5000 },
+ { "vddaon", 26000 },
+ { "vdddig", 126000 },
+ { "vddrfa0p8", 102000 },
+ { "vddrfa1p2", 257000 },
+ { "vddrfa1p9", 302000 },
+ },
+ .num_vregs = 6,
+ .capabilities = QCA_CAP_WIDEBAND_SPEECH | QCA_CAP_VALID_LE_STATES,
+};
+
static void qca_power_shutdown(struct hci_uart *hu)
{
struct qca_serdev *qcadev;
@@ -2177,6 +2202,7 @@ static int qca_serdev_probe(struct serdev_device *serdev)
case QCA_WCN3998:
case QCA_WCN6750:
case QCA_WCN6855:
+ case QCA_WCN7850:
qcadev->bt_power = devm_kzalloc(&serdev->dev,
sizeof(struct qca_power),
GFP_KERNEL);
@@ -2206,7 +2232,8 @@ static int qca_serdev_probe(struct serdev_device *serdev)
GPIOD_IN);
if (IS_ERR_OR_NULL(qcadev->sw_ctrl) &&
(data->soc_type == QCA_WCN6750 ||
- data->soc_type == QCA_WCN6855))
+ data->soc_type == QCA_WCN6855 ||
+ data->soc_type == QCA_WCN7850))
dev_warn(&serdev->dev, "failed to acquire SW_CTRL gpio\n");
qcadev->susclk = devm_clk_get_optional(&serdev->dev, NULL);
@@ -2284,6 +2311,7 @@ static void qca_serdev_remove(struct serdev_device *serdev)
case QCA_WCN3998:
case QCA_WCN6750:
case QCA_WCN6855:
+ case QCA_WCN7850:
if (power->vregs_on) {
qca_power_shutdown(&qcadev->serdev_hu);
break;
@@ -2475,6 +2503,7 @@ static const struct of_device_id qca_bluetooth_of_match[] = {
{ .compatible = "qcom,wcn3998-bt", .data = &qca_soc_data_wcn3998},
{ .compatible = "qcom,wcn6750-bt", .data = &qca_soc_data_wcn6750},
{ .compatible = "qcom,wcn6855-bt", .data = &qca_soc_data_wcn6855},
+ { .compatible = "qcom,wcn7850-bt", .data = &qca_soc_data_wcn7850},
{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(of, qca_bluetooth_of_match);
--
2.34.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v2 4/5] arm64: dts: qcom: sm8550: add UART14 nodes
2023-06-27 8:15 [PATCH v2 0/5] bluetooth: qca: enable WCN7850 support Neil Armstrong
` (2 preceding siblings ...)
2023-06-27 8:15 ` [PATCH v2 3/5] bluetooth: qca: add support for WCN7850 Neil Armstrong
@ 2023-06-27 8:15 ` Neil Armstrong
2023-06-27 8:18 ` Krzysztof Kozlowski
2023-06-27 8:15 ` [PATCH v2 5/5] arm64: dts: qcom: sm8550-qrd: add bluetooth support Neil Armstrong
2023-07-31 9:18 ` [PATCH v2 0/5] bluetooth: qca: enable WCN7850 support Neil Armstrong
5 siblings, 1 reply; 13+ messages in thread
From: Neil Armstrong @ 2023-06-27 8:15 UTC (permalink / raw)
To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Balakrishna Godavarthi, Rocky Liao, Marcel Holtmann,
Johan Hedberg, Luiz Augusto von Dentz, Andy Gross,
Bjorn Andersson, Konrad Dybcio
Cc: netdev, devicetree, linux-kernel, linux-bluetooth, linux-arm-msm,
Neil Armstrong
Add the Geni High Speed UART QUP instance 2 element 6
node and associated default pinctrl.
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
---
arch/arm64/boot/dts/qcom/sm8550.dtsi | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm8550.dtsi b/arch/arm64/boot/dts/qcom/sm8550.dtsi
index 75cd374943eb..252e3863322c 100644
--- a/arch/arm64/boot/dts/qcom/sm8550.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8550.dtsi
@@ -1053,6 +1053,20 @@ spi13: spi@894000 {
status = "disabled";
};
+ uart14: uart@898000 {
+ compatible = "qcom,geni-uart";
+ reg = <0 0x898000 0 0x4000>;
+ clock-names = "se";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S6_CLK>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&qup_uart14_default>, <&qup_uart14_cts_rts>;
+ interrupts = <GIC_SPI 461 IRQ_TYPE_LEVEL_HIGH>;
+ interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
+ <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_2 0>;
+ interconnect-names = "qup-core", "qup-config";
+ status = "disabled";
+ };
+
i2c15: i2c@89c000 {
compatible = "qcom,geni-i2c";
reg = <0 0x0089c000 0 0x4000>;
@@ -3382,6 +3396,22 @@ qup_uart7_default: qup-uart7-default-state {
bias-disable;
};
+ qup_uart14_default: qup-uart14-default-state {
+ /* TX, RX */
+ pins = "gpio78", "gpio79";
+ function = "qup2_se6";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ qup_uart14_cts_rts: qup-uart14-cts-rts-state {
+ /* CTS, RTS */
+ pins = "gpio76", "gpio77";
+ function = "qup2_se6";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+
sdc2_sleep: sdc2-sleep-state {
clk-pins {
pins = "sdc2_clk";
--
2.34.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v2 5/5] arm64: dts: qcom: sm8550-qrd: add bluetooth support
2023-06-27 8:15 [PATCH v2 0/5] bluetooth: qca: enable WCN7850 support Neil Armstrong
` (3 preceding siblings ...)
2023-06-27 8:15 ` [PATCH v2 4/5] arm64: dts: qcom: sm8550: add UART14 nodes Neil Armstrong
@ 2023-06-27 8:15 ` Neil Armstrong
2023-07-31 9:18 ` [PATCH v2 0/5] bluetooth: qca: enable WCN7850 support Neil Armstrong
5 siblings, 0 replies; 13+ messages in thread
From: Neil Armstrong @ 2023-06-27 8:15 UTC (permalink / raw)
To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Balakrishna Godavarthi, Rocky Liao, Marcel Holtmann,
Johan Hedberg, Luiz Augusto von Dentz, Andy Gross,
Bjorn Andersson, Konrad Dybcio
Cc: netdev, devicetree, linux-kernel, linux-bluetooth, linux-arm-msm,
Neil Armstrong
Enable the WCN7850 bluetooth over the UART14 link.
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
---
arch/arm64/boot/dts/qcom/sm8550-qrd.dts | 43 +++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm8550-qrd.dts b/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
index 8669d29144bb..8f4b07475ca9 100644
--- a/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
+++ b/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
@@ -22,6 +22,7 @@ / {
aliases {
serial0 = &uart7;
+ serial1 = &uart14;
};
wcd938x: audio-codec {
@@ -529,6 +530,10 @@ &qupv3_id_0 {
status = "okay";
};
+&qupv3_id_1 {
+ status = "okay";
+};
+
&remoteproc_adsp {
firmware-name = "qcom/sm8550/adsp.mbn",
"qcom/sm8550/adsp_dtb.mbn";
@@ -576,6 +581,21 @@ wcd_tx: codec@0,3 {
&tlmm {
gpio-reserved-ranges = <32 8>;
+ bt_default: bt-default-state {
+ bt-en-pins {
+ pins = "gpio81";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ };
+
+ sw-ctrl-pins {
+ pins = "gpio82";
+ function = "gpio";
+ bias-pull-down;
+ };
+ };
+
sde_dsi_active: sde-dsi-active-state {
pins = "gpio133";
function = "gpio";
@@ -617,6 +637,29 @@ &uart7 {
status = "okay";
};
+&uart14 {
+ status = "okay";
+
+ bluetooth {
+ compatible = "qcom,wcn7850-bt";
+
+ vddio-supply = <&vreg_l15b_1p8>;
+ vddaon-supply = <&vreg_s4e_0p95>;
+ vdddig-supply = <&vreg_s4e_0p95>;
+ vddrfa0p8-supply = <&vreg_s4e_0p95>;
+ vddrfa1p2-supply = <&vreg_s4g_1p25>;
+ vddrfa1p9-supply = <&vreg_s6g_1p86>;
+
+ max-speed = <3200000>;
+
+ enable-gpios = <&tlmm 81 GPIO_ACTIVE_HIGH>;
+ swctrl-gpios = <&tlmm 82 GPIO_ACTIVE_HIGH>;
+
+ pinctrl-0 = <&bt_default>;
+ pinctrl-names = "default";
+ };
+};
+
&ufs_mem_hc {
reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>;
vcc-supply = <&vreg_l17b_2p5>;
--
2.34.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v2 4/5] arm64: dts: qcom: sm8550: add UART14 nodes
2023-06-27 8:15 ` [PATCH v2 4/5] arm64: dts: qcom: sm8550: add UART14 nodes Neil Armstrong
@ 2023-06-27 8:18 ` Krzysztof Kozlowski
0 siblings, 0 replies; 13+ messages in thread
From: Krzysztof Kozlowski @ 2023-06-27 8:18 UTC (permalink / raw)
To: Neil Armstrong, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Balakrishna Godavarthi, Rocky Liao, Marcel Holtmann,
Johan Hedberg, Luiz Augusto von Dentz, Andy Gross,
Bjorn Andersson, Konrad Dybcio
Cc: netdev, devicetree, linux-kernel, linux-bluetooth, linux-arm-msm
On 27/06/2023 10:15, Neil Armstrong wrote:
> Add the Geni High Speed UART QUP instance 2 element 6
> node and associated default pinctrl.
>
> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
> ---
> arch/arm64/boot/dts/qcom/sm8550.dtsi | 30 ++++++++++++++++++++++++++++++
> 1 file changed, 30 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8550.dtsi b/arch/arm64/boot/dts/qcom/sm8550.dtsi
> index 75cd374943eb..252e3863322c 100644
> --- a/arch/arm64/boot/dts/qcom/sm8550.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8550.dtsi
> @@ -1053,6 +1053,20 @@ spi13: spi@894000 {
> status = "disabled";
> };
>
> + uart14: uart@898000 {
The node name should be "serial" (dtbs_check will complain)
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 13+ messages in thread
* RE: bluetooth: qca: enable WCN7850 support
2023-06-27 8:15 ` [PATCH v2 1/5] dt-bindings: net: bluetooth: qualcomm: document WCN7850 chipset Neil Armstrong
@ 2023-06-27 8:42 ` bluez.test.bot
2023-07-06 21:01 ` bluez.test.bot
1 sibling, 0 replies; 13+ messages in thread
From: bluez.test.bot @ 2023-06-27 8:42 UTC (permalink / raw)
To: linux-bluetooth, neil.armstrong
[-- Attachment #1: Type: text/plain, Size: 579 bytes --]
This is an automated email and please do not reply to this email.
Dear Submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
While preparing the CI tests, the patches you submitted couldn't be applied to the current HEAD of the repository.
----- Output -----
error: patch failed: arch/arm64/boot/dts/qcom/sm8550-qrd.dts:22
error: arch/arm64/boot/dts/qcom/sm8550-qrd.dts: patch does not apply
hint: Use 'git am --show-current-patch' to see the failed patch
Please resolve the issue and submit the patches again.
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 13+ messages in thread
* RE: bluetooth: qca: enable WCN7850 support
2023-06-27 8:15 ` [PATCH v2 1/5] dt-bindings: net: bluetooth: qualcomm: document WCN7850 chipset Neil Armstrong
2023-06-27 8:42 ` bluetooth: qca: enable WCN7850 support bluez.test.bot
@ 2023-07-06 21:01 ` bluez.test.bot
1 sibling, 0 replies; 13+ messages in thread
From: bluez.test.bot @ 2023-07-06 21:01 UTC (permalink / raw)
To: linux-bluetooth, neil.armstrong
[-- Attachment #1: Type: text/plain, Size: 2758 bytes --]
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=760534
---Test result---
Test Summary:
CheckPatch FAIL 4.44 seconds
GitLint PASS 1.67 seconds
SubjectPrefix FAIL 0.88 seconds
BuildKernel PASS 34.19 seconds
CheckAllWarning PASS 37.46 seconds
CheckSparse PASS 42.81 seconds
CheckSmatch PASS 114.67 seconds
BuildKernel32 PASS 32.91 seconds
TestRunnerSetup PASS 497.93 seconds
TestRunner_l2cap-tester PASS 24.12 seconds
TestRunner_iso-tester PASS 42.81 seconds
TestRunner_bnep-tester PASS 10.71 seconds
TestRunner_mgmt-tester PASS 221.34 seconds
TestRunner_rfcomm-tester PASS 16.28 seconds
TestRunner_sco-tester PASS 17.04 seconds
TestRunner_ioctl-tester PASS 18.19 seconds
TestRunner_mesh-tester PASS 13.65 seconds
TestRunner_smp-tester PASS 14.71 seconds
TestRunner_userchan-tester PASS 11.50 seconds
IncrementalBuild PASS 51.69 seconds
Details
##############################
Test: CheckPatch - FAIL
Desc: Run checkpatch.pl script
Output:
[v2,4/5] arm64: dts: qcom: sm8550: add UART14 nodes
WARNING: line length of 109 exceeds 100 columns
#139: FILE: arch/arm64/boot/dts/qcom/sm8550.dtsi:1064:
+ interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
WARNING: line length of 105 exceeds 100 columns
#140: FILE: arch/arm64/boot/dts/qcom/sm8550.dtsi:1065:
+ <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_2 0>;
total: 0 errors, 2 warnings, 42 lines checked
NOTE: For some of the reported defects, checkpatch may be able to
mechanically convert to the typical style using --fix or --fix-inplace.
/github/workspace/src/src/13294165.patch has style problems, please review.
NOTE: Ignored message types: UNKNOWN_COMMIT_ID
NOTE: If any of the errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.
##############################
Test: SubjectPrefix - FAIL
Desc: Check subject contains "Bluetooth" prefix
Output:
"Bluetooth: " prefix is not specified in the subject
"Bluetooth: " prefix is not specified in the subject
"Bluetooth: " prefix is not specified in the subject
"Bluetooth: " prefix is not specified in the subject
"Bluetooth: " prefix is not specified in the subject
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2 0/5] bluetooth: qca: enable WCN7850 support
2023-06-27 8:15 [PATCH v2 0/5] bluetooth: qca: enable WCN7850 support Neil Armstrong
` (4 preceding siblings ...)
2023-06-27 8:15 ` [PATCH v2 5/5] arm64: dts: qcom: sm8550-qrd: add bluetooth support Neil Armstrong
@ 2023-07-31 9:18 ` Neil Armstrong
5 siblings, 0 replies; 13+ messages in thread
From: Neil Armstrong @ 2023-07-31 9:18 UTC (permalink / raw)
To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Balakrishna Godavarthi, Rocky Liao, Marcel Holtmann,
Johan Hedberg, Luiz Augusto von Dentz, Andy Gross,
Bjorn Andersson, Konrad Dybcio
Cc: netdev, devicetree, linux-kernel, linux-bluetooth, linux-arm-msm,
Rob Herring
Hi,
On 27/06/2023 10:15, Neil Armstrong wrote:
> This serie enables WCN7850 on the Qualcomm SM8550 QRD
> reference platform.
>
> The WCN7850 is close to the WCN6855 but uses different
> firmware names.
Gentle ping,
Thanks,
Neil
>
> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
> ---
> Changes in v2:
> - Convert if/else and qca_is_*() macros by switch/case to simplify adding now BT SoCs
> - Add bindings reviewed-by
> - Link to v1: https://lore.kernel.org/r/20230620-topic-sm8550-upstream-bt-v1-0-4728564f8872@linaro.org
>
> ---
> Neil Armstrong (5):
> dt-bindings: net: bluetooth: qualcomm: document WCN7850 chipset
> bluetooth: qca: use switch case for soc type behavior
> bluetooth: qca: add support for WCN7850
> arm64: dts: qcom: sm8550: add UART14 nodes
> arm64: dts: qcom: sm8550-qrd: add bluetooth support
>
> .../bindings/net/bluetooth/qualcomm-bluetooth.yaml | 23 ++
> arch/arm64/boot/dts/qcom/sm8550-qrd.dts | 43 ++++
> arch/arm64/boot/dts/qcom/sm8550.dtsi | 30 +++
> drivers/bluetooth/btqca.c | 82 +++++--
> drivers/bluetooth/btqca.h | 30 +--
> drivers/bluetooth/hci_qca.c | 250 ++++++++++++++++-----
> 6 files changed, 350 insertions(+), 108 deletions(-)
> ---
> base-commit: d4cee89031c80066ec461bb77b5e13a4f37d5fd2
> change-id: 20230620-topic-sm8550-upstream-bt-dfc4305f9c14
>
> Best regards,
^ permalink raw reply [flat|nested] 13+ messages in thread
* RE: bluetooth: qca: enable WCN7850 support
2023-08-03 8:45 [PATCH v3 1/3] dt-bindings: net: bluetooth: qualcomm: document WCN7850 chipset Neil Armstrong
@ 2023-08-03 9:40 ` bluez.test.bot
0 siblings, 0 replies; 13+ messages in thread
From: bluez.test.bot @ 2023-08-03 9:40 UTC (permalink / raw)
To: linux-bluetooth, neil.armstrong
[-- Attachment #1: Type: text/plain, Size: 1708 bytes --]
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=772514
---Test result---
Test Summary:
CheckPatch PASS 3.09 seconds
GitLint PASS 0.94 seconds
SubjectPrefix FAIL 0.57 seconds
BuildKernel PASS 39.20 seconds
CheckAllWarning PASS 43.11 seconds
CheckSparse PASS 48.53 seconds
CheckSmatch PASS 130.89 seconds
BuildKernel32 PASS 37.86 seconds
TestRunnerSetup PASS 576.58 seconds
TestRunner_l2cap-tester PASS 27.60 seconds
TestRunner_iso-tester PASS 65.42 seconds
TestRunner_bnep-tester PASS 12.76 seconds
TestRunner_mgmt-tester PASS 238.21 seconds
TestRunner_rfcomm-tester PASS 19.13 seconds
TestRunner_sco-tester PASS 19.71 seconds
TestRunner_ioctl-tester PASS 21.41 seconds
TestRunner_mesh-tester PASS 16.12 seconds
TestRunner_smp-tester PASS 17.12 seconds
TestRunner_userchan-tester PASS 13.60 seconds
IncrementalBuild PASS 48.41 seconds
Details
##############################
Test: SubjectPrefix - FAIL
Desc: Check subject contains "Bluetooth" prefix
Output:
"Bluetooth: " prefix is not specified in the subject
"Bluetooth: " prefix is not specified in the subject
"Bluetooth: " prefix is not specified in the subject
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 13+ messages in thread
* RE: Bluetooth: qca: enable WCN7850 support
2023-08-16 8:06 [PATCH v4 1/3] dt-bindings: net: bluetooth: qualcomm: document WCN7850 chipset Neil Armstrong
@ 2023-08-16 8:46 ` bluez.test.bot
0 siblings, 0 replies; 13+ messages in thread
From: bluez.test.bot @ 2023-08-16 8:46 UTC (permalink / raw)
To: linux-bluetooth, neil.armstrong
[-- Attachment #1: Type: text/plain, Size: 1947 bytes --]
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=776541
---Test result---
Test Summary:
CheckPatch PASS 3.09 seconds
GitLint PASS 0.80 seconds
SubjectPrefix FAIL 0.53 seconds
BuildKernel PASS 46.18 seconds
CheckAllWarning PASS 50.37 seconds
CheckSparse PASS 55.14 seconds
CheckSmatch PASS 144.62 seconds
BuildKernel32 PASS 42.04 seconds
TestRunnerSetup PASS 638.09 seconds
TestRunner_l2cap-tester PASS 33.48 seconds
TestRunner_iso-tester FAIL 111.63 seconds
TestRunner_bnep-tester PASS 15.16 seconds
TestRunner_mgmt-tester PASS 273.86 seconds
TestRunner_rfcomm-tester PASS 22.61 seconds
TestRunner_sco-tester PASS 25.56 seconds
TestRunner_ioctl-tester PASS 26.29 seconds
TestRunner_mesh-tester PASS 19.40 seconds
TestRunner_smp-tester PASS 20.37 seconds
TestRunner_userchan-tester PASS 16.39 seconds
IncrementalBuild PASS 52.60 seconds
Details
##############################
Test: SubjectPrefix - FAIL
Desc: Check subject contains "Bluetooth" prefix
Output:
"Bluetooth: " prefix is not specified in the subject
##############################
Test: TestRunner_iso-tester - FAIL
Desc: Run iso-tester with test-runner
Output:
Total: 95, Passed: 93 (97.9%), Failed: 2, Not Run: 0
Failed Test Cases
ISO Connect Suspend - Success Failed 4.522 seconds
ISO Connect2 Suspend - Success Failed 14.651 seconds
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2023-08-16 8:47 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-27 8:15 [PATCH v2 0/5] bluetooth: qca: enable WCN7850 support Neil Armstrong
2023-06-27 8:15 ` [PATCH v2 1/5] dt-bindings: net: bluetooth: qualcomm: document WCN7850 chipset Neil Armstrong
2023-06-27 8:42 ` bluetooth: qca: enable WCN7850 support bluez.test.bot
2023-07-06 21:01 ` bluez.test.bot
2023-06-27 8:15 ` [PATCH v2 2/5] bluetooth: qca: use switch case for soc type behavior Neil Armstrong
2023-06-27 8:15 ` [PATCH v2 3/5] bluetooth: qca: add support for WCN7850 Neil Armstrong
2023-06-27 8:15 ` [PATCH v2 4/5] arm64: dts: qcom: sm8550: add UART14 nodes Neil Armstrong
2023-06-27 8:18 ` Krzysztof Kozlowski
2023-06-27 8:15 ` [PATCH v2 5/5] arm64: dts: qcom: sm8550-qrd: add bluetooth support Neil Armstrong
2023-07-31 9:18 ` [PATCH v2 0/5] bluetooth: qca: enable WCN7850 support Neil Armstrong
-- strict thread matches above, loose matches on Subject: below --
2023-08-16 8:06 [PATCH v4 1/3] dt-bindings: net: bluetooth: qualcomm: document WCN7850 chipset Neil Armstrong
2023-08-16 8:46 ` Bluetooth: qca: enable WCN7850 support bluez.test.bot
2023-08-03 8:45 [PATCH v3 1/3] dt-bindings: net: bluetooth: qualcomm: document WCN7850 chipset Neil Armstrong
2023-08-03 9:40 ` bluetooth: qca: enable WCN7850 support bluez.test.bot
2023-06-20 15:19 [PATCH 1/4] dt-bindings: net: bluetooth: qualcomm: document WCN7850 chipset Neil Armstrong
2023-06-20 15:37 ` bluetooth: qca: enable WCN7850 support bluez.test.bot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.