Re: [PATCH v3 1/9] ASoC: dt-bindings: qcom,qaif-cpu: Add binding

From: Prasad Kumpatla

Date: Tue Sep 01 2026 - 02:15:20 EST



On 8/24/2026 12:06 PM, Harendra Gautam wrote:
QAIF routes audio between system memory, external PCM/TDM/MI2S serial
interfaces and the internal Bolero/WCD codec. Platform Devicetree files
need a binding to describe the controller resources, DAI cells and per-
interface AIF configuration, and named constants to avoid raw numeric IDs
in sound-dai references and child-node reg values.

Describe the MMIO region, interrupt, clocks, DMA IOMMU mapping and
aif-interface child nodes required by the controller.

Signed-off-by: Harendra Gautam <harendra.gautam@xxxxxxxxxxxxxxxx>
---
.../bindings/sound/qcom,qaif-cpu.yaml | 307 ++++++++++++++++++
include/dt-bindings/sound/qcom,qaif.h | 97 ++++++
2 files changed, 404 insertions(+)
create mode 100644 Documentation/devicetree/bindings/sound/qcom,qaif-cpu.yaml
create mode 100644 include/dt-bindings/sound/qcom,qaif.h

diff --git a/Documentation/devicetree/bindings/sound/qcom,qaif-cpu.yaml b/Documentation/devicetree/bindings/sound/qcom,qaif-cpu.yaml
new file mode 100644
index 000000000000..134356114733
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/qcom,qaif-cpu.yaml
@@ -0,0 +1,307 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)

+
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - iommus
+ - clocks
+ - clock-names
+ - '#sound-dai-cells'
+ - '#address-cells'
+ - '#size-cells'
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ soc {
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ qaif_cpu: audio-controller@a000000 {
+ compatible = "qcom,shikra-qaif-cpu";

The DT binding filename and compatible string do not match (qcom,qaif-cpu.yaml vs qcom,shikra-qaif-cpu).
Usually DT binding filenames are aligned with the compatible string for clarity.
Is there a reason for the naming mismatch?

+ reg = <0x0 0x0a000000 0x0 0x20000>;
+ interrupts = <0 331 4>;

Could we use the standard GIC and IRQ type macros instead of raw values here for readability?
Ex: interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>;

Thanks,
Prasad

+ iommus = <&apps_smmu 0x1c0 0x0>;
+ clocks = <&gcc 213>,
+ <&gcc 214>,
+ <&audiocorecc 15>,
+ <&audiocorecc 17>,
+ <&audiocorecc 18>,