devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v8 0/4] Add WCN6855 Bluetooth support
@ 2023-03-26 23:38 Steev Klimaszewski
  2023-03-26 23:38 ` [PATCH v8 1/4] dt-bindings: net: Add WCN6855 Bluetooth Steev Klimaszewski
                   ` (5 more replies)
  0 siblings, 6 replies; 17+ messages in thread
From: Steev Klimaszewski @ 2023-03-26 23:38 UTC (permalink / raw)
  To: Steev Klimaszewski
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Marcel Holtmann, Johan Hedberg,
	Luiz Augusto von Dentz, Sven Peter, netdev, devicetree,
	linux-kernel, linux-arm-msm, linux-bluetooth, Mark Pearson,
	Tim Jiang, Johan Hovold

First things first, I do not have access to the specs nor the schematics, so a
lot of this was done via guess work, looking at the acpi tables, and looking at
how a similar device (wcn6750) was added.

This patchset has 2 patchsets that it depends on, for the bindings so that they
pass dtbs_check, as well as adding in the needed regulators to make bluetooth
work.

https://lore.kernel.org/lkml/20230316105800.18751-1-johan+linaro@kernel.org/
and
https://lore.kernel.org/lkml/20230322113318.17908-1-johan+linaro@kernel.org/

The end result is that we do have a working device, using the firmware files
that are found in the linux-firmware git repository already.


Bluetooth: hci0: setting up wcn6855
Bluetooth: hci0: Frame reassembly failed (-84)
Bluetooth: hci0: QCA Product ID   :0x00000013
Bluetooth: hci0: QCA SOC Version  :0x400c0210
Bluetooth: hci0: QCA ROM Version  :0x00000201
Bluetooth: hci0: QCA Patch Version:0x000038e6
Bluetooth: hci0: QCA controller version 0x02100201
Bluetooth: hci0: QCA Downloading qca/hpbtfw21.tlv
Bluetooth: hci0: QCA Downloading qca/hpnv21.bin
Bluetooth: hci0: QCA setup on UART is completed

There are a few things that I am not sure why they happen, and don't have the
knowledge level to figure out why they happen or debugging it.

I do not know why the Frame assembly failed, and modprobe -r hci_uart and then
modprobe hci_uart does not always show the same Frame assembly failed.

The BD Address also seems to be incorrect, and I'm not sure what is going on
there either.

Testing was done by connecting a Razer Orochi bluetooth mouse, and using it, as
well as connecting to and using an H2GO bluetooth speaker and playing audio out
via canberra-gtk-play as well as a couple of YouTube videos in a browser.
Additionally, a huddle was done in Slack on Chromium with a pair of Gen1 Apple
AirPods as well as a hangout in Discord on Firefox ESR.

steev@wintermute:~$ hciconfig -a
hci0:   Type: Primary  Bus: UART
        BD Address: 00:00:00:00:5A:AD  ACL MTU: 1024:8  SCO MTU: 240:4
        UP RUNNING PSCAN
        RX bytes:1492 acl:0 sco:0 events:126 errors:0
        TX bytes:128743 acl:0 sco:0 commands:597 errors:0
        Features: 0xff 0xfe 0x8f 0xfe 0xd8 0x3f 0x5b 0x87
        Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
        Link policy: RSWITCH HOLD SNIFF
        Link mode: PERIPHERAL ACCEPT
        Name: 'wintermute'
        Class: 0x0c010c
        Service Classes: Rendering, Capturing
        Device Class: Computer, Laptop
        HCI Version:  (0xc)  Revision: 0x0
        LMP Version:  (0xc)  Subversion: 0x46f7
        Manufacturer: Qualcomm (29)

steev@wintermute:~$ dmesg | grep Razer
[ 3089.235440] input: Razer Orochi as /devices/virtual/misc/uhid/0005:1532:0056.0003/input/input11
[ 3089.238580] hid-generic 0005:1532:0056.0003: input,hidraw2: BLUETOOTH HID v0.01 Mouse [Razer Orochi] on 00:00:00:00:5a:ad
steev@wintermute:~$ dmesg | grep H2GO
[ 3140.959947] input: H2GO Speaker (AVRCP) as /devices/virtual/input/input12
steev@wintermute:~$ dmesg | grep AirPod
[  853.742619] input: Steev’s AirPods (AVRCP) as /devices/virtual/input/input14

v8 Adds a dependency on another patchset from Johan, which can be found at
https://lore.kernel.org/lkml/20230322113318.17908-1-johan+linaro@kernel.org/
which I believe has already been accepted upstream, and removes the regulator
from the dts in my patchset, additionally, fix the alphabetization.

v7 Addresses commit message review nits by Paul, as  well as dts
changes requested by Johan. Additionally, the dt bindings now rely on
https://lore.kernel.org/lkml/20230316105800.18751-1-johan+linaro@kernel.org/ for
the bias-bus-hold option on sc8280xp.

v6 can be found at https://lore.kernel.org/all/20230316034759.73489-1-steev@kali.org/

Bjorn Andersson (1):
  arm64: dts: qcom: sc8280xp: Define uart2

Steev Klimaszewski (3):
  dt-bindings: net: Add WCN6855 Bluetooth
  Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855
  arm64: dts: qcom: sc8280xp-x13s: Add bluetooth

 .../net/bluetooth/qualcomm-bluetooth.yaml     | 17 +++++
 .../qcom/sc8280xp-lenovo-thinkpad-x13s.dts    | 70 +++++++++++++++++++
 arch/arm64/boot/dts/qcom/sc8280xp.dtsi        | 14 ++++
 drivers/bluetooth/btqca.c                     | 14 +++-
 drivers/bluetooth/btqca.h                     | 10 +++
 drivers/bluetooth/hci_qca.c                   | 57 +++++++++++----
 6 files changed, 167 insertions(+), 15 deletions(-)

-- 
2.39.2


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH v8 1/4] dt-bindings: net: Add WCN6855 Bluetooth
  2023-03-26 23:38 [PATCH v8 0/4] Add WCN6855 Bluetooth support Steev Klimaszewski
@ 2023-03-26 23:38 ` Steev Klimaszewski
  2023-03-26 23:38 ` [PATCH v8 2/4] Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855 Steev Klimaszewski
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 17+ messages in thread
From: Steev Klimaszewski @ 2023-03-26 23:38 UTC (permalink / raw)
  To: Steev Klimaszewski
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Marcel Holtmann, Johan Hedberg,
	Luiz Augusto von Dentz, Sven Peter, netdev, devicetree,
	linux-kernel, linux-arm-msm, linux-bluetooth, Mark Pearson,
	Krzysztof Kozlowski

Add bindings for the QTI WCN6855 chipset.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Steev Klimaszewski <steev@kali.org>
---
Changes since v7:
 * None

 .../net/bluetooth/qualcomm-bluetooth.yaml       | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml b/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml
index a6a6b0e4df7a..68f78b90d23a 100644
--- a/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml
+++ b/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml
@@ -23,6 +23,7 @@ properties:
       - qcom,wcn3998-bt
       - qcom,qca6390-bt
       - qcom,wcn6750-bt
+      - qcom,wcn6855-bt
 
   enable-gpios:
     maxItems: 1
