Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
* [PATCH v5 0/2] Cover letter QCC2072 enablement
@ 2026-02-18 11:49 Vivek Sahu
  2026-02-18 11:49 ` [PATCH v5 1/2] dt-bindings: bluetooth: qcom,qcc2072-bt: add bindings for QCC2072 Vivek Sahu
  2026-02-18 11:49 ` [PATCH v5 2/2] Bluetooth: qca: add QCC2072 support Vivek Sahu
  0 siblings, 2 replies; 7+ messages in thread
From: Vivek Sahu @ 2026-02-18 11:49 UTC (permalink / raw)
  To: Bartosz Golaszewski, Marcel Holtmann, Luiz Augusto von Dentz,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Balakrishna Godavarthi, Rocky Liao
  Cc: quic_mohamull, quic_hbandi, janaki.thota, linux-arm-msm,
	linux-bluetooth, devicetree, linux-kernel, Vivek Sahu

The history of the patch set as follows.
v1: First commit to add support of QCC2072 chipset
v2: resolving review comments to sort the chipset in the switch case
    and other files whenever possible. "qca_btsoc_type" enum in
    drivers/bluetooth/btqca.h contains all the soc type which need to be
    enabled for BT enablement on the target device. There are few places
    where logic of framing packets transferring between SoC  and Host
    depends on the which generation of the chip it is, refer api
    "qca_read_soc_version". So It is not sorted in btqca.h file.
v3: indentation fix and "qcom,wcn3950-bt" is deleted by mistake.
v4: made a separate change for sorting chip name. added new schema
    for qcc2072 dt-bindings
v5: correct dt-bindings commit msg and place QCC2072 to the correct
    order of chip id in the enum.

Vivek Sahu (2):
  dt-bindings: bluetooth: qcom,qcc2072-bt: add bindings for QCC2072
  Bluetooth: qca: add QCC2072 support

 .../net/bluetooth/qcom,qcc2072-bt.yaml        | 47 +++++++++++++++++++
 drivers/bluetooth/btqca.c                     |  8 ++++
 drivers/bluetooth/btqca.h                     |  1 +
 drivers/bluetooth/hci_qca.c                   | 18 +++++++
 4 files changed, 74 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/bluetooth/qcom,qcc2072-bt.yaml

-- 
2.34.1


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

* [PATCH v5 1/2] dt-bindings: bluetooth: qcom,qcc2072-bt: add bindings for QCC2072
  2026-02-18 11:49 [PATCH v5 0/2] Cover letter QCC2072 enablement Vivek Sahu
@ 2026-02-18 11:49 ` Vivek Sahu
  2026-02-18 11:53   ` Krzysztof Kozlowski
  2026-02-18 11:49 ` [PATCH v5 2/2] Bluetooth: qca: add QCC2072 support Vivek Sahu
  1 sibling, 1 reply; 7+ messages in thread
From: Vivek Sahu @ 2026-02-18 11:49 UTC (permalink / raw)
  To: Bartosz Golaszewski, Marcel Holtmann, Luiz Augusto von Dentz,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Balakrishna Godavarthi, Rocky Liao
  Cc: quic_mohamull, quic_hbandi, janaki.thota, linux-arm-msm,
	linux-bluetooth, devicetree, linux-kernel, Vivek Sahu

QCC2072 is a WiFi/BT connectivity radios which exposes
UART as an interface for Bluetooth part.
It requires different configuartions and firmware, so
document it as a new compatible string.

Signed-off-by: Vivek Sahu <vivek.sahu@oss.qualcomm.com>
---
 .../net/bluetooth/qcom,qcc2072-bt.yaml        | 47 +++++++++++++++++++
 1 file changed, 47 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/bluetooth/qcom,qcc2072-bt.yaml

diff --git a/Documentation/devicetree/bindings/net/bluetooth/qcom,qcc2072-bt.yaml b/Documentation/devicetree/bindings/net/bluetooth/qcom,qcc2072-bt.yaml
new file mode 100644
index 000000000000..7b27c2c651fa
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/bluetooth/qcom,qcc2072-bt.yaml
@@ -0,0 +1,47 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/bluetooth/qcom,qcc2072-bt.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm QCC2072 Bluetooth
+
+maintainers:
+  - Balakrishna Godavarthi <quic_bgodavar@quicinc.com>
+  - Rocky Liao <quic_rjliao@quicinc.com>
+
+description:
+  Qualcomm QCC2072 is a UART-based Bluetooth controller.
+
+properties:
+  compatible:
+    enum:
+      - qcom,qcc2072-bt
+
+  enable-gpios:
+    maxItems: 1
+    description: GPIO specifier for the chip interrupt.
+
+required:
+  - compatible
+  - enable-gpios
+
+allOf:
+  - $ref: bluetooth-controller.yaml#
+  - $ref: qcom,bluetooth-common.yaml
+  - $ref: /schemas/serial/serial-peripheral-props.yaml#
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+
+    serial {
+        bluetooth {
+            compatible = "qcom,qcc2072-bt";
+            enable-gpios = <&tlmm 19 IRQ_TYPE_EDGE_FALLING>;
+            max-speed = <3200000>;
+        };
+    };
-- 
2.34.1


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

* [PATCH v5 2/2] Bluetooth: qca: add QCC2072 support
  2026-02-18 11:49 [PATCH v5 0/2] Cover letter QCC2072 enablement Vivek Sahu
  2026-02-18 11:49 ` [PATCH v5 1/2] dt-bindings: bluetooth: qcom,qcc2072-bt: add bindings for QCC2072 Vivek Sahu
