All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/4] Attempt at adding WCN6855 BT support
@ 2023-01-31  4:38 Steev Klimaszewski
  2023-01-31  4:38 ` [PATCH v2 1/4] dt-bindings: net: Add WCN6855 Bluetooth Steev Klimaszewski
                   ` (4 more replies)
  0 siblings, 5 replies; 17+ messages in thread
From: Steev Klimaszewski @ 2023-01-31  4: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

This v2 of the patchset is somewhat of an RFC/RFT, and also just something to
get this out there.

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.

There are possibly checkpatch warnings, and I do apologize to those who won't
review things until there are no warnings for wasting your time, I did try to
correct the ones I came across and seemed to be needed.

One example is that I have the vregs commented out, the dt-bindings say that
they are required since it's based on the wcn6750 work but also like the 6750,
I've added defaults into the driver, and those seem to work, at least for the
initial testing.

The end result is that we do have a working device, but not entirely reliable.

Hopefully by getting this out there, people who do have access to the specs or
schematics can see where the improvements or fixes need to come.

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.

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: unexpected event for opcode 0xfc48
Bluetooth: hci0: Sending QCA Patch config failed (-110)
Bluetooth: hci0: QCA Downloading qca/hpbtfw21.tlv
Bluetooth: hci0: QCA Downloading qca/hpnv21g.bin
Bluetooth: hci0: QCA setup on UART is completed

I do not know why the Frame assembly failed, nor the unexpected event.

Likewise, I'm not entirely sure why it says the patch config send times out, and
*then* seems to send it?

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

Additionally, I've tried with an additional patch that I'm not including that is
based on commit 059924fdf6c1 ("Bluetooth: btqca: Use NVM files based on SoC ID
for WCN3991") to try using the hpnv21g.bin or hpnv21.bin, and the firmware acted
the same regardless, so I am assuming I don't truly need the "g" firmware on my
Thinkpad X13s.

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.

The mouse only seems to work when < 2 ft. from the laptop, and for the speaker, only
"A2DP Sink, codec SBC" would provide audio output, and while I could see that
data was being sent to the speaker, it wasn't always outputting, and going >
4ft. away, would often disconnect.

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

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: thinkpad-x13s: Add bluetooth

 .../net/bluetooth/qualcomm-bluetooth.yaml     |  2 +
 .../qcom/sc8280xp-lenovo-thinkpad-x13s.dts    | 68 +++++++++++++++++++
 arch/arm64/boot/dts/qcom/sc8280xp.dtsi        | 14 ++++
 drivers/bluetooth/btqca.c                     | 24 ++++++-
 drivers/bluetooth/btqca.h                     | 10 +++
 drivers/bluetooth/hci_qca.c                   | 59 ++++++++++++----
 6 files changed, 162 insertions(+), 15 deletions(-)

-- 
2.39.0


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

* [PATCH v2 1/4] dt-bindings: net: Add WCN6855 Bluetooth
  2023-01-31  4:38 [PATCH v2 0/4] Attempt at adding WCN6855 BT support Steev Klimaszewski
@ 2023-01-31  4:38 ` Steev Klimaszewski
  2023-01-31  5:13   ` Attempt at adding WCN6855 BT support bluez.test.bot
  2023-01-31 18:59   ` [PATCH v2 1/4] dt-bindings: net: Add WCN6855 Bluetooth Krzysztof Kozlowski
  2023-01-31  4:38 ` [PATCH v2 2/4] Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855 Steev Klimaszewski
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 17+ messages in thread
From: Steev Klimaszewski @ 2023-01-31  4: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

Add bindings for the QTI WCN6855 chipset, based on the WCN6750.

Signed-off-by: Steev Klimaszewski <steev@kali.org>
---
Changes since v1:
* drop second binding in subject line
---
 .../devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml   | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml b/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml
index a6a6b0e4df7a..64e278561ba8 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
@@ -121,6 +122,7 @@ allOf:
           contains:
             enum:
               - qcom,wcn6750-bt
+              - qcom,wcn6855-bt
     then:
       required:
         - enable-gpios
-- 
2.39.0


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

* [PATCH v2 2/4] Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855
  2023-01-31  4:38 [PATCH v2 0/4] Attempt at adding WCN6855 BT support Steev Klimaszewski
  2023-01-31  4:38 ` [PATCH v2 1/4] dt-bindings: net: Add WCN6855 Bluetooth Steev Klimaszewski
@ 2023-01-31  4:38 ` Steev Klimaszewski
  2023-01-31 19:00   ` Krzysztof Kozlowski
  2023-01-31  4:38 ` [PATCH v2 3/4] arm64: dts: qcom: sc8280xp: Define uart2 Steev Klimaszewski
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 17+ messages in thread
From: Steev Klimaszewski @ 2023-01-31  4: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

Added regulators,GPIOs and changes required to power on/off wcn6855.
Added support for firmware download for wcn6855.

This is based on commit d8f97da1b92d ("Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6750")

Signed-off-by: Steev Klimaszewski <steev@kali.org>
---
Changes since v1:
* No changes requested yet.
---
 drivers/bluetooth/btqca.c   | 24 +++++++++++++--
 drivers/bluetooth/btqca.h   | 10 +++++++
 drivers/bluetooth/hci_qca.c | 59 +++++++++++++++++++++++++++++--------
 3 files changed, 78 insertions(+), 15 deletions(-)

diff --git a/drivers/bluetooth/btqca.c b/drivers/bluetooth/btqca.c
index c9064d34d830..456b961b9554 100644
--- a/drivers/bluetooth/btqca.c
+++ b/drivers/bluetooth/btqca.c
@@ -472,6 +472,19 @@ static int qca_download_firmware(struct hci_dev *hdev,
 					   config->fwname, ret);
 				return ret;
 			}
