Re: [PATCH v2 01/11] dt-bindings: sound: qcom,qaif-cpu: Add binding
From: Mark Brown
Date: Wed Jul 01 2026 - 08:45:25 EST
On Wed, Jul 01, 2026 at 04:27:47PM +0530, Harendra Gautam wrote:
> Add a dt-bindings header for the Qualcomm Audio Interface (QAIF) controller
> DAI IDs. This provides shared constants for devicetree sound-dai references
> and QAIF aif-interface reg values instead of using raw numeric IDs.
> Depends-on: [PATCH 0/4] clk: qcom: Add Audio Core clock controller
> support on Qualcomm Shikra SoC
> https://lore.kernel.org/linux-clk/20260605-shikra-audiocorecc-v1-0-7ee6b5f2d928@xxxxxxxxxxxxxxxx/
Is this an actual dependency of some kind or is this just something
that's randomly on the same board? We do seem to be getting an awful
lot of serieses from Qualcomm with some random unclear stack of in
flight dependencies of various kinds which is not particularly helpful.
> Signed-off-by: Harendra Gautam <harendra.gautam@xxxxxxxxxxxxxxxx>
> +patternProperties:
> + "^aif-interface@[0-9a-f]+$":
> + type: object
> + description:
> + AIF interface configuration child node. The compatible string
> + identifies the serial protocol the interface is wired for on the
> + board. The unit address matches the hardware AIF interface index.
> + properties:
> + compatible:
> + enum:
> + - qcom,qaif-pcm-dai
> + - qcom,qaif-tdm-dai
> + - qcom,qaif-mi2s-dai
This just sounds like a generic serial port being programmed to
different formats, why do we need all these compatibles?
> + reg:
> + maxItems: 1
> + description: |
> + Hardware AIF interface index (AUD_INTFa block index). This value
> + also serves as the ALSA DAI ID; it corresponds directly to the
> + QAIF_MI2S_TDM_AIFn constants in <dt-bindings/sound/qcom,qaif.h>
> + (e.g. reg = <2> selects QAIF_MI2S_TDM_AIF2).
Details of Linux software interfaces should not be in the DT.
> + qcom,qaif-aif-sync-mode:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum: [0, 1, 2]
> + description:
> + Defines the FRAME SYNC mode for the audio interface.
> + 0 = SHORT - FRAME SYNC is high for 1 INTF clock cycle per frame
> + 1 = ONE_SLOT - FRAME SYNC is high for 1 slot per frame (pulse
> + stretched by MIN(RPCM_WIDTH, TPCM_WIDTH))
> + 2 = LONG - FRAME SYNC is high for half the frame duration
This is a detail of how the various interface formats are specified,
just specify interface formats in a standard manner. Similar issues
apply to many other properties here, it really feels like this is just
inventing things from scratch rather than working like other audio
bindings and using standard properties.
> + Sync clock/frame source. Independent of sync-mode;
> + all combinations of sync-mode and sync-src are valid.
> + 0 = External source (slave)
> + 1 = Internal source (master)
Consumer and provider.
Attachment:
signature.asc
Description: PGP signature