@ 2026-02-18 11:49 ` Vivek Sahu
  2026-02-18 13:57   ` Dmitry Baryshkov
  1 sibling, 1 reply; 7+ messages in thread
From: Vivek Sahu @ 2026-02-18 11:49 UTC (permalink / raw)
  To: Bartosz Golaszewski, Marcel Holtmann, Luiz Augusto von Dentz,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Balakrishna Godavarthi, Rocky Liao
  Cc: quic_mohamull, quic_hbandi, janaki.thota, linux-arm-msm,
	linux-bluetooth, devicetree, linux-kernel, Vivek Sahu

QCC2072 is a family of WiFi/BT connectivity chip.
It requires different firmware files and has different
configurations , so add it as a separate SoC type.

The firmware for these chips has been recently added to the
linux-firmware repository and will be a part of the upcoming
release.

Signed-off-by: Vivek Sahu <vivek.sahu@oss.qualcomm.com>
---
 drivers/bluetooth/btqca.c   |  8 ++++++++
 drivers/bluetooth/btqca.h   |  1 +
 drivers/bluetooth/hci_qca.c | 18 ++++++++++++++++++
 3 files changed, 27 insertions(+)

diff --git a/drivers/bluetooth/btqca.c b/drivers/bluetooth/btqca.c
index 9f7e13fcb20e..65c8d2978956 100644
--- a/drivers/bluetooth/btqca.c
+++ b/drivers/bluetooth/btqca.c
@@ -807,6 +807,10 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
 			snprintf(config.fwname, sizeof(config.fwname),
 				 "qca/htbtfw%02x.tlv", rom_ver);
 			break;
+		case QCA_QCC2072:
+			snprintf(config.fwname, sizeof(config.fwname),
+				 "qca/ornbtfw%02x.tlv", rom_ver);
+			break;
 		case QCA_WCN3950:
 			snprintf(config.fwname, sizeof(config.fwname),
 				 "qca/cmbtfw%02x.tlv", rom_ver);
@@ -900,6 +904,10 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
 			snprintf(config.fwname, sizeof(config.fwname),
 				 "qca/htnv%02x.bin", rom_ver);
 			break;
+		case QCA_QCC2072:
+			snprintf(config.fwname, sizeof(config.fwname),
+				 "qca/ornnv%02x.bin", rom_ver);
+			break;
 		case QCA_WCN3950:
 			if (le32_to_cpu(ver.soc_id) == QCA_WCN3950_SOC_ID_T)
 				variant = "t";