@@ -133,6 +134,22 @@ allOf:
         - vddrfa1p7-supply
         - vddrfa1p2-supply
         - vddasd-supply
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,wcn6855-bt
+    then:
+      required:
+        - enable-gpios
+        - swctrl-gpios
+        - vddio-supply
+        - vddbtcxmx-supply
+        - vddrfacmn-supply
+        - vddrfa0p8-supply
+        - vddrfa1p2-supply
+        - vddrfa1p7-supply
 
 examples:
   - |
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH v8 2/4] Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855
  2023-03-26 23:38 [PATCH v8 0/4] Add WCN6855 Bluetooth support Steev Klimaszewski
  2023-03-26 23:38 ` [PATCH v8 1/4] dt-bindings: net: Add WCN6855 Bluetooth Steev Klimaszewski
@ 2023-03-26 23:38 ` Steev Klimaszewski
  2023-03-30 10:10   ` Johan Hovold
  2023-03-26 23:38 ` [PATCH v8 3/4] arm64: dts: qcom: sc8280xp: Define uart2 Steev Klimaszewski
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 17+ messages in thread
From: Steev Klimaszewski @ 2023-03-26 23:38 UTC (permalink / raw)
  To: Steev Klimaszewski
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Marcel Holtmann, Johan Hedberg,
	Luiz Augusto von Dentz, Sven Peter, netdev, devicetree,
	linux-kernel, linux-arm-msm, linux-bluetooth, Mark Pearson,
	Tim Jiang, Johan Hovold

Add regulators, GPIOs and changes required to power on/off wcn6855.
Add support for firmware download for wcn6855 which is in the
linux-firmware repository as hpbtfw21.tlv and hpnv21.bin.

Based on the assumption that this is similar to the wcn6750

Tested-on: BTFW.HSP.2.1.0-00538-VER_PATCHZ-1

Signed-off-by: Steev Klimaszewski <steev@kali.org>
Reviewed-by: Bjorn Andersson <andersson@kernel.org>
Tested-by: Bjorn Andersson <andersson@kernel.org>
---
Changes since v7:
 * None

Changes since v6:
 * Update commit message.
 * Add Johan's R-b and T-b.

Changes since v5:
 * Revert Set qcadev->initspeed since 6855 doesn't use it, don't touch.
 * Convert get_fw_build_info to a switch statement
 * Add poweroff handling
 * Fix up line alignments
 * Drop from microsoft extensions check since I don't actually know if we need

Changes since v4:
 * Remove unused firmware check because we don't have mbn firmware.
 * Set qcadev->init_speed if it hasn't been set.

Changes since v3:
 * drop unused regulators

Changes since v2:
 * drop unnecessary commit info

Changes since v1:
 * None

 drivers/bluetooth/btqca.c   | 14 ++++++++-
 drivers/bluetooth/btqca.h   | 10 +++++++
 drivers/bluetooth/hci_qca.c | 57 ++++++++++++++++++++++++++++---------
 3 files changed, 66 insertions(+), 15 deletions(-)

diff --git a/drivers/bluetooth/btqca.c b/drivers/bluetooth/btqca.c
index c9064d34d830..fd0941fe8608 100644
--- a/drivers/bluetooth/btqca.c
+++ b/drivers/bluetooth/btqca.c
@@ -614,6 +614,9 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
 		config.type = ELF_TYPE_PATCH;
 		snprintf(config.fwname, sizeof(config.fwname),
 			 "qca/msbtfw%02x.mbn", rom_ver);
+	} else if (soc_type == QCA_WCN6855) {
+		snprintf(config.fwname, sizeof(config.fwname),
+			 "qca/hpbtfw%02x.tlv", rom_ver);
 	} else {
 		snprintf(config.fwname, sizeof(config.fwname),
 			 "qca/rampatch_%08x.bin", soc_ver);
@@ -648,6 +651,9 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
 	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);
@@ -685,11 +691,17 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
 		return err;
 	}
 
-	if (soc_type == QCA_WCN3991 || soc_type == QCA_WCN6750) {
+	switch (soc_type) {
+	case QCA_WCN3991:
+	case QCA_WCN6750:
+	case QCA_WCN6855:
 		/* get fw build info */
 		err = qca_read_fw_build_info(hdev);
 		if (err < 0)
 			return err;
+		break;
+	default:
+		break;
 	}
 
 	bt_dev_info(hdev, "QCA setup on UART is completed");
diff --git a/drivers/bluetooth/btqca.h b/drivers/bluetooth/btqca.h
index 61e9a50e66ae..b884095bcd9d 100644
--- a/drivers/bluetooth/btqca.h
+++ b/drivers/bluetooth/btqca.h
@@ -147,6 +147,7 @@ enum qca_btsoc_type {
 	QCA_WCN3991,
 	QCA_QCA6390,
 	QCA_WCN6750,
+	QCA_WCN6855,
 };
 
 #if IS_ENABLED(CONFIG_BT_QCA)
@@ -168,6 +169,10 @@ 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
 
@@ -206,6 +211,11 @@ 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 3df8c3606e93..38ff962662ff 100644
--- a/drivers/bluetooth/hci_qca.c
+++ b/drivers/bluetooth/hci_qca.c
@@ -1317,7 +1317,8 @@ static int qca_set_baudrate(struct hci_dev *hdev, uint8_t baudrate)
 
 	/* 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_wcn6750(qca_soc_type(hu)) ||
+	    qca_is_wcn6855(qca_soc_type(hu)))
 		usleep_range(1000, 10000);
 	else
 		msleep(300);
@@ -1394,7 +1395,8 @@ 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_wcn6750(qca_soc_type(hu)) ||
+	    qca_is_wcn6855(qca_soc_type(hu))) {
 		if (!qca_get_speed(hu, QCA_INIT_SPEED) &&
 		    !qca_get_speed(hu, QCA_OPER_SPEED))
 			return -EINVAL;
@@ -1428,7 +1430,8 @@ static int qca_set_speed(struct hci_uart *hu, enum qca_speed_type speed_type)
 		 * changing the baudrate of chip and host.
 		 */
 		if (qca_is_wcn399x(soc_type) ||
-		    qca_is_wcn6750(soc_type))
+		    qca_is_wcn6750(soc_type) ||
+		    qca_is_wcn6855(soc_type))
 			hci_uart_set_flow_control(hu, true);
 
 		if (soc_type == QCA_WCN3990) {
@@ -1446,7 +1449,8 @@ static int qca_set_speed(struct hci_uart *hu, enum qca_speed_type speed_type)
 
 error:
 		if (qca_is_wcn399x(soc_type) ||
-		    qca_is_wcn6750(soc_type))
+		    qca_is_wcn6750(soc_type) ||
+		    qca_is_wcn6855(soc_type))
 			hci_uart_set_flow_control(hu, false);
 
 		if (soc_type == QCA_WCN3990) {
@@ -1682,7 +1686,8 @@ static int qca_power_on(struct hci_dev *hdev)
 		return 0;
 
 	if (qca_is_wcn399x(soc_type) ||
-	    qca_is_wcn6750(soc_type)) {
+	    qca_is_wcn6750(soc_type) ||
+	    qca_is_wcn6855(soc_type)) {
 		ret = qca_regulator_init(hu);
 	} else {
 		qcadev = serdev_device_get_drvdata(hu->serdev);
@@ -1723,7 +1728,8 @@ static int qca_setup(struct hci_uart *hu)
 
 	bt_dev_info(hdev, "setting up %s",
 		qca_is_wcn399x(soc_type) ? "wcn399x" :
-		(soc_type == QCA_WCN6750) ? "wcn6750" : "ROME/QCA6390");
+		(soc_type == QCA_WCN6750) ? "wcn6750" :
+		(soc_type == QCA_WCN6855) ? "wcn6855" : "ROME/QCA6390");
 
 	qca->memdump_state = QCA_MEMDUMP_IDLE;
 
@@ -1735,7 +1741,8 @@ 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_wcn6750(soc_type) ||
+	    qca_is_wcn6855(soc_type)) {
 		set_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks);
 		hci_set_aosp_capable(hdev);
 
@@ -1757,7 +1764,8 @@ static int qca_setup(struct hci_uart *hu)
 	}
 
 	if (!(qca_is_wcn399x(soc_type) ||
-	     qca_is_wcn6750(soc_type))) {
+	      qca_is_wcn6750(soc_type) ||
+	      qca_is_wcn6855(soc_type))) {
 		/* Get QCA version information */
 		ret = qca_read_soc_version(hdev, &ver, soc_type);
 		if (ret)
@@ -1883,6 +1891,20 @@ static const struct qca_device_data qca_soc_data_wcn6750 = {
 	.capabilities = QCA_CAP_WIDEBAND_SPEECH | QCA_CAP_VALID_LE_STATES,
 };
 
+static const struct qca_device_data qca_soc_data_wcn6855 = {
+	.soc_type = QCA_WCN6855,
+	.vregs = (struct qca_vreg []) {
+		{ "vddio", 5000 },
+		{ "vddbtcxmx", 126000 },
+		{ "vddrfacmn", 12500 },
+		{ "vddrfa0p8", 102000 },
+		{ "vddrfa1p7", 302000 },
+		{ "vddrfa1p2", 257000 },
+	},
+	.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;
@@ -1912,7 +1934,7 @@ static void qca_power_shutdown(struct hci_uart *hu)
 		host_set_baudrate(hu, 2400);
 		qca_send_power_pulse(hu, false);
 		qca_regulator_disable(qcadev);
-	} else if (soc_type == QCA_WCN6750) {
+	} else if (soc_type == QCA_WCN6750 || soc_type == QCA_WCN6855) {
 		gpiod_set_value_cansleep(qcadev->bt_en, 0);
 		msleep(100);
 		qca_regulator_disable(qcadev);
@@ -2047,7 +2069,8 @@ static int qca_serdev_probe(struct serdev_device *serdev)
 
 	if (data &&
 	    (qca_is_wcn399x(data->soc_type) ||
-	    qca_is_wcn6750(data->soc_type))) {
+	     qca_is_wcn6750(data->soc_type) ||
+	     qca_is_wcn6855(data->soc_type))) {
 		qcadev->btsoc_type = data->soc_type;
 		qcadev->bt_power = devm_kzalloc(&serdev->dev,
 						sizeof(struct qca_power),
@@ -2067,14 +2090,18 @@ static int qca_serdev_probe(struct serdev_device *serdev)
 
 		qcadev->bt_en = devm_gpiod_get_optional(&serdev->dev, "enable",
 					       GPIOD_OUT_LOW);
-		if (IS_ERR_OR_NULL(qcadev->bt_en) && data->soc_type == QCA_WCN6750) {
+		if (IS_ERR_OR_NULL(qcadev->bt_en) &&
+		    (data->soc_type == QCA_WCN6750 ||
+		     data->soc_type == QCA_WCN6855)) {
 			dev_err(&serdev->dev, "failed to acquire BT_EN gpio\n");
 			power_ctrl_enabled = false;
 		}
 
 		qcadev->sw_ctrl = devm_gpiod_get_optional(&serdev->dev, "swctrl",
 					       GPIOD_IN);
-		if (IS_ERR_OR_NULL(qcadev->sw_ctrl) && data->soc_type == QCA_WCN6750)
+		if (IS_ERR_OR_NULL(qcadev->sw_ctrl) &&
+		    (data->soc_type == QCA_WCN6750 ||
+		     data->soc_type == QCA_WCN6855))
 			dev_warn(&serdev->dev, "failed to acquire SW_CTRL gpio\n");
 
 		qcadev->susclk = devm_clk_get_optional(&serdev->dev, NULL);
@@ -2150,8 +2177,9 @@ static void qca_serdev_remove(struct serdev_device *serdev)
 	struct qca_power *power = qcadev->bt_power;
 
 	if ((qca_is_wcn399x(qcadev->btsoc_type) ||
-	     qca_is_wcn6750(qcadev->btsoc_type)) &&
-	     power->vregs_on)
+	     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);
@@ -2335,6 +2363,7 @@ static const struct of_device_id qca_bluetooth_of_match[] = {
 	{ .compatible = "qcom,wcn3991-bt", .data = &qca_soc_data_wcn3991},
 	{ .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},
 	{ /* sentinel */ }
 };
 MODULE_DEVICE_TABLE(of, qca_bluetooth_of_match);
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH v8 3/4] arm64: dts: qcom: sc8280xp: Define uart2
  2023-03-26 23:38 [PATCH v8 0/4] Add WCN6855 Bluetooth support Steev Klimaszewski
  2023-03-26 23:38 ` [PATCH v8 1/4] dt-bindings: net: Add WCN6855 Bluetooth Steev Klimaszewski
  2023-03-26 23:38 ` [PATCH v8 2/4] Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855 Steev Klimaszewski
@ 2023-03-26 23:38 ` Steev Klimaszewski
  2023-03-26 23:38 ` [PATCH v8 4/4] arm64: dts: qcom: sc8280xp-x13s: Add bluetooth Steev Klimaszewski
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 17+ messages in thread
From: Steev Klimaszewski @ 2023-03-26 23:38 UTC (permalink / raw)
  To: Steev Klimaszewski
  Cc: Bjorn Andersson, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Rob Herring, Krzysztof Kozlowski, Andy Gross,
	Bjorn Andersson, Konrad Dybcio, Marcel Holtmann, Johan Hedberg,
	Luiz Augusto von Dentz, Sven Peter, netdev, devicetree,
	linux-kernel, linux-arm-msm, linux-bluetooth, Mark Pearson,
	Brian Masney, Johan Hovold

From: Bjorn Andersson <bjorn.andersson@linaro.org>

Add the definition for uart2 for sc8280xp devices.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Steev Klimaszewski <steev@kali.org>
Reviewed-by: Brian Masney <bmasney@redhat.com>
Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
---
Changes since v7:
 * No changes

Changes since v6:
 * No changes

Changes since v5:
 * Add sentence to git commit description.
 * Add Johan's R-b

Changes since v4:
 * None

Changes since v3:
 * Fix commit message changelog

Changes since v2:
 * No changes since v2

Changes since v1:
 * change subject line, move node, and add my s-o-b

 arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
index 05544a6c1b21..f1d0e8d5edd2 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
@@ -1209,6 +1209,20 @@ spi2: spi@988000 {
 				status = "disabled";
 			};
 
+			uart2: serial@988000 {
+				compatible = "qcom,geni-uart";
+				reg = <0 0x00988000 0 0x4000>;
+				clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
+				clock-names = "se";
+				interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
+				operating-points-v2 = <&qup_opp_table_100mhz>;
+				power-domains = <&rpmhpd SC8280XP_CX>;
+				interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
+						<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>;
+				interconnect-names = "qup-core", "qup-config";
+				status = "disabled";
+			};
+
 			i2c3: i2c@98c000 {
 				compatible = "qcom,geni-i2c";
 				reg = <0 0x0098c000 0 0x4000>;
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH v8 4/4] arm64: dts: qcom: sc8280xp-x13s: Add bluetooth
  2023-03-26 23:38 [PATCH v8 0/4] Add WCN6855 Bluetooth support Steev Klimaszewski
                   ` (2 preceding siblings ...)
  2023-03-26 23:38 ` [PATCH v8 3/4] arm64: dts: qcom: sc8280xp: Define uart2 Steev Klimaszewski
@ 2023-03-26 23:38 ` Steev Klimaszewski
  2023-03-28 22:24   ` Luiz Augusto von Dentz
  2023-03-29  6:44   ` Johan Hovold
  2023-03-29 19:50 ` [PATCH v8 0/4] Add WCN6855 Bluetooth support patchwork-bot+bluetooth
  2023-04-05  4:09 ` (subset) " Bjorn Andersson
  5 siblings, 2 replies; 17+ messages in thread
From: Steev Klimaszewski @ 2023-03-26 23:38 UTC (permalink / raw)
  To: Steev Klimaszewski
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Marcel Holtmann, Johan Hedberg,
	Luiz Augusto von Dentz, Sven Peter, netdev, devicetree,
	linux-kernel, linux-arm-msm, linux-bluetooth, Mark Pearson,
	Johan Hovold

The Lenovo Thinkpad X13s has a WCN6855 Bluetooth controller on uart2,
add this.

Signed-off-by: Steev Klimaszewski <steev@kali.org>
---
Changes since v7:
 * Drop regulator now in a different patchset from Johan
 * Fix alphabetization

Changes since v6:
 * Remove allowed-modes as they aren't needed
 * Remove regulator-allow-set-load
 * Set regulator-always-on because the wifi chip also uses the regulator
 * cts pin uses bias-bus-hold
 * Alphabetize uart2 pins

Changes since v5:
 * Update patch subject
 * Specify initial mode (via guess) for vreg_s1c
 * Drop uart17 definition
 * Rename bt_en to bt_default because configuring more than one pin
 * Correct (maybe) bias configurations
 * Correct cts gpio
 * Split rts-tx into two nodes
 * Drop incorrect link in the commit message

Changes since v4:
 * Address Konrad's review comments.

Changes since v3:
 * Add vreg_s1c
 * Add regulators and not dead code
 * Fix commit message changelog

Changes since v2:
 * Remove dead code and add TODO comment
 * Make dtbs_check happy with the pin definitions

 .../qcom/sc8280xp-lenovo-thinkpad-x13s.dts    | 70 +++++++++++++++++++
 1 file changed, 70 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
index da79b5465a1b..129c5f9a2a61 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
@@ -24,6 +24,7 @@ / {
 	aliases {
 		i2c4 = &i2c4;
 		i2c21 = &i2c21;
+		serial1 = &uart2;
 	};
 
 	wcd938x: audio-codec {
@@ -1102,6 +1103,32 @@ &txmacro {
 	status = "okay";
 };
 
+&uart2 {
+	pinctrl-0 = <&uart2_default>;
+	pinctrl-names = "default";
+
+	status = "okay";
+
+	bluetooth {
+		compatible = "qcom,wcn6855-bt";
+
+		vddio-supply = <&vreg_s10b>;
+		vddbtcxmx-supply = <&vreg_s12b>;
+		vddrfacmn-supply = <&vreg_s12b>;
+		vddrfa0p8-supply = <&vreg_s12b>;
+		vddrfa1p2-supply = <&vreg_s11b>;
+		vddrfa1p7-supply = <&vreg_s1c>;
+
+		max-speed = <3200000>;
+
+		enable-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>;
+		swctrl-gpios = <&tlmm 132 GPIO_ACTIVE_HIGH>;
+
+		pinctrl-0 = <&bt_default>;
+		pinctrl-names = "default";
+	};
+};
+
 &usb_0 {
 	status = "okay";
 };
@@ -1222,6 +1249,21 @@ hastings_reg_en: hastings-reg-en-state {
 &tlmm {
 	gpio-reserved-ranges = <70 2>, <74 6>, <83 4>, <125 2>, <128 2>, <154 7>;
 
+	bt_default: bt-default-state {
+		hstp-bt-en-pins {
+			pins = "gpio133";
+			function = "gpio";
+			drive-strength = <16>;
+			bias-disable;
+		};
+
+		hstp-sw-ctrl-pins {
+			pins = "gpio132";
+			function = "gpio";
+			bias-pull-down;
+		};
+	};
+
 	edp_reg_en: edp-reg-en-state {
 		pins = "gpio25";
 		function = "gpio";
@@ -1389,6 +1431,34 @@ reset-n-pins {
 		};
 	};
 
+	uart2_default: uart2-default-state {
+		cts-pins {
+			pins = "gpio121";
+			function = "qup2";
+			bias-bus-hold;
+		};
+
+		rts-pins {
+			pins = "gpio122";
+			function = "qup2";
+			drive-strength = <2>;
+			bias-disable;
+		};
+
+		rx-pins {
+			pins = "gpio124";
+			function = "qup2";
+			bias-pull-up;
+		};
+
+		tx-pins {
+			pins = "gpio123";
+			function = "qup2";
+			drive-strength = <2>;
+			bias-disable;
+		};
+	};
+
 	usb0_sbu_default: usb0-sbu-state {
 		oe-n-pins {
 			pins = "gpio101";
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH v8 4/4] arm64: dts: qcom: sc8280xp-x13s: Add bluetooth
  2023-03-26 23:38 ` [PATCH v8 4/4] arm64: dts: qcom: sc8280xp-x13s: Add bluetooth Steev Klimaszewski
@ 2023-03-28 22:24   ` Luiz Augusto von Dentz
  2023-03-29  0:26     ` Steev Klimaszewski
                       ` (3 more replies)
  2023-03-29  6:44   ` Johan Hovold
  1 sibling, 4 replies; 17+ messages in thread
From: Luiz Augusto von Dentz @ 2023-03-28 22:24 UTC (permalink / raw)
  To: Steev Klimaszewski
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Marcel Holtmann, Johan Hedberg, Sven Peter,
	netdev, devicetree, linux-kernel, linux-arm-msm, linux-bluetooth,
	Mark Pearson, Johan Hovold

Hi Steev,

On Sun, Mar 26, 2023 at 4:38 PM Steev Klimaszewski <steev@kali.org> wrote:
>
> The Lenovo Thinkpad X13s has a WCN6855 Bluetooth controller on uart2,
> add this.
>
> Signed-off-by: Steev Klimaszewski <steev@kali.org>

I would like to merge this set but this one still doesn't have any
Signed-off-by other than yours.

> ---
> Changes since v7:
>  * Drop regulator now in a different patchset from Johan
>  * Fix alphabetization
>
> Changes since v6:
>  * Remove allowed-modes as they aren't needed
>  * Remove regulator-allow-set-load
>  * Set regulator-always-on because the wifi chip also uses the regulator
>  * cts pin uses bias-bus-hold
>  * Alphabetize uart2 pins
>
> Changes since v5:
>  * Update patch subject
>  * Specify initial mode (via guess) for vreg_s1c
>  * Drop uart17 definition
>  * Rename bt_en to bt_default because configuring more than one pin
>  * Correct (maybe) bias configurations
>  * Correct cts gpio
>  * Split rts-tx into two nodes
>  * Drop incorrect link in the commit message
>
> Changes since v4:
>  * Address Konrad's review comments.
>
> Changes since v3:
>  * Add vreg_s1c
>  * Add regulators and not dead code
>  * Fix commit message changelog
>
> Changes since v2:
>  * Remove dead code and add TODO comment
>  * Make dtbs_check happy with the pin definitions
>
>  .../qcom/sc8280xp-lenovo-thinkpad-x13s.dts    | 70 +++++++++++++++++++
>  1 file changed, 70 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
> index da79b5465a1b..129c5f9a2a61 100644
> --- a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
> +++ b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
> @@ -24,6 +24,7 @@ / {
>         aliases {
>                 i2c4 = &i2c4;
>                 i2c21 = &i2c21;
> +               serial1 = &uart2;
>         };
>
>         wcd938x: audio-codec {
> @@ -1102,6 +1103,32 @@ &txmacro {
>         status = "okay";
>  };
>
> +&uart2 {
> +       pinctrl-0 = <&uart2_default>;
> +       pinctrl-names = "default";
> +
> +       status = "okay";
> +
> +       bluetooth {
> +               compatible = "qcom,wcn6855-bt";
> +
> +               vddio-supply = <&vreg_s10b>;
> +               vddbtcxmx-supply = <&vreg_s12b>;
> +               vddrfacmn-supply = <&vreg_s12b>;
> +               vddrfa0p8-supply = <&vreg_s12b>;
> +               vddrfa1p2-supply = <&vreg_s11b>;
> +               vddrfa1p7-supply = <&vreg_s1c>;
> +
> +               max-speed = <3200000>;
> +
> +               enable-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>;
> +               swctrl-gpios = <&tlmm 132 GPIO_ACTIVE_HIGH>;
> +
> +               pinctrl-0 = <&bt_default>;
> +               pinctrl-names = "default";
> +       };
> +};
> +
>  &usb_0 {
>         status = "okay";
>  };
> @@ -1222,6 +1249,21 @@ hastings_reg_en: hastings-reg-en-state {
>  &tlmm {
>         gpio-reserved-ranges = <70 2>, <74 6>, <83 4>, <125 2>, <128 2>, <154 7>;
>
> +       bt_default: bt-default-state {
> +               hstp-bt-en-pins {
> +                       pins = "gpio133";
> +                       function = "gpio";
> +                       drive-strength = <16>;
> +                       bias-disable;
> +               };
> +
> +               hstp-sw-ctrl-pins {
> +                       pins = "gpio132";
> +                       function = "gpio";
> +                       bias-pull-down;
> +               };
> +       };
> +
>         edp_reg_en: edp-reg-en-state {
>                 pins = "gpio25";
>                 function = "gpio";
> @@ -1389,6 +1431,34 @@ reset-n-pins {
>                 };
>         };
>
> +       uart2_default: uart2-default-state {
> +               cts-pins {
> +                       pins = "gpio121";
> +                       function = "qup2";
> +                       bias-bus-hold;
> +               };
> +
> +               rts-pins {
> +                       pins = "gpio122";
> +                       function = "qup2";
> +                       drive-strength = <2>;
> +                       bias-disable;
> +               };
> +
> +               rx-pins {
> +                       pins = "gpio124";
> +                       function = "qup2";
> +                       bias-pull-up;
> +               };
> +
> +               tx-pins {
> +                       pins = "gpio123";
> +                       function = "qup2";
> +                       drive-strength = <2>;
> +                       bias-disable;
> +               };
> +       };
> +
>         usb0_sbu_default: usb0-sbu-state {
>                 oe-n-pins {
>                         pins = "gpio101";
> --
> 2.39.2
>


-- 
Luiz Augusto von Dentz

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v8 4/4] arm64: dts: qcom: sc8280xp-x13s: Add bluetooth
  2023-03-28 22:24   ` Luiz Augusto von Dentz
@ 2023-03-29  0:26     ` Steev Klimaszewski
  2023-03-29  0:38     ` Konrad Dybcio
                       ` (2 subsequent siblings)
  3 siblings, 0 replies; 17+ messages in thread
From: Steev Klimaszewski @ 2023-03-29  0:26 UTC (permalink / raw)
  To: Luiz Augusto von Dentz
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Marcel Holtmann, Johan Hedberg, Sven Peter,
	netdev, devicetree, linux-kernel, linux-arm-msm, linux-bluetooth,
	Mark Pearson, Johan Hovold

Hi Luiz,

On Tue, Mar 28, 2023 at 5:24 PM Luiz Augusto von Dentz
<luiz.dentz@gmail.com> wrote:
>
> Hi Steev,
>
> On Sun, Mar 26, 2023 at 4:38 PM Steev Klimaszewski <steev@kali.org> wrote:
> >
> > The Lenovo Thinkpad X13s has a WCN6855 Bluetooth controller on uart2,
> > add this.
> >
> > Signed-off-by: Steev Klimaszewski <steev@kali.org>
>
> I would like to merge this set but this one still doesn't have any
> Signed-off-by other than yours.
>
> --
> Luiz Augusto von Dentz
I don't quite follow - should I be adding others S-o-b?  I know that
Bjorn had previously sent an R-b, and Johan as well, but since the
code changed, I didn't bring them forward.  If I'm doing something
wrong, please let me know!
--steev

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v8 4/4] arm64: dts: qcom: sc8280xp-x13s: Add bluetooth
  2023-03-28 22:24   ` Luiz Augusto von Dentz
  2023-03-29  0:26     ` Steev Klimaszewski
@ 2023-03-29  0:38     ` Konrad Dybcio
  2023-03-29  6:40     ` Johan Hovold
  2023-03-29  7:26     ` Krzysztof Kozlowski
  3 siblings, 0 replies; 17+ messages in thread
From: Konrad Dybcio @ 2023-03-29  0:38 UTC (permalink / raw)
  To: Luiz Augusto von Dentz, Steev Klimaszewski
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Marcel Holtmann, Johan Hedberg, Sven Peter, netdev, devicetree,
	linux-kernel, linux-arm-msm, linux-bluetooth, Mark Pearson,
	Johan Hovold



On 29.03.2023 00:24, Luiz Augusto von Dentz wrote:
> Hi Steev,
> 
> On Sun, Mar 26, 2023 at 4:38 PM Steev Klimaszewski <steev@kali.org> wrote:
>>
>> The Lenovo Thinkpad X13s has a WCN6855 Bluetooth controller on uart2,
>> add this.
>>
>> Signed-off-by: Steev Klimaszewski <steev@kali.org>
> 
> I would like to merge this set but this one still doesn't have any
> Signed-off-by other than yours.
> 
>> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>

Konrad
>> Changes since v7:
>>  * Drop regulator now in a different patchset from Johan
>>  * Fix alphabetization
>>
>> Changes since v6:
>>  * Remove allowed-modes as they aren't needed
>>  * Remove regulator-allow-set-load
>>  * Set regulator-always-on because the wifi chip also uses the regulator
>>  * cts pin uses bias-bus-hold
>>  * Alphabetize uart2 pins
>>
>> Changes since v5:
>>  * Update patch subject
>>  * Specify initial mode (via guess) for vreg_s1c
>>  * Drop uart17 definition
>>  * Rename bt_en to bt_default because configuring more than one pin
>>  * Correct (maybe) bias configurations
>>  * Correct cts gpio
>>  * Split rts-tx into two nodes
>>  * Drop incorrect link in the commit message
>>
>> Changes since v4:
>>  * Address Konrad's review comments.
>>
>> Changes since v3:
>>  * Add vreg_s1c
>>  * Add regulators and not dead code
>>  * Fix commit message changelog
>>
>> Changes since v2:
>>  * Remove dead code and add TODO comment
>>  * Make dtbs_check happy with the pin definitions
>>
>>  .../qcom/sc8280xp-lenovo-thinkpad-x13s.dts    | 70 +++++++++++++++++++
>>  1 file changed, 70 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
>> index da79b5465a1b..129c5f9a2a61 100644
>> --- a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
>> +++ b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
>> @@ -24,6 +24,7 @@ / {
>>         aliases {
>>                 i2c4 = &i2c4;
>>                 i2c21 = &i2c21;
>> +               serial1 = &uart2;
>>         };
>>
>>         wcd938x: audio-codec {
>> @@ -1102,6 +1103,32 @@ &txmacro {
>>         status = "okay";
>>  };
>>
>> +&uart2 {
>> +       pinctrl-0 = <&uart2_default>;
>> +       pinctrl-names = "default";
>> +
>> +       status = "okay";
>> +
>> +       bluetooth {
>> +               compatible = "qcom,wcn6855-bt";
>> +
>> +               vddio-supply = <&vreg_s10b>;
>> +               vddbtcxmx-supply = <&vreg_s12b>;
>> +               vddrfacmn-supply = <&vreg_s12b>;
>> +               vddrfa0p8-supply = <&vreg_s12b>;
>> +               vddrfa1p2-supply = <&vreg_s11b>;
>> +               vddrfa1p7-supply = <&vreg_s1c>;
>> +
>> +               max-speed = <3200000>;
>> +
>> +               enable-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>;
>> +               swctrl-gpios = <&tlmm 132 GPIO_ACTIVE_HIGH>;
>> +
>> +               pinctrl-0 = <&bt_default>;
>> +               pinctrl-names = "default";
>> +       };
>> +};
>> +
>>  &usb_0 {
>>         status = "okay";
>>  };
>> @@ -1222,6 +1249,21 @@ hastings_reg_en: hastings-reg-en-state {
>>  &tlmm {
>>         gpio-reserved-ranges = <70 2>, <74 6>, <83 4>, <125 2>, <128 2>, <154 7>;
>>
>> +       bt_default: bt-default-state {
>> +               hstp-bt-en-pins {
>> +                       pins = "gpio133";
>> +                       function = "gpio";
>> +                       drive-strength = <16>;
>> +                       bias-disable;
>> +               };
>> +
>> +               hstp-sw-ctrl-pins {
>> +                       pins = "gpio132";
>> +                       function = "gpio";
>> +                       bias-pull-down;
>> +               };
>> +       };
>> +
>>         edp_reg_en: edp-reg-en-state {
>>                 pins = "gpio25";
>>                 function = "gpio";
>> @@ -1389,6 +1431,34 @@ reset-n-pins {
>>                 };
>>         };
>>
>> +       uart2_default: uart2-default-state {
>> +               cts-pins {
>> +                       pins = "gpio121";
>> +                       function = "qup2";
>> +                       bias-bus-hold;
>> +               };
>> +
>> +               rts-pins {
>> +                       pins = "gpio122";
>> +                       function = "qup2";
>> +                       drive-strength = <2>;
>> +                       bias-disable;
>> +               };
>> +
>> +               rx-pins {
>> +                       pins = "gpio124";
>> +                       function = "qup2";
>> +                       bias-pull-up;
>> +               };
>> +
>> +               tx-pins {
>> +                       pins = "gpio123";
>> +                       function = "qup2";
>> +                       drive-strength = <2>;
>> +                       bias-disable;
>> +               };
>> +       };
>> +
>>         usb0_sbu_default: usb0-sbu-state {
>>                 oe-n-pins {
>>                         pins = "gpio101";
>> --
>> 2.39.2
>>
> 
> 

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v8 4/4] arm64: dts: qcom: sc8280xp-x13s: Add bluetooth
  2023-03-28 22:24   ` Luiz Augusto von Dentz
  2023-03-29  0:26     ` Steev Klimaszewski
  2023-03-29  0:38     ` Konrad Dybcio
@ 2023-03-29  6:40     ` Johan Hovold
  2023-03-29  7:26     ` Krzysztof Kozlowski
  3 siblings, 0 replies; 17+ messages in thread
From: Johan Hovold @ 2023-03-29  6:40 UTC (permalink / raw)
  To: Luiz Augusto von Dentz
  Cc: Steev Klimaszewski, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
	Andy Gross, Bjorn Andersson, Konrad Dybcio, Marcel Holtmann,
	Johan Hedberg, Sven Peter, netdev, devicetree, linux-kernel,
	linux-arm-msm, linux-bluetooth, Mark Pearson

On Tue, Mar 28, 2023 at 03:24:02PM -0700, Luiz Augusto von Dentz wrote:
> On Sun, Mar 26, 2023 at 4:38 PM Steev Klimaszewski <steev@kali.org> wrote:
> >
> > The Lenovo Thinkpad X13s has a WCN6855 Bluetooth controller on uart2,
> > add this.
> >
> > Signed-off-by: Steev Klimaszewski <steev@kali.org>
> 
> I would like to merge this set but this one still doesn't have any
> Signed-off-by other than yours.

While unfortunately not mentioned in the cover letter, this one should
go through the qcom tree once the binding and driver patches have been
merged (i.e. Bjorn will pick it up).

Johan

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v8 4/4] arm64: dts: qcom: sc8280xp-x13s: Add bluetooth
  2023-03-26 23:38 ` [PATCH v8 4/4] arm64: dts: qcom: sc8280xp-x13s: Add bluetooth Steev Klimaszewski
  2023-03-28 22:24   ` Luiz Augusto von Dentz
@ 2023-03-29  6:44   ` Johan Hovold
  1 sibling, 0 replies; 17+ messages in thread
From: Johan Hovold @ 2023-03-29  6:44 UTC (permalink / raw)
  To: Steev Klimaszewski
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Marcel Holtmann, Johan Hedberg,
	Luiz Augusto von Dentz, Sven Peter, netdev, devicetree,
	linux-kernel, linux-arm-msm, linux-bluetooth, Mark Pearson

On Sun, Mar 26, 2023 at 06:38:12PM -0500, Steev Klimaszewski wrote:
> The Lenovo Thinkpad X13s has a WCN6855 Bluetooth controller on uart2,
> add this.
> 
> Signed-off-by: Steev Klimaszewski <steev@kali.org>
> ---
> Changes since v7:
>  * Drop regulator now in a different patchset from Johan
>  * Fix alphabetization
> 
> Changes since v6:
>  * Remove allowed-modes as they aren't needed
>  * Remove regulator-allow-set-load
>  * Set regulator-always-on because the wifi chip also uses the regulator
>  * cts pin uses bias-bus-hold
>  * Alphabetize uart2 pins
> 
> Changes since v5:
>  * Update patch subject
>  * Specify initial mode (via guess) for vreg_s1c
>  * Drop uart17 definition
>  * Rename bt_en to bt_default because configuring more than one pin
>  * Correct (maybe) bias configurations
>  * Correct cts gpio
>  * Split rts-tx into two nodes
>  * Drop incorrect link in the commit message
> 
> Changes since v4:
>  * Address Konrad's review comments.
> 
> Changes since v3:
>  * Add vreg_s1c
>  * Add regulators and not dead code
>  * Fix commit message changelog
> 
> Changes since v2:
>  * Remove dead code and add TODO comment
>  * Make dtbs_check happy with the pin definitions

Looks like we're good to go now. Thanks for sticking with it.

Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Tested-by: Johan Hovold <johan+linaro@kernel.org>

Johan

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v8 4/4] arm64: dts: qcom: sc8280xp-x13s: Add bluetooth
  2023-03-28 22:24   ` Luiz Augusto von Dentz
                       ` (2 preceding siblings ...)
  2023-03-29  6:40     ` Johan Hovold
@ 2023-03-29  7:26     ` Krzysztof Kozlowski
  3 siblings, 0 replies; 17+ messages in thread
From: Krzysztof Kozlowski @ 2023-03-29  7:26 UTC (permalink / raw)
  To: Luiz Augusto von Dentz, Steev Klimaszewski
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Marcel Holtmann, Johan Hedberg, Sven Peter,
	netdev, devicetree, linux-kernel, linux-arm-msm, linux-bluetooth,
	Mark Pearson, Johan Hovold

On 29/03/2023 00:24, Luiz Augusto von Dentz wrote:
> Hi Steev,
> 
> On Sun, Mar 26, 2023 at 4:38 PM Steev Klimaszewski <steev@kali.org> wrote:
>>
>> The Lenovo Thinkpad X13s has a WCN6855 Bluetooth controller on uart2,
>> add this.
>>
>> Signed-off-by: Steev Klimaszewski <steev@kali.org>
> 
> I would like to merge this set but this one still doesn't have any
> Signed-off-by other than yours.

Please take only driver and bindings. The DTS should always go via
Qualcomm SoC tree (as we want to be sure 100% that it is independent of
driver).

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v8 0/4] Add WCN6855 Bluetooth support
  2023-03-26 23:38 [PATCH v8 0/4] Add WCN6855 Bluetooth support Steev Klimaszewski
                   ` (3 preceding siblings ...)
  2023-03-26 23:38 ` [PATCH v8 4/4] arm64: dts: qcom: sc8280xp-x13s: Add bluetooth Steev Klimaszewski
@ 2023-03-29 19:50 ` patchwork-bot+bluetooth
  2023-04-05  4:09 ` (subset) " Bjorn Andersson
  5 siblings, 0 replies; 17+ messages in thread
From: patchwork-bot+bluetooth @ 2023-03-29 19:50 UTC (permalink / raw)
  To: Steev Klimaszewski
  Cc: davem, edumazet, kuba, pabeni, robh+dt, krzysztof.kozlowski+dt,
	agross, andersson, konrad.dybcio, marcel, johan.hedberg,
	luiz.dentz, sven, netdev, devicetree, linux-kernel,
	linux-arm-msm, linux-bluetooth, markpearson, quic_tjiang, johan

Hello:

This series was applied to bluetooth/bluetooth-next.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:

On Sun, 26 Mar 2023 18:38:08 -0500 you wrote:
> First things first, I do not have access to the specs nor the schematics, so a
> lot of this was done via guess work, looking at the acpi tables, and looking at
> how a similar device (wcn6750) was added.
> 
> This patchset has 2 patchsets that it depends on, for the bindings so that they
> pass dtbs_check, as well as adding in the needed regulators to make bluetooth
> work.
> 
> [...]

Here is the summary with links:
  - [v8,1/4] dt-bindings: net: Add WCN6855 Bluetooth
    https://git.kernel.org/bluetooth/bluetooth-next/c/5c63b28b9107
  - [v8,2/4] Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855
    https://git.kernel.org/bluetooth/bluetooth-next/c/e5a3f2af0036
  - [v8,3/4] arm64: dts: qcom: sc8280xp: Define uart2
    (no matching commit)
  - [v8,4/4] arm64: dts: qcom: sc8280xp-x13s: Add bluetooth
    (no matching commit)

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v8 2/4] Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855
  2023-03-26 23:38 ` [PATCH v8 2/4] Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855 Steev Klimaszewski
@ 2023-03-30 10:10   ` Johan Hovold
  2023-03-30 16:35     ` Steev Klimaszewski
  0 siblings, 1 reply; 17+ messages in thread
From: Johan Hovold @ 2023-03-30 10:10 UTC (permalink / raw)
  To: Steev Klimaszewski
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Marcel Holtmann, Johan Hedberg,
	Luiz Augusto von Dentz, Sven Peter, netdev, devicetree,
	linux-kernel, linux-arm-msm, linux-bluetooth, Mark Pearson,
	Tim Jiang

On Sun, Mar 26, 2023 at 06:38:10PM -0500, Steev Klimaszewski wrote:
> Add regulators, GPIOs and changes required to power on/off wcn6855.
> Add support for firmware download for wcn6855 which is in the
> linux-firmware repository as hpbtfw21.tlv and hpnv21.bin.
> 
> Based on the assumption that this is similar to the wcn6750
> 
> Tested-on: BTFW.HSP.2.1.0-00538-VER_PATCHZ-1
> 
> Signed-off-by: Steev Klimaszewski <steev@kali.org>
> Reviewed-by: Bjorn Andersson <andersson@kernel.org>
> Tested-by: Bjorn Andersson <andersson@kernel.org>
> ---
> Changes since v7:
>  * None

Only noticed now when Luiz applied the patches, but why did you drop my
reviewed-by and tested-by tags from this patch when submitting v8?

For the record:

Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Tested-by: Johan Hovold <johan+linaro@kernel.org>
 
> Changes since v6:
>  * Update commit message.
>  * Add Johan's R-b and T-b.
> 
> Changes since v5:
>  * Revert Set qcadev->initspeed since 6855 doesn't use it, don't touch.
>  * Convert get_fw_build_info to a switch statement
>  * Add poweroff handling
>  * Fix up line alignments
>  * Drop from microsoft extensions check since I don't actually know if we need
> 
> Changes since v4:
>  * Remove unused firmware check because we don't have mbn firmware.
>  * Set qcadev->init_speed if it hasn't been set.
> 
> Changes since v3:
>  * drop unused regulators
> 
> Changes since v2:
>  * drop unnecessary commit info
> 
> Changes since v1:
>  * None

Johan

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v8 2/4] Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855
  2023-03-30 10:10   ` Johan Hovold
@ 2023-03-30 16:35     ` Steev Klimaszewski
  2023-04-12 20:00       ` Luiz Augusto von Dentz
  0 siblings, 1 reply; 17+ messages in thread
From: Steev Klimaszewski @ 2023-03-30 16:35 UTC (permalink / raw)
  To: Johan Hovold
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Marcel Holtmann, Johan Hedberg,
	Luiz Augusto von Dentz, Sven Peter, netdev, devicetree,
	linux-kernel, linux-arm-msm, linux-bluetooth, Mark Pearson,
	Tim Jiang

Hi Johan,

On Thu, Mar 30, 2023 at 5:10 AM Johan Hovold <johan@kernel.org> wrote:
>
> On Sun, Mar 26, 2023 at 06:38:10PM -0500, Steev Klimaszewski wrote:
> > Add regulators, GPIOs and changes required to power on/off wcn6855.
> > Add support for firmware download for wcn6855 which is in the
> > linux-firmware repository as hpbtfw21.tlv and hpnv21.bin.
> >
> > Based on the assumption that this is similar to the wcn6750
> >
> > Tested-on: BTFW.HSP.2.1.0-00538-VER_PATCHZ-1
> >
> > Signed-off-by: Steev Klimaszewski <steev@kali.org>
> > Reviewed-by: Bjorn Andersson <andersson@kernel.org>
> > Tested-by: Bjorn Andersson <andersson@kernel.org>
> > ---
> > Changes since v7:
> >  * None
>
> Only noticed now when Luiz applied the patches, but why did you drop my
> reviewed-by and tested-by tags from this patch when submitting v8?
>
> For the record:
>
> Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
> Tested-by: Johan Hovold <johan+linaro@kernel.org>
>
Oops, that wasn't intentional! I only meant to drop it on the dts bits
as that part I wanted to make sure I got right based on your comments,
my apologies!
--steev

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: (subset) [PATCH v8 0/4] Add WCN6855 Bluetooth support
  2023-03-26 23:38 [PATCH v8 0/4] Add WCN6855 Bluetooth support Steev Klimaszewski
                   ` (4 preceding siblings ...)
  2023-03-29 19:50 ` [PATCH v8 0/4] Add WCN6855 Bluetooth support patchwork-bot+bluetooth
@ 2023-04-05  4:09 ` Bjorn Andersson
  5 siblings, 0 replies; 17+ messages in thread
From: Bjorn Andersson @ 2023-04-05  4:09 UTC (permalink / raw)
  To: Steev Klimaszewski
  Cc: Sven Peter, linux-arm-msm, Tim Jiang, Jakub Kicinski,
	Krzysztof Kozlowski, linux-kernel, Konrad Dybcio, Johan Hovold,
	netdev, Eric Dumazet, Johan Hedberg, Rob Herring,
	David S. Miller, Marcel Holtmann, devicetree,
	Luiz Augusto von Dentz, Paolo Abeni, Andy Gross, linux-bluetooth,
	Mark Pearson

On Sun, 26 Mar 2023 18:38:08 -0500, Steev Klimaszewski wrote:
> First things first, I do not have access to the specs nor the schematics, so a
> lot of this was done via guess work, looking at the acpi tables, and looking at
> how a similar device (wcn6750) was added.
> 
> This patchset has 2 patchsets that it depends on, for the bindings so that they
> pass dtbs_check, as well as adding in the needed regulators to make bluetooth
> work.
> 
> [...]

Applied, thanks!

[3/4] arm64: dts: qcom: sc8280xp: Define uart2
      commit: 9db28f297526f17c6575ec0eefc93a8b1642cff7
[4/4] arm64: dts: qcom: sc8280xp-x13s: Add bluetooth
      commit: 105560b4fca4df0d42dba6656105b5e4131d8ad3

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v8 2/4] Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855
  2023-03-30 16:35     ` Steev Klimaszewski
@ 2023-04-12 20:00       ` Luiz Augusto von Dentz
  2023-04-12 23:38         ` Steev Klimaszewski
  0 siblings, 1 reply; 17+ messages in thread
From: Luiz Augusto von Dentz @ 2023-04-12 20:00 UTC (permalink / raw)
  To: Steev Klimaszewski
  Cc: Johan Hovold, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Rob Herring, Krzysztof Kozlowski, Andy Gross,
	Bjorn Andersson, Konrad Dybcio, Marcel Holtmann, Johan Hedberg,
	Sven Peter, netdev, devicetree, linux-kernel, linux-arm-msm,
	linux-bluetooth, Mark Pearson, Tim Jiang

Hi Steev,

On Thu, Mar 30, 2023 at 9:35 AM Steev Klimaszewski <steev@kali.org> wrote:
>
> Hi Johan,
>
> On Thu, Mar 30, 2023 at 5:10 AM Johan Hovold <johan@kernel.org> wrote:
> >
> > On Sun, Mar 26, 2023 at 06:38:10PM -0500, Steev Klimaszewski wrote:
> > > Add regulators, GPIOs and changes required to power on/off wcn6855.
> > > Add support for firmware download for wcn6855 which is in the
> > > linux-firmware repository as hpbtfw21.tlv and hpnv21.bin.
> > >
> > > Based on the assumption that this is similar to the wcn6750
> > >
> > > Tested-on: BTFW.HSP.2.1.0-00538-VER_PATCHZ-1
> > >
> > > Signed-off-by: Steev Klimaszewski <steev@kali.org>
> > > Reviewed-by: Bjorn Andersson <andersson@kernel.org>
> > > Tested-by: Bjorn Andersson <andersson@kernel.org>
> > > ---
> > > Changes since v7:
> > >  * None
> >
> > Only noticed now when Luiz applied the patches, but why did you drop my
> > reviewed-by and tested-by tags from this patch when submitting v8?
> >
> > For the record:
> >
> > Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
> > Tested-by: Johan Hovold <johan+linaro@kernel.org>
> >
> Oops, that wasn't intentional! I only meant to drop it on the dts bits
> as that part I wanted to make sure I got right based on your comments,
> my apologies!
> --steev

This one seems to be causing a new warning:

drivers/bluetooth/hci_qca.c:18
94:37: warning: unused variable 'qca_soc_data_wcn6855' [-Wunused-const-variable]

-- 
Luiz Augusto von Dentz

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v8 2/4] Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855
  2023-04-12 20:00       ` Luiz Augusto von Dentz
@ 2023-04-12 23:38         ` Steev Klimaszewski
  0 siblings, 0 replies; 17+ messages in thread
From: Steev Klimaszewski @ 2023-04-12 23:38 UTC (permalink / raw)
  To: Luiz Augusto von Dentz
  Cc: Johan Hovold, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Rob Herring, Krzysztof Kozlowski, Andy Gross,
	Bjorn Andersson, Konrad Dybcio, Marcel Holtmann, Johan Hedberg,
	Sven Peter, netdev, devicetree, linux-kernel, linux-arm-msm,
	linux-bluetooth, Mark Pearson, Tim Jiang

Hi Luiz,

On Wed, Apr 12, 2023 at 3:00 PM Luiz Augusto von Dentz
<luiz.dentz@gmail.com> wrote:
>
> Hi Steev,
>
> On Thu, Mar 30, 2023 at 9:35 AM Steev Klimaszewski <steev@kali.org> wrote:
> >
> > Hi Johan,
> >
> > On Thu, Mar 30, 2023 at 5:10 AM Johan Hovold <johan@kernel.org> wrote:
> > >
> > > On Sun, Mar 26, 2023 at 06:38:10PM -0500, Steev Klimaszewski wrote:
> > > > Add regulators, GPIOs and changes required to power on/off wcn6855.
> > > > Add support for firmware download for wcn6855 which is in the
> > > > linux-firmware repository as hpbtfw21.tlv and hpnv21.bin.
> > > >
> > > > Based on the assumption that this is similar to the wcn6750
> > > >
> > > > Tested-on: BTFW.HSP.2.1.0-00538-VER_PATCHZ-1
> > > >
> > > > Signed-off-by: Steev Klimaszewski <steev@kali.org>
> > > > Reviewed-by: Bjorn Andersson <andersson@kernel.org>
> > > > Tested-by: Bjorn Andersson <andersson@kernel.org>
> > > > ---
> > > > Changes since v7:
> > > >  * None
> > >
> > > Only noticed now when Luiz applied the patches, but why did you drop my
> > > reviewed-by and tested-by tags from this patch when submitting v8?
> > >
> > > For the record:
> > >
> > > Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
> > > Tested-by: Johan Hovold <johan+linaro@kernel.org>
> > >
> > Oops, that wasn't intentional! I only meant to drop it on the dts bits
> > as that part I wanted to make sure I got right based on your comments,
> > my apologies!
> > --steev
>
> This one seems to be causing a new warning:
>
> drivers/bluetooth/hci_qca.c:18
> 94:37: warning: unused variable 'qca_soc_data_wcn6855' [-Wunused-const-variable]
>
I had seen this as well and I just noticed that the others were marked
as __maybe_unused and I forgot to.  Will send a fix up for that!


> --
> Luiz Augusto von Dentz
-- steev

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2023-04-12 23:38 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-26 23:38 [PATCH v8 0/4] Add WCN6855 Bluetooth support Steev Klimaszewski
2023-03-26 23:38 ` [PATCH v8 1/4] dt-bindings: net: Add WCN6855 Bluetooth Steev Klimaszewski
2023-03-26 23:38 ` [PATCH v8 2/4] Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855 Steev Klimaszewski
2023-03-30 10:10   ` Johan Hovold
2023-03-30 16:35     ` Steev Klimaszewski
2023-04-12 20:00       ` Luiz Augusto von Dentz
2023-04-12 23:38         ` Steev Klimaszewski
2023-03-26 23:38 ` [PATCH v8 3/4] arm64: dts: qcom: sc8280xp: Define uart2 Steev Klimaszewski
2023-03-26 23:38 ` [PATCH v8 4/4] arm64: dts: qcom: sc8280xp-x13s: Add bluetooth Steev Klimaszewski
2023-03-28 22:24   ` Luiz Augusto von Dentz
2023-03-29  0:26     ` Steev Klimaszewski
2023-03-29  0:38     ` Konrad Dybcio
2023-03-29  6:40     ` Johan Hovold
2023-03-29  7:26     ` Krzysztof Kozlowski
2023-03-29  6:44   ` Johan Hovold
2023-03-29 19:50 ` [PATCH v8 0/4] Add WCN6855 Bluetooth support patchwork-bot+bluetooth
2023-04-05  4:09 ` (subset) " Bjorn Andersson

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).