162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/sound/qcom,q6dsp-lpass-ports.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Qualcomm DSP LPASS(Low Power Audio SubSystem) Audio Ports 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci This binding describes the Qualcomm DSP LPASS Audio ports 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ciproperties: 1662306a36Sopenharmony_ci compatible: 1762306a36Sopenharmony_ci enum: 1862306a36Sopenharmony_ci - qcom,q6afe-dais 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci '#sound-dai-cells': 2162306a36Sopenharmony_ci const: 1 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci '#address-cells': 2462306a36Sopenharmony_ci const: 1 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci '#size-cells': 2762306a36Sopenharmony_ci const: 0 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci# Digital Audio Interfaces 3062306a36Sopenharmony_cipatternProperties: 3162306a36Sopenharmony_ci '^dai@[0-9]+$': 3262306a36Sopenharmony_ci type: object 3362306a36Sopenharmony_ci description: 3462306a36Sopenharmony_ci Q6DSP Digital Audio Interfaces. 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci properties: 3762306a36Sopenharmony_ci reg: 3862306a36Sopenharmony_ci description: 3962306a36Sopenharmony_ci Digital Audio Interface ID 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci qcom,sd-lines: 4262306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 4362306a36Sopenharmony_ci description: 4462306a36Sopenharmony_ci List of serial data lines used by this dai.should be one or more of the 0-3 sd lines. 4562306a36Sopenharmony_ci minItems: 1 4662306a36Sopenharmony_ci maxItems: 4 4762306a36Sopenharmony_ci uniqueItems: true 4862306a36Sopenharmony_ci items: 4962306a36Sopenharmony_ci minimum: 0 5062306a36Sopenharmony_ci maximum: 3 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci qcom,tdm-sync-mode: 5362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 5462306a36Sopenharmony_ci enum: [0, 1, 2] 5562306a36Sopenharmony_ci description: 5662306a36Sopenharmony_ci TDM Synchronization mode 5762306a36Sopenharmony_ci 0 = Short sync bit mode 5862306a36Sopenharmony_ci 1 = Long sync mode 5962306a36Sopenharmony_ci 2 = Short sync slot mode 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci qcom,tdm-sync-src: 6262306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 6362306a36Sopenharmony_ci enum: [0, 1] 6462306a36Sopenharmony_ci description: 6562306a36Sopenharmony_ci TDM Synchronization source 6662306a36Sopenharmony_ci 0 = External source 6762306a36Sopenharmony_ci 1 = Internal source 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci qcom,tdm-data-out: 7062306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 7162306a36Sopenharmony_ci enum: [0, 1] 7262306a36Sopenharmony_ci description: 7362306a36Sopenharmony_ci TDM Data out signal to drive with other masters 7462306a36Sopenharmony_ci 0 = Disable 7562306a36Sopenharmony_ci 1 = Enable 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci qcom,tdm-invert-sync: 7862306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 7962306a36Sopenharmony_ci enum: [0, 1] 8062306a36Sopenharmony_ci description: 8162306a36Sopenharmony_ci TDM Invert the sync 8262306a36Sopenharmony_ci 0 = Normal 8362306a36Sopenharmony_ci 1 = Invert 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci qcom,tdm-data-delay: 8662306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 8762306a36Sopenharmony_ci enum: [0, 1, 2] 8862306a36Sopenharmony_ci description: 8962306a36Sopenharmony_ci TDM Number of bit clock to delay data 9062306a36Sopenharmony_ci 0 = 0 bit clock cycle 9162306a36Sopenharmony_ci 1 = 1 bit clock cycle 9262306a36Sopenharmony_ci 2 = 2 bit clock cycle 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci qcom,tdm-data-align: 9562306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 9662306a36Sopenharmony_ci enum: [0, 1] 9762306a36Sopenharmony_ci description: 9862306a36Sopenharmony_ci Indicate how data is packed within the slot. For example, 32 slot 9962306a36Sopenharmony_ci width in case of sample bit width is 24TDM Invert the sync. 10062306a36Sopenharmony_ci 0 = MSB 10162306a36Sopenharmony_ci 1 = LSB 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci required: 10462306a36Sopenharmony_ci - reg 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ci allOf: 10762306a36Sopenharmony_ci - if: 10862306a36Sopenharmony_ci properties: 10962306a36Sopenharmony_ci reg: 11062306a36Sopenharmony_ci contains: 11162306a36Sopenharmony_ci # TDM DAI ID range from PRIMARY_TDM_RX_0 - QUINARY_TDM_TX_7 11262306a36Sopenharmony_ci items: 11362306a36Sopenharmony_ci minimum: 24 11462306a36Sopenharmony_ci maximum: 103 11562306a36Sopenharmony_ci then: 11662306a36Sopenharmony_ci required: 11762306a36Sopenharmony_ci - qcom,tdm-sync-mode 11862306a36Sopenharmony_ci - qcom,tdm-sync-src 11962306a36Sopenharmony_ci - qcom,tdm-data-out 12062306a36Sopenharmony_ci - qcom,tdm-invert-sync 12162306a36Sopenharmony_ci - qcom,tdm-data-delay 12262306a36Sopenharmony_ci - qcom,tdm-data-align 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ci - if: 12562306a36Sopenharmony_ci properties: 12662306a36Sopenharmony_ci reg: 12762306a36Sopenharmony_ci contains: 12862306a36Sopenharmony_ci # MI2S DAI ID range PRIMARY_MI2S_RX - QUATERNARY_MI2S_TX and 12962306a36Sopenharmony_ci # QUINARY_MI2S_RX - QUINARY_MI2S_TX 13062306a36Sopenharmony_ci items: 13162306a36Sopenharmony_ci oneOf: 13262306a36Sopenharmony_ci - minimum: 16 13362306a36Sopenharmony_ci maximum: 23 13462306a36Sopenharmony_ci - minimum: 127 13562306a36Sopenharmony_ci maximum: 128 13662306a36Sopenharmony_ci then: 13762306a36Sopenharmony_ci required: 13862306a36Sopenharmony_ci - qcom,sd-lines 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci additionalProperties: false 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_cirequired: 14362306a36Sopenharmony_ci - compatible 14462306a36Sopenharmony_ci - "#sound-dai-cells" 14562306a36Sopenharmony_ci - "#address-cells" 14662306a36Sopenharmony_ci - "#size-cells" 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ciadditionalProperties: false 14962306a36Sopenharmony_ci 15062306a36Sopenharmony_ciexamples: 15162306a36Sopenharmony_ci - | 15262306a36Sopenharmony_ci #include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h> 15362306a36Sopenharmony_ci 15462306a36Sopenharmony_ci dais { 15562306a36Sopenharmony_ci compatible = "qcom,q6afe-dais"; 15662306a36Sopenharmony_ci #address-cells = <1>; 15762306a36Sopenharmony_ci #size-cells = <0>; 15862306a36Sopenharmony_ci #sound-dai-cells = <1>; 15962306a36Sopenharmony_ci 16062306a36Sopenharmony_ci dai@22 { 16162306a36Sopenharmony_ci reg = <QUATERNARY_MI2S_RX>; 16262306a36Sopenharmony_ci qcom,sd-lines = <0 1 2 3>; 16362306a36Sopenharmony_ci }; 16462306a36Sopenharmony_ci }; 165