diff --git a/drivers/bluetooth/btqca.h b/drivers/bluetooth/btqca.h
index 8f3c1b1c77b3..77c393c1be0d 100644
--- a/drivers/bluetooth/btqca.h
+++ b/drivers/bluetooth/btqca.h
@@ -155,6 +155,7 @@ enum qca_btsoc_type {
 	QCA_WCN3991,
 	QCA_QCA2066,
 	QCA_QCA6390,
+	QCA_QCC2072,
 	QCA_WCN6750,
 	QCA_WCN6855,
 	QCA_WCN7850,
diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
index 8e035b7c6f3e..7786ced0bbbb 100644
--- a/drivers/bluetooth/hci_qca.c
+++ b/drivers/bluetooth/hci_qca.c
@@ -625,6 +625,7 @@ static int qca_open(struct hci_uart *hu)
 		qcadev = serdev_device_get_drvdata(hu->serdev);
 
 		switch (qcadev->btsoc_type) {
+		case QCA_QCC2072:
 		case QCA_WCN3950:
 		case QCA_WCN3988:
 		case QCA_WCN3990:
@@ -1500,6 +1501,7 @@ static int qca_set_speed(struct hci_uart *hu, enum qca_speed_type speed_type)
 		 * changing the baudrate of chip and host.
 		 */
 		switch (soc_type) {
+		case QCA_QCC2072:
 		case QCA_WCN3950:
 		case QCA_WCN3988:
 		case QCA_WCN3990:
@@ -1516,6 +1518,7 @@ static int qca_set_speed(struct hci_uart *hu, enum qca_speed_type speed_type)
 		}
 
 		switch (soc_type) {
+		case QCA_QCC2072:
 		case QCA_WCN3990:
 			reinit_completion(&qca->drop_ev_comp);
 			set_bit(QCA_DROP_VENDOR_EVENT, &qca->flags);
@@ -1535,6 +1538,7 @@ static int qca_set_speed(struct hci_uart *hu, enum qca_speed_type speed_type)
 
 error:
 		switch (soc_type) {
+		case QCA_QCC2072:
 		case QCA_WCN3950:
 		case QCA_WCN3988:
 		case QCA_WCN3990:
@@ -1551,6 +1555,7 @@ static int qca_set_speed(struct hci_uart *hu, enum qca_speed_type speed_type)
 		}
 
 		switch (soc_type) {
+		case QCA_QCC2072:
 		case QCA_WCN3990:
 			/* Wait for the controller to send the vendor event
 			 * for the baudrate change command.
@@ -1935,6 +1940,10 @@ static int qca_setup(struct hci_uart *hu)
 		soc_name = "qca2066";
 		break;
 
+	case QCA_QCC2072:
+		soc_name = "qcc2072";
+		break;
+
 	case QCA_WCN3950:
 	case QCA_WCN3988:
 	case QCA_WCN3990:
@@ -1970,6 +1979,7 @@ static int qca_setup(struct hci_uart *hu)
 	clear_bit(QCA_SSR_TRIGGERED, &qca->flags);
 
 	switch (soc_type) {
+	case QCA_QCC2072:
 	case QCA_WCN3950:
 	case QCA_WCN3988:
 	case QCA_WCN3990:
@@ -2003,6 +2013,7 @@ static int qca_setup(struct hci_uart *hu)
 	}
 
 	switch (soc_type) {
+	case QCA_QCC2072:
 	case QCA_WCN3950:
 	case QCA_WCN3988:
 	case QCA_WCN3990:
@@ -2108,6 +2119,12 @@ static const struct qca_device_data qca_soc_data_qca6390 __maybe_unused = {
 	.num_vregs = 0,
 };
 
+static const struct qca_device_data qca_soc_data_qcc2072 __maybe_unused = {
+	.soc_type = QCA_QCC2072,
+	.num_vregs = 0,
+	.capabilities = QCA_CAP_WIDEBAND_SPEECH | QCA_CAP_VALID_LE_STATES,
+};
+
 static const struct qca_device_data qca_soc_data_wcn3950 __maybe_unused = {
 	.soc_type = QCA_WCN3950,
 	.vregs = (struct qca_vreg []) {
@@ -2758,6 +2775,7 @@ static const struct of_device_id qca_bluetooth_of_match[] = {
 	{ .compatible = "qcom,qca6174-bt" },
 	{ .compatible = "qcom,qca6390-bt", .data = &qca_soc_data_qca6390},
 	{ .compatible = "qcom,qca9377-bt" },
+	{ .compatible = "qcom,qcc2072-bt", .data = &qca_soc_data_qcc2072},
 	{ .compatible = "qcom,wcn3950-bt", .data = &qca_soc_data_wcn3950},
 	{ .compatible = "qcom,wcn3988-bt", .data = &qca_soc_data_wcn3988},
 	{ .compatible = "qcom,wcn3990-bt", .data = &qca_soc_data_wcn3990},
-- 
2.34.1


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

* Re: [PATCH v5 1/2] dt-bindings: bluetooth: qcom,qcc2072-bt: add bindings for QCC2072
  2026-02-18 11:49 ` [PATCH v5 1/2] dt-bindings: bluetooth: qcom,qcc2072-bt: add bindings for QCC2072 Vivek Sahu
@ 2026-02-18 11:53   ` Krzysztof Kozlowski
  2026-02-20 12:05     ` Vivek Sahu
  0 siblings, 1 reply; 7+ messages in thread
From: Krzysztof Kozlowski @ 2026-02-18 11:53 UTC (permalink / raw)
  To: Vivek Sahu, Bartosz Golaszewski, Marcel Holtmann,
	Luiz Augusto von Dentz, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Balakrishna Godavarthi, Rocky Liao
  Cc: quic_mohamull, quic_hbandi, janaki.thota, linux-arm-msm,
	linux-bluetooth, devicetree, linux-kernel

On 18/02/2026 12:49, Vivek Sahu wrote:
> QCC2072 is a WiFi/BT connectivity radios which exposes
> UART as an interface for Bluetooth part.
> It requires different configuartions and firmware, so

different than what?

Also typo configurations.

> document it as a new compatible string.

Please wrap commit message according to Linux coding style / submission
process (neither too early nor over the limit):
https://elixir.bootlin.com/linux/v6.4-rc1/source/Documentation/process/submitting-patches.rst#L597

> 
> Signed-off-by: Vivek Sahu <vivek.sahu@oss.qualcomm.com>
> ---
>  .../net/bluetooth/qcom,qcc2072-bt.yaml        | 47 +++++++++++++++++++
>  1 file changed, 47 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/net/bluetooth/qcom,qcc2072-bt.yaml
> 
> diff --git a/Documentation/devicetree/bindings/net/bluetooth/qcom,qcc2072-bt.yaml b/Documentation/devicetree/bindings/net/bluetooth/qcom,qcc2072-bt.yaml
> new file mode 100644
> index 000000000000..7b27c2c651fa
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/bluetooth/qcom,qcc2072-bt.yaml
> @@ -0,0 +1,47 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/bluetooth/qcom,qcc2072-bt.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm QCC2072 Bluetooth
> +
> +maintainers:
> +  - Balakrishna Godavarthi <quic_bgodavar@quicinc.com>
> +  - Rocky Liao <quic_rjliao@quicinc.com>
> +
> +description:
> +  Qualcomm QCC2072 is a UART-based Bluetooth controller.
> +
> +properties:
> +  compatible:
> +    enum:
> +      - qcom,qcc2072-bt
> +

Where are clocks?

Where are supplies?

> +  enable-gpios:
> +    maxItems: 1
> +    description: GPIO specifier for the chip interrupt.

Interrupt? No, it cannot be interrupt. This can be only enable pin and
then description is redundant. Look at other bindings.

Looks like matching QCA2066, except missing clocks, or like other QCA
devices with proper supplies.

I don't believe that Bluetooth device works without power.

> +
> +required:
> +  - compatible
> +  - enable-gpios
> +
> +allOf:
> +  - $ref: bluetooth-controller.yaml#
> +  - $ref: qcom,bluetooth-common.yaml
> +  - $ref: /schemas/serial/serial-peripheral-props.yaml#
> +
> +unevaluatedProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/gpio/gpio.h>
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +
> +    serial {
> +        bluetooth {
> +            compatible = "qcom,qcc2072-bt";
> +            enable-gpios = <&tlmm 19 IRQ_TYPE_EDGE_FALLING>;
> +            max-speed = <3200000>;

No firmware?

Best regards,
Krzysztof

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

* Re: [PATCH v5 2/2] Bluetooth: qca: add QCC2072 support
  2026-02-18 11:49 ` [PATCH v5 2/2] Bluetooth: qca: add QCC2072 support Vivek Sahu
@ 2026-02-18 13:57   ` Dmitry Baryshkov
  0 siblings, 0 replies; 7+ messages in thread
From: Dmitry Baryshkov @ 2026-02-18 13:57 UTC (permalink / raw)
  To: Vivek Sahu
  Cc: Bartosz Golaszewski, Marcel Holtmann, Luiz Augusto von Dentz,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Balakrishna Godavarthi, Rocky Liao, quic_mohamull, quic_hbandi,
	janaki.thota, linux-arm-msm, linux-bluetooth, devicetree,
	linux-kernel

On Wed, Feb 18, 2026 at 05:19:55PM +0530, Vivek Sahu wrote:
> QCC2072 is a family of WiFi/BT connectivity chip.
> It requires different firmware files and has different
> configurations , so add it as a separate SoC type.
> 
> The firmware for these chips has been recently added to the
> linux-firmware repository and will be a part of the upcoming
> release.
> 
> Signed-off-by: Vivek Sahu <vivek.sahu@oss.qualcomm.com>
> ---
>  drivers/bluetooth/btqca.c   |  8 ++++++++
>  drivers/bluetooth/btqca.h   |  1 +
>  drivers/bluetooth/hci_qca.c | 18 ++++++++++++++++++
>  3 files changed, 27 insertions(+)
> 

Provided that supplies for the device are going to be handled by the
power sequencer.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>


-- 
With best wishes
Dmitry

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

* Re: [PATCH v5 1/2] dt-bindings: bluetooth: qcom,qcc2072-bt: add bindings for QCC2072
  2026-02-18 11:53   ` Krzysztof Kozlowski
@ 2026-02-20 12:05     ` Vivek Sahu
  2026-02-20 12:32       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 7+ messages in thread
From: Vivek Sahu @ 2026-02-20 12:05 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Bartosz Golaszewski, Marcel Holtmann,
	Luiz Augusto von Dentz, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Balakrishna Godavarthi, Rocky Liao
  Cc: quic_mohamull, quic_hbandi, janaki.thota, linux-arm-msm,
	linux-bluetooth, devicetree, linux-kernel



On 2/18/2026 5:23 PM, Krzysztof Kozlowski wrote:
> On 18/02/2026 12:49, Vivek Sahu wrote:
>> QCC2072 is a WiFi/BT connectivity radios which exposes
>> UART as an interface for Bluetooth part.
>> It requires different configuartions and firmware, so
> 
> different than what?
> 
> Also typo configurations.
> 
>> document it as a new compatible string.
> 
> Please wrap commit message according to Linux coding style / submission
> process (neither too early nor over the limit):
> https://elixir.bootlin.com/linux/v6.4-rc1/source/Documentation/process/submitting-patches.rst#L597
> 

Different configurations like interrupts GPIOs, firmware binaries, 
compat string. Commit msg, I'll correct it in next patch of this commit.

>>
>> Signed-off-by: Vivek Sahu <vivek.sahu@oss.qualcomm.com>
>> ---
>>   .../net/bluetooth/qcom,qcc2072-bt.yaml        | 47 +++++++++++++++++++
>>   1 file changed, 47 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/net/bluetooth/qcom,qcc2072-bt.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/net/bluetooth/qcom,qcc2072-bt.yaml b/Documentation/devicetree/bindings/net/bluetooth/qcom,qcc2072-bt.yaml
>> new file mode 100644
>> index 000000000000..7b27c2c651fa
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/net/bluetooth/qcom,qcc2072-bt.yaml
>> @@ -0,0 +1,47 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/net/bluetooth/qcom,qcc2072-bt.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Qualcomm QCC2072 Bluetooth
>> +
>> +maintainers:
>> +  - Balakrishna Godavarthi <quic_bgodavar@quicinc.com>
>> +  - Rocky Liao <quic_rjliao@quicinc.com>
>> +
>> +description:
>> +  Qualcomm QCC2072 is a UART-based Bluetooth controller.
>> +
>> +properties:
>> +  compatible:
>> +    enum:
>> +      - qcom,qcc2072-bt
>> +
> 
> Where are clocks?
> 
> Where are supplies?
> 
QCC2072 exposes M.2 UART as an interface for Bluetooth part. It doesn't 
require clocks and voltage regulators to power it up.

>> +  enable-gpios:
>> +    maxItems: 1
>> +    description: GPIO specifier for the chip interrupt.
> 
> Interrupt? No, it cannot be interrupt. This can be only enable pin and
> then description is redundant. Look at other bindings.
> 
> Looks like matching QCA2066, except missing clocks, or like other QCA
> devices with proper supplies.
> 
> I don't believe that Bluetooth device works without power.
> 
It is an interrupt to the HOST. I'll make it more comprehensive in the 
next patch of this commit. QCC2072 exposes M.2 UART as an interface for 
Bluetooth part. It doesn't require clocks and voltage regulators to 
power it up.

>> +
>> +required:
>> +  - compatible
>> +  - enable-gpios
>> +
>> +allOf:
>> +  - $ref: bluetooth-controller.yaml#
>> +  - $ref: qcom,bluetooth-common.yaml
>> +  - $ref: /schemas/serial/serial-peripheral-props.yaml#
>> +
>> +unevaluatedProperties: false
>> +
>> +examples:
>> +  - |
>> +    #include <dt-bindings/gpio/gpio.h>
>> +    #include <dt-bindings/interrupt-controller/irq.h>
>> +
>> +    serial {
>> +        bluetooth {
>> +            compatible = "qcom,qcc2072-bt";
>> +            enable-gpios = <&tlmm 19 IRQ_TYPE_EDGE_FALLING>;
>> +            max-speed = <3200000>;
> 
> No firmware?
> 

Firmware is required, it is just I've not added all the fields in the 
example.

> Best regards,
> Krzysztof


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

* Re: [PATCH v5 1/2] dt-bindings: bluetooth: qcom,qcc2072-bt: add bindings for QCC2072
  2026-02-20 12:05     ` Vivek Sahu
@ 2026-02-20 12:32       ` Krzysztof Kozlowski
  0 siblings, 0 replies; 7+ messages in thread
From: Krzysztof Kozlowski @ 2026-02-20 12:32 UTC (permalink / raw)
  To: Vivek Sahu, Bartosz Golaszewski, Marcel Holtmann,
	Luiz Augusto von Dentz, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Balakrishna Godavarthi, Rocky Liao
  Cc: quic_mohamull, quic_hbandi, janaki.thota, linux-arm-msm,
	linux-bluetooth, devicetree, linux-kernel

On 20/02/2026 13:05, Vivek Sahu wrote:
> 
> 
> On 2/18/2026 5:23 PM, Krzysztof Kozlowski wrote:
>> On 18/02/2026 12:49, Vivek Sahu wrote:
>>> QCC2072 is a WiFi/BT connectivity radios which exposes
>>> UART as an interface for Bluetooth part.
>>> It requires different configuartions and firmware, so
>>
>> different than what?
>>
>> Also typo configurations.
>>
>>> document it as a new compatible string.
>>
>> Please wrap commit message according to Linux coding style / submission
>> process (neither too early nor over the limit):
>> https://elixir.bootlin.com/linux/v6.4-rc1/source/Documentation/process/submitting-patches.rst#L597
>>
> 
> Different configurations like interrupts GPIOs, firmware binaries, 
> compat string. Commit msg, I'll correct it in next patch of this commit.

I asked not what is different but against which this is different.
Different than <here goes explanation>?

> 
>>>
>>> Signed-off-by: Vivek Sahu <vivek.sahu@oss.qualcomm.com>
>>> ---
>>>   .../net/bluetooth/qcom,qcc2072-bt.yaml        | 47 +++++++++++++++++++
>>>   1 file changed, 47 insertions(+)
>>>   create mode 100644 Documentation/devicetree/bindings/net/bluetooth/qcom,qcc2072-bt.yaml
>>>
>>> diff --git a/Documentation/devicetree/bindings/net/bluetooth/qcom,qcc2072-bt.yaml b/Documentation/devicetree/bindings/net/bluetooth/qcom,qcc2072-bt.yaml
>>> new file mode 100644
>>> index 000000000000..7b27c2c651fa
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/net/bluetooth/qcom,qcc2072-bt.yaml
>>> @@ -0,0 +1,47 @@
>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/net/bluetooth/qcom,qcc2072-bt.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Qualcomm QCC2072 Bluetooth
>>> +
>>> +maintainers:
>>> +  - Balakrishna Godavarthi <quic_bgodavar@quicinc.com>
>>> +  - Rocky Liao <quic_rjliao@quicinc.com>
>>> +
>>> +description:
>>> +  Qualcomm QCC2072 is a UART-based Bluetooth controller.
>>> +
>>> +properties:
>>> +  compatible:
>>> +    enum:
>>> +      - qcom,qcc2072-bt
>>> +
>>
>> Where are clocks?
>>
>> Where are supplies?
>>
> QCC2072 exposes M.2 UART as an interface for Bluetooth part. It doesn't 
> require clocks and voltage regulators to power it up.

Clocks, maybe, but power - I don't believe. AFAIK, sending radio
communication like Bluetooth requires energy. It is BLE, not BNE
(Bluetooth Non Energy)

> 
>>> +  enable-gpios:
>>> +    maxItems: 1
>>> +    description: GPIO specifier for the chip interrupt.
>>
>> Interrupt? No, it cannot be interrupt. This can be only enable pin and
>> then description is redundant. Look at other bindings.
>>
>> Looks like matching QCA2066, except missing clocks, or like other QCA
>> devices with proper supplies.
>>
>> I don't believe that Bluetooth device works without power.
>>
> It is an interrupt to the HOST. I'll make it more comprehensive in the 

Still not.

> next patch of this commit. QCC2072 exposes M.2 UART as an interface for 
> Bluetooth part. It doesn't require clocks and voltage regulators to 
> power it up.
> 
>>> +
>>> +required:
>>> +  - compatible
>>> +  - enable-gpios
>>> +
>>> +allOf:
>>> +  - $ref: bluetooth-controller.yaml#
>>> +  - $ref: qcom,bluetooth-common.yaml
>>> +  - $ref: /schemas/serial/serial-peripheral-props.yaml#
>>> +
>>> +unevaluatedProperties: false
>>> +
>>> +examples:
>>> +  - |
>>> +    #include <dt-bindings/gpio/gpio.h>
>>> +    #include <dt-bindings/interrupt-controller/irq.h>
>>> +
>>> +    serial {
>>> +        bluetooth {
>>> +            compatible = "qcom,qcc2072-bt";
>>> +            enable-gpios = <&tlmm 19 IRQ_TYPE_EDGE_FALLING>;
>>> +            max-speed = <3200000>;
>>
>> No firmware?
>>
> 
> Firmware is required, it is just I've not added all the fields in the 
> example.


Add complete example.


Best regards,
Krzysztof

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

end of thread, other threads:[~2026-02-20 12:33 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-18 11:49 [PATCH v5 0/2] Cover letter QCC2072 enablement Vivek Sahu
2026-02-18 11:49 ` [PATCH v5 1/2] dt-bindings: bluetooth: qcom,qcc2072-bt: add bindings for QCC2072 Vivek Sahu
2026-02-18 11:53   ` Krzysztof Kozlowski
2026-02-20 12:05     ` Vivek Sahu
2026-02-20 12:32       ` Krzysztof Kozlowski
2026-02-18 11:49 ` [PATCH v5 2/2] Bluetooth: qca: add QCC2072 support Vivek Sahu
2026-02-18 13:57   ` Dmitry Baryshkov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox