162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/sound/amlogic,axg-sound-card.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Amlogic AXG sound card 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Jerome Brunet <jbrunet@baylibre.com> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ciallOf: 1362306a36Sopenharmony_ci - $ref: sound-card-common.yaml# 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ciproperties: 1662306a36Sopenharmony_ci compatible: 1762306a36Sopenharmony_ci const: amlogic,axg-sound-card 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci audio-aux-devs: 2062306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/phandle-array 2162306a36Sopenharmony_ci description: list of auxiliary devices 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci audio-widgets: 2462306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/non-unique-string-array 2562306a36Sopenharmony_ci description: 2662306a36Sopenharmony_ci A list off component DAPM widget. Each entry is a pair of strings, 2762306a36Sopenharmony_ci the first being the widget type, the second being the widget name 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_cipatternProperties: 3062306a36Sopenharmony_ci "^dai-link-[0-9]+$": 3162306a36Sopenharmony_ci type: object 3262306a36Sopenharmony_ci additionalProperties: false 3362306a36Sopenharmony_ci description: 3462306a36Sopenharmony_ci Container for dai-link level properties and the CODEC sub-nodes. 3562306a36Sopenharmony_ci There should be at least one (and probably more) subnode of this type 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci properties: 3862306a36Sopenharmony_ci dai-format: 3962306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/string 4062306a36Sopenharmony_ci enum: [ i2s, left-j, dsp_a ] 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci dai-tdm-slot-num: 4362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 4462306a36Sopenharmony_ci description: 4562306a36Sopenharmony_ci Number of slots in use. If omitted, slot number is set to 4662306a36Sopenharmony_ci accommodate the largest mask provided. 4762306a36Sopenharmony_ci maximum: 32 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci dai-tdm-slot-width: 5062306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 5162306a36Sopenharmony_ci description: Width in bits for each slot 5262306a36Sopenharmony_ci enum: [ 8, 16, 20, 24, 32 ] 5362306a36Sopenharmony_ci default: 32 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci mclk-fs: 5662306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 5762306a36Sopenharmony_ci description: 5862306a36Sopenharmony_ci Multiplication factor between the frame rate and master clock 5962306a36Sopenharmony_ci rate 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci sound-dai: 6262306a36Sopenharmony_ci maxItems: 1 6362306a36Sopenharmony_ci description: phandle of the CPU DAI 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci patternProperties: 6662306a36Sopenharmony_ci "^dai-tdm-slot-(t|r)x-mask-[0-3]$": 6762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 6862306a36Sopenharmony_ci minItems: 1 6962306a36Sopenharmony_ci maxItems: 32 7062306a36Sopenharmony_ci description: 7162306a36Sopenharmony_ci Transmit and receive cpu slot masks of each TDM lane 7262306a36Sopenharmony_ci When omitted, mask is assumed to have to no slots. A valid 7362306a36Sopenharmony_ci interface must have at least one slot, so at least one these 7462306a36Sopenharmony_ci mask should be provided with an enabled slot. 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci "^codec(-[0-9]+)?$": 7762306a36Sopenharmony_ci type: object 7862306a36Sopenharmony_ci additionalProperties: false 7962306a36Sopenharmony_ci description: 8062306a36Sopenharmony_ci dai-link representing backend links should have at least one subnode. 8162306a36Sopenharmony_ci One subnode for each codec of the dai-link. dai-link representing 8262306a36Sopenharmony_ci frontend links have no codec, therefore have no subnodes 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ci properties: 8562306a36Sopenharmony_ci sound-dai: 8662306a36Sopenharmony_ci maxItems: 1 8762306a36Sopenharmony_ci description: phandle of the codec DAI 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci patternProperties: 9062306a36Sopenharmony_ci "^dai-tdm-slot-(t|r)x-mask$": 9162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 9262306a36Sopenharmony_ci minItems: 1 9362306a36Sopenharmony_ci maxItems: 32 9462306a36Sopenharmony_ci description: Transmit and receive codec slot masks 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci required: 9762306a36Sopenharmony_ci - sound-dai 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci required: 10062306a36Sopenharmony_ci - sound-dai 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_cirequired: 10362306a36Sopenharmony_ci - dai-link-0 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ciunevaluatedProperties: false 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ciexamples: 10862306a36Sopenharmony_ci - | 10962306a36Sopenharmony_ci sound { 11062306a36Sopenharmony_ci compatible = "amlogic,axg-sound-card"; 11162306a36Sopenharmony_ci model = "AXG-S420"; 11262306a36Sopenharmony_ci audio-aux-devs = <&tdmin_a>, <&tdmout_c>; 11362306a36Sopenharmony_ci audio-widgets = "Line", "Lineout", 11462306a36Sopenharmony_ci "Line", "Linein", 11562306a36Sopenharmony_ci "Speaker", "Speaker1 Left", 11662306a36Sopenharmony_ci "Speaker", "Speaker1 Right", 11762306a36Sopenharmony_ci "Speaker", "Speaker2 Left", 11862306a36Sopenharmony_ci "Speaker", "Speaker2 Right"; 11962306a36Sopenharmony_ci audio-routing = "TDMOUT_C IN 0", "FRDDR_A OUT 2", 12062306a36Sopenharmony_ci "SPDIFOUT IN 0", "FRDDR_A OUT 3", 12162306a36Sopenharmony_ci "TDM_C Playback", "TDMOUT_C OUT", 12262306a36Sopenharmony_ci "TDMIN_A IN 2", "TDM_C Capture", 12362306a36Sopenharmony_ci "TDMIN_A IN 5", "TDM_C Loopback", 12462306a36Sopenharmony_ci "TODDR_A IN 0", "TDMIN_A OUT", 12562306a36Sopenharmony_ci "Lineout", "Lineout AOUTL", 12662306a36Sopenharmony_ci "Lineout", "Lineout AOUTR", 12762306a36Sopenharmony_ci "Speaker1 Left", "SPK1 OUT_A", 12862306a36Sopenharmony_ci "Speaker2 Left", "SPK2 OUT_A", 12962306a36Sopenharmony_ci "Speaker1 Right", "SPK1 OUT_B", 13062306a36Sopenharmony_ci "Speaker2 Right", "SPK2 OUT_B", 13162306a36Sopenharmony_ci "Linein AINL", "Linein", 13262306a36Sopenharmony_ci "Linein AINR", "Linein"; 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ci dai-link-0 { 13562306a36Sopenharmony_ci sound-dai = <&frddr_a>; 13662306a36Sopenharmony_ci }; 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_ci dai-link-1 { 13962306a36Sopenharmony_ci sound-dai = <&toddr_a>; 14062306a36Sopenharmony_ci }; 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_ci dai-link-2 { 14362306a36Sopenharmony_ci sound-dai = <&tdmif_c>; 14462306a36Sopenharmony_ci dai-format = "i2s"; 14562306a36Sopenharmony_ci dai-tdm-slot-tx-mask-2 = <1 1>; 14662306a36Sopenharmony_ci dai-tdm-slot-tx-mask-3 = <1 1>; 14762306a36Sopenharmony_ci dai-tdm-slot-rx-mask-1 = <1 1>; 14862306a36Sopenharmony_ci mclk-fs = <256>; 14962306a36Sopenharmony_ci 15062306a36Sopenharmony_ci codec-0 { 15162306a36Sopenharmony_ci sound-dai = <&lineout>; 15262306a36Sopenharmony_ci }; 15362306a36Sopenharmony_ci 15462306a36Sopenharmony_ci codec-1 { 15562306a36Sopenharmony_ci sound-dai = <&speaker_amp1>; 15662306a36Sopenharmony_ci }; 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ci codec-2 { 15962306a36Sopenharmony_ci sound-dai = <&speaker_amp2>; 16062306a36Sopenharmony_ci }; 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ci codec-3 { 16362306a36Sopenharmony_ci sound-dai = <&linein>; 16462306a36Sopenharmony_ci }; 16562306a36Sopenharmony_ci }; 16662306a36Sopenharmony_ci 16762306a36Sopenharmony_ci dai-link-3 { 16862306a36Sopenharmony_ci sound-dai = <&spdifout>; 16962306a36Sopenharmony_ci 17062306a36Sopenharmony_ci codec { 17162306a36Sopenharmony_ci sound-dai = <&spdif_dit>; 17262306a36Sopenharmony_ci }; 17362306a36Sopenharmony_ci }; 17462306a36Sopenharmony_ci }; 175