[PATCH v5 1/2] dt-bindings: bluetooth: qcom,qcc2072-bt: add bindings for QCC2072

Vivek Sahu posted 2 patches 1 month, 1 week ago
[PATCH v5 1/2] dt-bindings: bluetooth: qcom,qcc2072-bt: add bindings for QCC2072
Posted by Vivek Sahu 1 month, 1 week ago
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
Re: [PATCH v5 1/2] dt-bindings: bluetooth: qcom,qcc2072-bt: add bindings for QCC2072
Posted by Krzysztof Kozlowski 1 month, 1 week ago
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
Re: [PATCH v5 1/2] dt-bindings: bluetooth: qcom,qcc2072-bt: add bindings for QCC2072
Posted by Vivek Sahu 1 month, 1 week ago

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
Re: [PATCH v5 1/2] dt-bindings: bluetooth: qcom,qcc2072-bt: add bindings for QCC2072
Posted by Krzysztof Kozlowski 1 month, 1 week ago
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