+		} else if (soc_type == QCA_WCN6855 && config->type == ELF_TYPE_PATCH) {
+			bt_dev_dbg(hdev, "QCA Failed to request file: %s (%d)",
+				   config->fwname, ret);
+			config->type = TLV_TYPE_PATCH;
+			snprintf(config->fwname, sizeof(config->fwname),
+				 "qca/hpbtfw%02x.tlv", rom_ver);
+			bt_dev_info(hdev, "QCA Downloading %s", config->fwname);
+			ret = request_firmware(&fw, config->fwname, &hdev->dev);
+			if (ret) {
+				bt_dev_err(hdev, "QCA Failed to request file: %s (%d)",
+					   config->fwname, ret);
+				return ret;
+			}
 		} else {
 			bt_dev_err(hdev, "QCA Failed to request file: %s (%d)",
 				   config->fwname, ret);
@@ -596,7 +609,7 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
 	 */
 	rom_ver = ((soc_ver & 0x00000f00) >> 0x04) | (soc_ver & 0x0000000f);
 
-	if (soc_type == QCA_WCN6750)
+	if (soc_type == QCA_WCN6750 || soc_type == QCA_WCN6855)
 		qca_send_patch_config_cmd(hdev);
 
 	/* Download rampatch file */
@@ -614,6 +627,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 +664,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);
@@ -672,6 +691,7 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
 	case QCA_WCN3991:
 	case QCA_WCN3998:
 	case QCA_WCN6750:
+	case QCA_WCN6855:
 		hci_set_msft_opcode(hdev, 0xFD70);
 		break;
 	default:
@@ -685,7 +705,7 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
 		return err;
 	}
 
