# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: "http://devicetree.org/schemas/sound/qcom,q6dsp-lpass-ports.yaml#" $schema: "http://devicetree.org/meta-schemas/core.yaml#" title: Qualcomm DSP LPASS(Low Power Audio SubSystem) Audio Ports maintainers: - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> description: | This binding describes the Qualcomm DSP LPASS Audio ports properties: compatible: enum: - qcom,q6afe-dais '#sound-dai-cells': const: 1 '#address-cells': const: 1 '#size-cells': const: 0 #Digital Audio Interfaces patternProperties: '^dai@[0-9]+$': type: object description: Q6DSP Digital Audio Interfaces. properties: reg: description: Digital Audio Interface ID qcom,sd-lines: $ref: /schemas/types.yaml#/definitions/uint32-array description: List of serial data lines used by this dai.should be one or more of the 0-3 sd lines. minItems: 1 maxItems: 4 uniqueItems: true items: minimum: 0 maximum: 3 qcom,tdm-sync-mode: $ref: /schemas/types.yaml#/definitions/uint32 enum: [0, 1, 2] description: TDM Synchronization mode 0 = Short sync bit mode 1 = Long sync mode 2 = Short sync slot mode qcom,tdm-sync-src: $ref: /schemas/types.yaml#/definitions/uint32 enum: [0, 1] description: TDM Synchronization source 0 = External source 1 = Internal source qcom,tdm-data-out: $ref: /schemas/types.yaml#/definitions/uint32 enum: [0, 1] description: TDM Data out signal to drive with other masters 0 = Disable 1 = Enable qcom,tdm-invert-sync: $ref: /schemas/types.yaml#/definitions/uint32 enum: [0, 1] description: TDM Invert the sync 0 = Normal 1 = Invert qcom,tdm-data-delay: $ref: /schemas/types.yaml#/definitions/uint32 enum: [0, 1, 2] description: TDM Number of bit clock to delay data 0 = 0 bit clock cycle 1 = 1 bit clock cycle 2 = 2 bit clock cycle qcom,tdm-data-align: $ref: /schemas/types.yaml#/definitions/uint32 enum: [0, 1] description: Indicate how data is packed within the slot. For example, 32 slot width in case of sample bit width is 24TDM Invert the sync. 0 = MSB 1 = LSB required: - reg allOf: - if: properties: reg: contains: # TDM DAI ID range from PRIMARY_TDM_RX_0 - QUINARY_TDM_TX_7 items: minimum: 24 maximum: 103 then: required: - qcom,tdm-sync-mode - qcom,tdm-sync-src - qcom,tdm-data-out - qcom,tdm-invert-sync - qcom,tdm-data-delay - qcom,tdm-data-align - if: properties: reg: contains: # MI2S DAI ID range PRIMARY_MI2S_RX - QUATERNARY_MI2S_TX and # QUINARY_MI2S_RX - QUINARY_MI2S_TX items: oneOf: - minimum: 16 maximum: 23 - minimum: 127 maximum: 128 then: required: - qcom,sd-lines additionalProperties: false required: - compatible - "#sound-dai-cells" - "#address-cells" - "#size-cells" additionalProperties: false examples: - | #include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h> dais { compatible = "qcom,q6afe-dais"; #address-cells = <1>; #size-cells = <0>; #sound-dai-cells = <1>; dai@22 { reg = <QUATERNARY_MI2S_RX>; qcom,sd-lines = <0 1 2 3>; }; };