-	if (soc_type == QCA_WCN3991 || soc_type == QCA_WCN6750) {
+	if (soc_type == QCA_WCN3991 || soc_type == QCA_WCN6750 || soc_type == QCA_WCN6855) {
 		/* 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 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 a5c19f32926b..18e2882772f9 100644
--- a/drivers/bluetooth/hci_qca.c
+++ b/drivers/bluetooth/hci_qca.c
@@ -606,7 +606,8 @@ static int qca_open(struct hci_uart *hu)
 		qcadev = serdev_device_get_drvdata(hu->serdev);
 
 		if (qca_is_wcn399x(qcadev->btsoc_type) ||
-		    qca_is_wcn6750(qcadev->btsoc_type))
+		    qca_is_wcn6750(qcadev->btsoc_type) ||
+		    qca_is_wcn6855(qcadev->btsoc_type))
 			hu->init_speed = qcadev->init_speed;
 
 		if (qcadev->oper_speed)
@@ -1317,7 +1318,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 +1396,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 +1431,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 +1450,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) {
@@ -1681,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);
@@ -1722,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;
 
@@ -1734,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);
 
@@ -1756,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)
@@ -1882,6 +1891,23 @@ 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 },
+		{ "vddaon", 26000 },
+		{ "vddbtcxmx", 126000 },
+		{ "vddrfacmn", 12500 },
+		{ "vddrfa0p8", 102000 },
+		{ "vddrfa1p7", 302000 },
+		{ "vddrfa1p2", 257000 },
+		{ "vddrfa2p2", 1700000 },
+		{ "vddasd", 200 },
+	},
+	.num_vregs = 9,
+	.capabilities = QCA_CAP_WIDEBAND_SPEECH | QCA_CAP_VALID_LE_STATES,
+};
+
 static void qca_power_shutdown(struct hci_uart *hu)
 {
 	struct qca_serdev *qcadev;
@@ -2046,7 +2072,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),
@@ -2066,14 +2093,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);
@@ -2149,7 +2180,8 @@ 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)) &&
+	     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)
@@ -2334,6 +2366,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.0


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

* [PATCH v2 3/4] arm64: dts: qcom: sc8280xp: Define uart2
  2023-01-31  4:38 [PATCH v2 0/4] Attempt at adding WCN6855 BT support Steev Klimaszewski
  2023-01-31  4:38 ` [PATCH v2 1/4] dt-bindings: net: Add WCN6855 Bluetooth Steev Klimaszewski
  2023-01-31  4:38 ` [PATCH v2 2/4] Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855 Steev Klimaszewski
@ 2023-01-31  4:38 ` Steev Klimaszewski
  2023-01-31 11:15   ` Brian Masney
  2023-01-31  4:38 ` [PATCH v2 4/4] arm64: dts: qcom: thinkpad-x13s: Add bluetooth Steev Klimaszewski
  2023-04-05  4:09 ` [PATCH v2 0/4] Attempt at adding WCN6855 BT support Bjorn Andersson
  4 siblings, 1 reply; 17+ messages in thread
From: Steev Klimaszewski @ 2023-01-31  4: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

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


Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Steev Klimaszewski <steev@kali.org>
---
Changes since v1:
* Changed subject line
* Move node to the correct place based on address
* Add my Signed-off-by
---
 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 fa2d0d7d1367..eab54aab3b76 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
@@ -1207,6 +1207,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.0


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

* [PATCH v2 4/4] arm64: dts: qcom: thinkpad-x13s: Add bluetooth
  2023-01-31  4:38 [PATCH v2 0/4] Attempt at adding WCN6855 BT support Steev Klimaszewski
                   ` (2 preceding siblings ...)
  2023-01-31  4:38 ` [PATCH v2 3/4] arm64: dts: qcom: sc8280xp: Define uart2 Steev Klimaszewski
@ 2023-01-31  4:38 ` Steev Klimaszewski
  2023-01-31 19:01   ` Krzysztof Kozlowski
  2023-04-05  4:09 ` [PATCH v2 0/4] Attempt at adding WCN6855 BT support Bjorn Andersson
  4 siblings, 1 reply; 17+ messages in thread
From: Steev Klimaszewski @ 2023-01-31  4: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

Signed-off-by: Steev Klimaszewski <steev@kali.org>
---
 .../qcom/sc8280xp-lenovo-thinkpad-x13s.dts    | 68 +++++++++++++++++++
 1 file changed, 68 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 f936b020a71d..951438ac5946 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,8 @@ / {
 	aliases {
 		i2c4 = &i2c4;
 		i2c21 = &i2c21;
+		serial0 = &uart17;
+		serial1 = &uart2;
 	};
 
 	wcd938x: audio-codec {
@@ -712,6 +714,32 @@ &qup0 {
 	status = "okay";
 };
 
+&uart2 {
+	status = "okay";
+
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart2_state>;
+
+	bluetooth {
+		compatible = "qcom,wcn6855-bt";
+
+/*
+		vddio-supply = <&vreg_s4a_1p8>;
+		vddxo-supply = <&vreg_l7a_1p8>;
+		vddrf-supply = <&vreg_l17a_1p3>;
+		vddch0-supply = <&vreg_l25a_3p3>;
+		vddch1-supply = <&vreg_l23a_3p3>;
+*/
+		max-speed = <3200000>;
+
+		enable-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>;
+		swctrl-gpios = <&tlmm 132 GPIO_ACTIVE_HIGH>;
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&bt_en>;
+	};
+};
+
 &qup1 {
 	status = "okay";
 };
@@ -720,6 +748,12 @@ &qup2 {
 	status = "okay";
 };
 
+&uart17 {
+	compatible = "qcom,geni-debug-uart";
+
+	status = "okay";
+};
+
 &remoteproc_adsp {
 	firmware-name = "qcom/sc8280xp/LENOVO/21BX/qcadsp8280.mbn";
 
@@ -980,6 +1014,19 @@ hastings_reg_en: hastings-reg-en-state {
 &tlmm {
 	gpio-reserved-ranges = <70 2>, <74 6>, <83 4>, <125 2>, <128 2>, <154 7>;
 
+	bt_en: bt-en-state {
+		hstp-sw-ctrl {
+			pins = "gpio132";
+			function = "gpio";
+		};
+
+		hstp-bt-en {
+			pins = "gpio133";
+			function = "gpio";
+			drive-strength = <16>;
+		};
+	};
+
 	edp_reg_en: edp-reg-en-state {
 		pins = "gpio25";
 		function = "gpio";
@@ -1001,6 +1048,27 @@ i2c4_default: i2c4-default-state {
 		bias-disable;
 	};
 
+	uart2_state: uart2-state {
+		cts {
+			pins = "gpio122";
+			function = "qup2";
+			bias-disable;
+		};
+
+		rts-tx {
+			pins = "gpio122", "gpio123";
+			function = "qup2";
+			drive-strength = <2>;
+			bias-disable;
+		};
+
+		rx {
+			pins = "gpio124";
+			function = "qup2";
+			bias-pull-up;
+		};
+	};
+
 	i2c21_default: i2c21-default-state {
 		pins = "gpio81", "gpio82";
 		function = "qup21";
-- 
2.39.0


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

* RE: Attempt at adding WCN6855 BT support
  2023-01-31  4:38 ` [PATCH v2 1/4] dt-bindings: net: Add WCN6855 Bluetooth Steev Klimaszewski
@ 2023-01-31  5:13   ` bluez.test.bot
  2023-01-31 18:59   ` [PATCH v2 1/4] dt-bindings: net: Add WCN6855 Bluetooth Krzysztof Kozlowski
  1 sibling, 0 replies; 17+ messages in thread
From: bluez.test.bot @ 2023-01-31  5:13 UTC (permalink / raw)
  To: linux-bluetooth, steev

[-- 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/sc8280xp.dtsi:1207
error: arch/arm64/boot/dts/qcom/sc8280xp.dtsi: 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] 17+ messages in thread

* Re: [PATCH v2 3/4] arm64: dts: qcom: sc8280xp: Define uart2
  2023-01-31  4:38 ` [PATCH v2 3/4] arm64: dts: qcom: sc8280xp: Define uart2 Steev Klimaszewski
@ 2023-01-31 11:15   ` Brian Masney
  0 siblings, 0 replies; 17+ messages in thread
From: Brian Masney @ 2023-01-31 11:15 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

On Mon, Jan 30, 2023 at 10:38:15PM -0600, Steev Klimaszewski wrote:
> From: Bjorn Andersson <bjorn.andersson@linaro.org>
> 
> 
> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> Signed-off-by: Steev Klimaszewski <steev@kali.org>

Reviewed-by: Brian Masney <bmasney@redhat.com>


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

* Re: [PATCH v2 1/4] dt-bindings: net: Add WCN6855 Bluetooth
  2023-01-31  4:38 ` [PATCH v2 1/4] dt-bindings: net: Add WCN6855 Bluetooth Steev Klimaszewski
  2023-01-31  5:13   ` Attempt at adding WCN6855 BT support bluez.test.bot
@ 2023-01-31 18:59   ` Krzysztof Kozlowski
  1 sibling, 0 replies; 17+ messages in thread
From: Krzysztof Kozlowski @ 2023-01-31 18:59 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 31/01/2023 05:38, Steev Klimaszewski wrote:
> Add bindings for the QTI WCN6855 chipset, based on the WCN6750.
> 
> Signed-off-by: Steev Klimaszewski <steev@kali.org>
> ---


Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


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

* Re: [PATCH v2 2/4] Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855
  2023-01-31  4:38 ` [PATCH v2 2/4] Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855 Steev Klimaszewski
@ 2023-01-31 19:00   ` Krzysztof Kozlowski
  2023-02-01  3:05     ` Steev Klimaszewski
  0 siblings, 1 reply; 17+ messages in thread
From: Krzysztof Kozlowski @ 2023-01-31 19:00 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 31/01/2023 05:38, Steev Klimaszewski wrote:
> Added regulators,GPIOs and changes required to power on/off wcn6855.
> Added support for firmware download for wcn6855.
> 
> This is based on commit d8f97da1b92d ("Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6750")

Drop. If that commit is merged, how is it useful to keep it in git
history forever?

Dependencies go to the cover letter or under ---.


Best regards,
Krzysztof


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

* Re: [PATCH v2 4/4] arm64: dts: qcom: thinkpad-x13s: Add bluetooth
  2023-01-31  4:38 ` [PATCH v2 4/4] arm64: dts: qcom: thinkpad-x13s: Add bluetooth Steev Klimaszewski
@ 2023-01-31 19:01   ` Krzysztof Kozlowski
  2023-02-01  3:13     ` Steev Klimaszewski
  0 siblings, 1 reply; 17+ messages in thread
From: Krzysztof Kozlowski @ 2023-01-31 19:01 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 31/01/2023 05:38, Steev Klimaszewski wrote:
> Signed-off-by: Steev Klimaszewski <steev@kali.org>
> ---
>  .../qcom/sc8280xp-lenovo-thinkpad-x13s.dts    | 68 +++++++++++++++++++
>  1 file changed, 68 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 f936b020a71d..951438ac5946 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,8 @@ / {
>  	aliases {
>  		i2c4 = &i2c4;
>  		i2c21 = &i2c21;
> +		serial0 = &uart17;
> +		serial1 = &uart2;
>  	};
>  
>  	wcd938x: audio-codec {
> @@ -712,6 +714,32 @@ &qup0 {
>  	status = "okay";
>  };
>  
> +&uart2 {
> +	status = "okay";
> +
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&uart2_state>;
> +
> +	bluetooth {
> +		compatible = "qcom,wcn6855-bt";
> +
> +/*

Why dead code should be in the kernel?

> +		vddio-supply = <&vreg_s4a_1p8>;
> +		vddxo-supply = <&vreg_l7a_1p8>;
> +		vddrf-supply = <&vreg_l17a_1p3>;
> +		vddch0-supply = <&vreg_l25a_3p3>;
> +		vddch1-supply = <&vreg_l23a_3p3>;
> +*/
> +		max-speed = <3200000>;
> +
> +		enable-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>;
> +		swctrl-gpios = <&tlmm 132 GPIO_ACTIVE_HIGH>;
> +
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&bt_en>;
> +	};
> +};
> +
>  &qup1 {
>  	status = "okay";
>  };
> @@ -720,6 +748,12 @@ &qup2 {
>  	status = "okay";
>  };
>  
> +&uart17 {
> +	compatible = "qcom,geni-debug-uart";
> +
> +	status = "okay";
> +};
> +
>  &remoteproc_adsp {
>  	firmware-name = "qcom/sc8280xp/LENOVO/21BX/qcadsp8280.mbn";
>  
> @@ -980,6 +1014,19 @@ hastings_reg_en: hastings-reg-en-state {
>  &tlmm {
>  	gpio-reserved-ranges = <70 2>, <74 6>, <83 4>, <125 2>, <128 2>, <154 7>;
>  
> +	bt_en: bt-en-state {
> +		hstp-sw-ctrl {

Does not look like you tested the DTS against bindings. Please run `make
dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst
for instructions).

> +			pins = "gpio132";
> +			function = "gpio";
> +		};
> +
> +		hstp-bt-en {
> +			pins = "gpio133";
> +			function = "gpio";
> +			drive-strength = <16>;
> +		};
> +	};
> +
>  	edp_reg_en: edp-reg-en-state {
>  		pins = "gpio25";
>  		function = "gpio";
> @@ -1001,6 +1048,27 @@ i2c4_default: i2c4-default-state {
>  		bias-disable;
>  	};
>  
> +	uart2_state: uart2-state {
> +		cts {

Does not look like you tested the DTS against bindings. Please run `make
dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst
for instructions).


Best regards,
Krzysztof


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

* Re: [PATCH v2 2/4] Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855
  2023-01-31 19:00   ` Krzysztof Kozlowski
@ 2023-02-01  3:05     ` Steev Klimaszewski
  2023-02-01  7:19       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 17+ messages in thread
From: Steev Klimaszewski @ 2023-02-01  3:05 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  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 31/01/2023 05:38, Steev Klimaszewski wrote:
>> Added regulators,GPIOs and changes required to power on/off wcn6855.
>> Added support for firmware download for wcn6855.
>> 
>> This is based on commit d8f97da1b92d ("Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6750")

>Drop. If that commit is merged, how is it useful to keep it in git
>history forever?

Sorry if that wasn't clear enough, what I meant to say here is that I used that
commit id as the basis for my work, and it's not based on having access to the
schematics or spec sheets.

-- steev



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

* Re: [PATCH v2 4/4] arm64: dts: qcom: thinkpad-x13s: Add bluetooth
  2023-01-31 19:01   ` Krzysztof Kozlowski
@ 2023-02-01  3:13     ` Steev Klimaszewski
  2023-02-01  7:18       ` Krzysztof Kozlowski
  2023-02-03 20:12       ` Luiz Augusto von Dentz
  0 siblings, 2 replies; 17+ messages in thread
From: Steev Klimaszewski @ 2023-02-01  3:13 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  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 31/01/2023 05:38, Steev Klimaszewski wrote:
>> Signed-off-by: Steev Klimaszewski <steev@kali.org>
>> ---
>>  .../qcom/sc8280xp-lenovo-thinkpad-x13s.dts    | 68 +++++++++++++++++++
>>  1 file changed, 68 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 f936b020a71d..951438ac5946 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,8 @@ / {
>>  	aliases {
>>  		i2c4 = &i2c4;
>>  		i2c21 = &i2c21;
>> +		serial0 = &uart17;
>> +		serial1 = &uart2;
>>  	};
>>  
>>  	wcd938x: audio-codec {
>> @@ -712,6 +714,32 @@ &qup0 {
>>  	status = "okay";
>>  };
>>  
>> +&uart2 {
>> +	status = "okay";
>> +
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&uart2_state>;
>> +
>> +	bluetooth {
>> +		compatible = "qcom,wcn6855-bt";
>> +
>> +/*

> Why dead code should be in the kernel?

As mentioned in the cover letter, this is a bit closer to an RFC than ready to
go in, and I do apologize that it wasn't clear enough.  I do not have access to
the schematics, and based on my reading of the schema for bluetooth, these
entries are supposed to be required, however, like the wcn6750, I have dummy
data entered into the qca_soc_data_wcn6855 struct.  I know that these should be
there, I just do not have access to the correct information to put, if that
makes sense?


<snip>

>Does not look like you tested the DTS against bindings. Please run `make
>dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst
>for instructions).

Correct I had not, but I have now, and will make the corrections test and they
will be included in v3.

>Best regards,
>Krzysztof

I appreciate the guidance for what I was doing incorrectly.

-- steev

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

* Re: [PATCH v2 4/4] arm64: dts: qcom: thinkpad-x13s: Add bluetooth
  2023-02-01  3:13     ` Steev Klimaszewski
@ 2023-02-01  7:18       ` Krzysztof Kozlowski
  2023-02-03 20:12       ` Luiz Augusto von Dentz
  1 sibling, 0 replies; 17+ messages in thread
From: Krzysztof Kozlowski @ 2023-02-01  7:18 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 01/02/2023 04:13, Steev Klimaszewski wrote:
>> On 31/01/2023 05:38, Steev Klimaszewski wrote:
>>> Signed-off-by: Steev Klimaszewski <steev@kali.org>
>>> ---
>>>  .../qcom/sc8280xp-lenovo-thinkpad-x13s.dts    | 68 +++++++++++++++++++
>>>  1 file changed, 68 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 f936b020a71d..951438ac5946 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,8 @@ / {
>>>  	aliases {
>>>  		i2c4 = &i2c4;
>>>  		i2c21 = &i2c21;
>>> +		serial0 = &uart17;
>>> +		serial1 = &uart2;
>>>  	};
>>>  
>>>  	wcd938x: audio-codec {
>>> @@ -712,6 +714,32 @@ &qup0 {
>>>  	status = "okay";
>>>  };
>>>  
>>> +&uart2 {
>>> +	status = "okay";
>>> +
>>> +	pinctrl-names = "default";
>>> +	pinctrl-0 = <&uart2_state>;
>>> +
>>> +	bluetooth {
>>> +		compatible = "qcom,wcn6855-bt";
>>> +
>>> +/*
> 
>> Why dead code should be in the kernel?
> 
> As mentioned in the cover letter, this is a bit closer to an RFC than ready to
> go in, and I do apologize that it wasn't clear enough.  I do not have access to
> the schematics, and based on my reading of the schema for bluetooth, these
> entries are supposed to be required, however, like the wcn6750, I have dummy
> data entered into the qca_soc_data_wcn6855 struct.  I know that these should be
> there, I just do not have access to the correct information to put, if that
> makes sense?

Keeping them commented out, does not solve the "these should be there".
Drop or add them.


Best regards,
Krzysztof


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

* Re: [PATCH v2 2/4] Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855
  2023-02-01  3:05     ` Steev Klimaszewski
@ 2023-02-01  7:19       ` Krzysztof Kozlowski
  0 siblings, 0 replies; 17+ messages in thread
From: Krzysztof Kozlowski @ 2023-02-01  7:19 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 01/02/2023 04:05, Steev Klimaszewski wrote:
>> On 31/01/2023 05:38, Steev Klimaszewski wrote:
>>> Added regulators,GPIOs and changes required to power on/off wcn6855.
>>> Added support for firmware download for wcn6855.
>>>
>>> This is based on commit d8f97da1b92d ("Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6750")
> 
>> Drop. If that commit is merged, how is it useful to keep it in git
>> history forever?
> 
> Sorry if that wasn't clear enough, what I meant to say here is that I used that
> commit id as the basis for my work, and it's not based on having access to the
> schematics or spec sheets.

Hm, I still don't find it useful then.

Best regards,
Krzysztof


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

* Re: [PATCH v2 4/4] arm64: dts: qcom: thinkpad-x13s: Add bluetooth
  2023-02-01  3:13     ` Steev Klimaszewski
  2023-02-01  7:18       ` Krzysztof Kozlowski
@ 2023-02-03 20:12       ` Luiz Augusto von Dentz
  2023-02-05 21:17         ` Steev Klimaszewski
  1 sibling, 1 reply; 17+ messages in thread
From: Luiz Augusto von Dentz @ 2023-02-03 20:12 UTC (permalink / raw)
  To: Steev Klimaszewski
  Cc: Krzysztof Kozlowski, 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

Hi Steev,

On Tue, Jan 31, 2023 at 7:13 PM Steev Klimaszewski <steev@kali.org> wrote:
>
> >On 31/01/2023 05:38, Steev Klimaszewski wrote:
> >> Signed-off-by: Steev Klimaszewski <steev@kali.org>
> >> ---
> >>  .../qcom/sc8280xp-lenovo-thinkpad-x13s.dts    | 68 +++++++++++++++++++
> >>  1 file changed, 68 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 f936b020a71d..951438ac5946 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,8 @@ / {
> >>      aliases {
> >>              i2c4 = &i2c4;
> >>              i2c21 = &i2c21;
> >> +            serial0 = &uart17;
> >> +            serial1 = &uart2;
> >>      };
> >>
> >>      wcd938x: audio-codec {
> >> @@ -712,6 +714,32 @@ &qup0 {
> >>      status = "okay";
> >>  };
> >>
> >> +&uart2 {
> >> +    status = "okay";
> >> +
> >> +    pinctrl-names = "default";
> >> +    pinctrl-0 = <&uart2_state>;
> >> +
> >> +    bluetooth {
> >> +            compatible = "qcom,wcn6855-bt";
> >> +
> >> +/*
>
> > Why dead code should be in the kernel?
>
> As mentioned in the cover letter, this is a bit closer to an RFC than ready to
> go in, and I do apologize that it wasn't clear enough.  I do not have access to
> the schematics, and based on my reading of the schema for bluetooth, these
> entries are supposed to be required, however, like the wcn6750, I have dummy
> data entered into the qca_soc_data_wcn6855 struct.  I know that these should be
> there, I just do not have access to the correct information to put, if that
> makes sense?

Well you don't have the RFC set in the subject which is probably why
people are reviewing it like it is supposed to be merged, that said I
do wonder if there is to indicate these entries are to be considered
sort of experimental so we don't end up enabling it by default?

>
> <snip>
>
> >Does not look like you tested the DTS against bindings. Please run `make
> >dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst
> >for instructions).
>
> Correct I had not, but I have now, and will make the corrections test and they
> will be included in v3.
>
> >Best regards,
> >Krzysztof
>
> I appreciate the guidance for what I was doing incorrectly.
>
> -- steev



-- 
Luiz Augusto von Dentz

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

* Re: [PATCH v2 4/4] arm64: dts: qcom: thinkpad-x13s: Add bluetooth
  2023-02-03 20:12       ` Luiz Augusto von Dentz
@ 2023-02-05 21:17         ` Steev Klimaszewski
  0 siblings, 0 replies; 17+ messages in thread
From: Steev Klimaszewski @ 2023-02-05 21:17 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

Hi Luiz,

>Hi Steev,

>On Tue, Jan 31, 2023 at 7:13 PM Steev Klimaszewski <steev@kali.org> wrote:
>>
>> >On 31/01/2023 05:38, Steev Klimaszewski wrote:
>> >> Signed-off-by: Steev Klimaszewski <steev@kali.org>
>> >> ---
>> >>  .../qcom/sc8280xp-lenovo-thinkpad-x13s.dts    | 68 +++++++++++++++++++
>> >>  1 file changed, 68 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 f936b020a71d..951438ac5946 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,8 @@ / {
>> >>      aliases {
>> >>              i2c4 = &i2c4;
>> >>              i2c21 = &i2c21;
>> >> +            serial0 = &uart17;
>> >> +            serial1 = &uart2;
>> >>      };
>> >>
>> >>      wcd938x: audio-codec {
>> >> @@ -712,6 +714,32 @@ &qup0 {
>> >>      status = "okay";
>> >>  };
>> >>
>> >> +&uart2 {
>> >> +    status = "okay";
>> >> +
>> >> +    pinctrl-names = "default";
>> >> +    pinctrl-0 = <&uart2_state>;
>> >> +
>> >> +    bluetooth {
>> >> +            compatible = "qcom,wcn6855-bt";
>> >> +
>> >> +/*

>> > Why dead code should be in the kernel?

>> As mentioned in the cover letter, this is a bit closer to an RFC than ready to
>> go in, and I do apologize that it wasn't clear enough.  I do not have access to
>> the schematics, and based on my reading of the schema for bluetooth, these
>> entries are supposed to be required, however, like the wcn6750, I have dummy
>> data entered into the qca_soc_data_wcn6855 struct.  I know that these should be
>> there, I just do not have access to the correct information to put, if that
>> makes sense?

>Well you don't have the RFC set in the subject which is probably why
>people are reviewing it like it is supposed to be merged, that said I
>do wonder if there is to indicate these entries are to be considered
>sort of experimental so we don't end up enabling it by default?
>

Initially, it was meant to be more of an RFC/RFT, but as it turns out it works
pretty good with the defaults in the bluetooth driver, so I've made a change in
v3 to just make a note that it's a TODO? I'm not sure if that's okay or not, but
I'm sure people will let me know :)

>>
>> <snip>
>>
>> -- steev
>--
>Luiz Agusto von Dentz


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

* Re: [PATCH v2 0/4] Attempt at adding WCN6855 BT support
  2023-01-31  4:38 [PATCH v2 0/4] Attempt at adding WCN6855 BT support Steev Klimaszewski
                   ` (3 preceding siblings ...)
  2023-01-31  4:38 ` [PATCH v2 4/4] arm64: dts: qcom: thinkpad-x13s: Add bluetooth Steev Klimaszewski
@ 2023-04-05  4:09 ` Bjorn Andersson
  4 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, devicetree, Paolo Abeni, netdev,
	Jakub Kicinski, Krzysztof Kozlowski, Andy Gross, Eric Dumazet,
	Rob Herring, Luiz Augusto von Dentz, linux-kernel, Konrad Dybcio,
	Johan Hedberg, linux-bluetooth, David S. Miller, Mark Pearson,
	Marcel Holtmann

On Mon, 30 Jan 2023 22:38:12 -0600, Steev Klimaszewski wrote:
> This v2 of the patchset is somewhat of an RFC/RFT, and also just something to
> get this out there.
> 
> 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.
> 
> [...]

Applied, thanks!

[1/4] dt-bindings: net: Add WCN6855 Bluetooth
      (no commit info)
[2/4] Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855
      (no commit info)
[3/4] arm64: dts: qcom: sc8280xp: Define uart2
      commit: 9db28f297526f17c6575ec0eefc93a8b1642cff7
[4/4] arm64: dts: qcom: thinkpad-x13s: Add bluetooth
      (no commit info)

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

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

end of thread, other threads:[~2023-04-05  4:07 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-31  4:38 [PATCH v2 0/4] Attempt at adding WCN6855 BT support Steev Klimaszewski
2023-01-31  4:38 ` [PATCH v2 1/4] dt-bindings: net: Add WCN6855 Bluetooth Steev Klimaszewski
2023-01-31  5:13   ` Attempt at adding WCN6855 BT support bluez.test.bot
2023-01-31 18:59   ` [PATCH v2 1/4] dt-bindings: net: Add WCN6855 Bluetooth Krzysztof Kozlowski
2023-01-31  4:38 ` [PATCH v2 2/4] Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855 Steev Klimaszewski
2023-01-31 19:00   ` Krzysztof Kozlowski
2023-02-01  3:05     ` Steev Klimaszewski
2023-02-01  7:19       ` Krzysztof Kozlowski
2023-01-31  4:38 ` [PATCH v2 3/4] arm64: dts: qcom: sc8280xp: Define uart2 Steev Klimaszewski
2023-01-31 11:15   ` Brian Masney
2023-01-31  4:38 ` [PATCH v2 4/4] arm64: dts: qcom: thinkpad-x13s: Add bluetooth Steev Klimaszewski
2023-01-31 19:01   ` Krzysztof Kozlowski
2023-02-01  3:13     ` Steev Klimaszewski
2023-02-01  7:18       ` Krzysztof Kozlowski
2023-02-03 20:12       ` Luiz Augusto von Dentz
2023-02-05 21:17         ` Steev Klimaszewski
2023-04-05  4:09 ` [PATCH v2 0/4] Attempt at adding WCN6855 BT support Bjorn Andersson

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.