165f0a8eaSJerome Brunet# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 265f0a8eaSJerome Brunet%YAML 1.2 365f0a8eaSJerome Brunet--- 465f0a8eaSJerome Brunet$id: http://devicetree.org/schemas/sound/amlogic,axg-sound-card.yaml# 565f0a8eaSJerome Brunet$schema: http://devicetree.org/meta-schemas/core.yaml# 665f0a8eaSJerome Brunet 765f0a8eaSJerome Brunettitle: Amlogic AXG sound card 865f0a8eaSJerome Brunet 965f0a8eaSJerome Brunetmaintainers: 1065f0a8eaSJerome Brunet - Jerome Brunet <jbrunet@baylibre.com> 1165f0a8eaSJerome Brunet 12*a06ce12eSKrzysztof KozlowskiallOf: 13*a06ce12eSKrzysztof Kozlowski - $ref: sound-card-common.yaml# 14*a06ce12eSKrzysztof Kozlowski 1565f0a8eaSJerome Brunetproperties: 1665f0a8eaSJerome Brunet compatible: 1765f0a8eaSJerome Brunet const: amlogic,axg-sound-card 1865f0a8eaSJerome Brunet 1965f0a8eaSJerome Brunet audio-aux-devs: 2065f0a8eaSJerome Brunet $ref: /schemas/types.yaml#/definitions/phandle-array 2165f0a8eaSJerome Brunet description: list of auxiliary devices 2265f0a8eaSJerome Brunet 2365f0a8eaSJerome Brunet audio-widgets: 2465f0a8eaSJerome Brunet $ref: /schemas/types.yaml#/definitions/non-unique-string-array 2565f0a8eaSJerome Brunet description: 2665f0a8eaSJerome Brunet A list off component DAPM widget. Each entry is a pair of strings, 2765f0a8eaSJerome Brunet the first being the widget type, the second being the widget name 2865f0a8eaSJerome Brunet 2965f0a8eaSJerome BrunetpatternProperties: 3065f0a8eaSJerome Brunet "^dai-link-[0-9]+$": 3165f0a8eaSJerome Brunet type: object 3265f0a8eaSJerome Brunet additionalProperties: false 3365f0a8eaSJerome Brunet description: 3465f0a8eaSJerome Brunet Container for dai-link level properties and the CODEC sub-nodes. 3565f0a8eaSJerome Brunet There should be at least one (and probably more) subnode of this type 3665f0a8eaSJerome Brunet 3765f0a8eaSJerome Brunet properties: 3865f0a8eaSJerome Brunet dai-format: 3965f0a8eaSJerome Brunet $ref: /schemas/types.yaml#/definitions/string 4065f0a8eaSJerome Brunet enum: [ i2s, left-j, dsp_a ] 4165f0a8eaSJerome Brunet 4265f0a8eaSJerome Brunet dai-tdm-slot-num: 4365f0a8eaSJerome Brunet $ref: /schemas/types.yaml#/definitions/uint32 4465f0a8eaSJerome Brunet description: 4565f0a8eaSJerome Brunet Number of slots in use. If omitted, slot number is set to 4665f0a8eaSJerome Brunet accommodate the largest mask provided. 4765f0a8eaSJerome Brunet maximum: 32 4865f0a8eaSJerome Brunet 4965f0a8eaSJerome Brunet dai-tdm-slot-width: 5065f0a8eaSJerome Brunet $ref: /schemas/types.yaml#/definitions/uint32 5165f0a8eaSJerome Brunet description: Width in bits for each slot 5265f0a8eaSJerome Brunet enum: [ 8, 16, 20, 24, 32 ] 5365f0a8eaSJerome Brunet default: 32 5465f0a8eaSJerome Brunet 5565f0a8eaSJerome Brunet mclk-fs: 5665f0a8eaSJerome Brunet $ref: /schemas/types.yaml#/definitions/uint32 5765f0a8eaSJerome Brunet description: 5865f0a8eaSJerome Brunet Multiplication factor between the frame rate and master clock 5965f0a8eaSJerome Brunet rate 6065f0a8eaSJerome Brunet 6165f0a8eaSJerome Brunet sound-dai: 6265f0a8eaSJerome Brunet maxItems: 1 6365f0a8eaSJerome Brunet description: phandle of the CPU DAI 6465f0a8eaSJerome Brunet 6565f0a8eaSJerome Brunet patternProperties: 6665f0a8eaSJerome Brunet "^dai-tdm-slot-(t|r)x-mask-[0-3]$": 6765f0a8eaSJerome Brunet $ref: /schemas/types.yaml#/definitions/uint32-array 6865f0a8eaSJerome Brunet minItems: 1 6965f0a8eaSJerome Brunet maxItems: 32 7065f0a8eaSJerome Brunet description: 7165f0a8eaSJerome Brunet Transmit and receive cpu slot masks of each TDM lane 7265f0a8eaSJerome Brunet When omitted, mask is assumed to have to no slots. A valid 7365f0a8eaSJerome Brunet interface must have at least one slot, so at least one these 7465f0a8eaSJerome Brunet mask should be provided with an enabled slot. 7565f0a8eaSJerome Brunet 7665f0a8eaSJerome Brunet "^codec(-[0-9]+)?$": 7765f0a8eaSJerome Brunet type: object 7865f0a8eaSJerome Brunet additionalProperties: false 7965f0a8eaSJerome Brunet description: 8065f0a8eaSJerome Brunet dai-link representing backend links should have at least one subnode. 8165f0a8eaSJerome Brunet One subnode for each codec of the dai-link. dai-link representing 8265f0a8eaSJerome Brunet frontend links have no codec, therefore have no subnodes 8365f0a8eaSJerome Brunet 8465f0a8eaSJerome Brunet properties: 8565f0a8eaSJerome Brunet sound-dai: 8665f0a8eaSJerome Brunet maxItems: 1 8765f0a8eaSJerome Brunet description: phandle of the codec DAI 8865f0a8eaSJerome Brunet 8965f0a8eaSJerome Brunet patternProperties: 9065f0a8eaSJerome Brunet "^dai-tdm-slot-(t|r)x-mask$": 9165f0a8eaSJerome Brunet $ref: /schemas/types.yaml#/definitions/uint32-array 9265f0a8eaSJerome Brunet minItems: 1 9365f0a8eaSJerome Brunet maxItems: 32 9465f0a8eaSJerome Brunet description: Transmit and receive codec slot masks 9565f0a8eaSJerome Brunet 9665f0a8eaSJerome Brunet required: 9765f0a8eaSJerome Brunet - sound-dai 9865f0a8eaSJerome Brunet 9965f0a8eaSJerome Brunet required: 10065f0a8eaSJerome Brunet - sound-dai 10165f0a8eaSJerome Brunet 10265f0a8eaSJerome Brunetrequired: 10365f0a8eaSJerome Brunet - dai-link-0 10465f0a8eaSJerome Brunet 10565f0a8eaSJerome BrunetunevaluatedProperties: false 10665f0a8eaSJerome Brunet 10765f0a8eaSJerome Brunetexamples: 10865f0a8eaSJerome Brunet - | 10965f0a8eaSJerome Brunet sound { 11065f0a8eaSJerome Brunet compatible = "amlogic,axg-sound-card"; 11165f0a8eaSJerome Brunet model = "AXG-S420"; 11265f0a8eaSJerome Brunet audio-aux-devs = <&tdmin_a>, <&tdmout_c>; 11365f0a8eaSJerome Brunet audio-widgets = "Line", "Lineout", 11465f0a8eaSJerome Brunet "Line", "Linein", 11565f0a8eaSJerome Brunet "Speaker", "Speaker1 Left", 11665f0a8eaSJerome Brunet "Speaker", "Speaker1 Right", 11765f0a8eaSJerome Brunet "Speaker", "Speaker2 Left", 11865f0a8eaSJerome Brunet "Speaker", "Speaker2 Right"; 11965f0a8eaSJerome Brunet audio-routing = "TDMOUT_C IN 0", "FRDDR_A OUT 2", 12065f0a8eaSJerome Brunet "SPDIFOUT IN 0", "FRDDR_A OUT 3", 12165f0a8eaSJerome Brunet "TDM_C Playback", "TDMOUT_C OUT", 12265f0a8eaSJerome Brunet "TDMIN_A IN 2", "TDM_C Capture", 12365f0a8eaSJerome Brunet "TDMIN_A IN 5", "TDM_C Loopback", 12465f0a8eaSJerome Brunet "TODDR_A IN 0", "TDMIN_A OUT", 12565f0a8eaSJerome Brunet "Lineout", "Lineout AOUTL", 12665f0a8eaSJerome Brunet "Lineout", "Lineout AOUTR", 12765f0a8eaSJerome Brunet "Speaker1 Left", "SPK1 OUT_A", 12865f0a8eaSJerome Brunet "Speaker2 Left", "SPK2 OUT_A", 12965f0a8eaSJerome Brunet "Speaker1 Right", "SPK1 OUT_B", 13065f0a8eaSJerome Brunet "Speaker2 Right", "SPK2 OUT_B", 13165f0a8eaSJerome Brunet "Linein AINL", "Linein", 13265f0a8eaSJerome Brunet "Linein AINR", "Linein"; 13365f0a8eaSJerome Brunet 13465f0a8eaSJerome Brunet dai-link-0 { 13565f0a8eaSJerome Brunet sound-dai = <&frddr_a>; 13665f0a8eaSJerome Brunet }; 13765f0a8eaSJerome Brunet 13865f0a8eaSJerome Brunet dai-link-1 { 13965f0a8eaSJerome Brunet sound-dai = <&toddr_a>; 14065f0a8eaSJerome Brunet }; 14165f0a8eaSJerome Brunet 14265f0a8eaSJerome Brunet dai-link-2 { 14365f0a8eaSJerome Brunet sound-dai = <&tdmif_c>; 14465f0a8eaSJerome Brunet dai-format = "i2s"; 14565f0a8eaSJerome Brunet dai-tdm-slot-tx-mask-2 = <1 1>; 14665f0a8eaSJerome Brunet dai-tdm-slot-tx-mask-3 = <1 1>; 14765f0a8eaSJerome Brunet dai-tdm-slot-rx-mask-1 = <1 1>; 14865f0a8eaSJerome Brunet mclk-fs = <256>; 14965f0a8eaSJerome Brunet 15065f0a8eaSJerome Brunet codec-0 { 15165f0a8eaSJerome Brunet sound-dai = <&lineout>; 15265f0a8eaSJerome Brunet }; 15365f0a8eaSJerome Brunet 15465f0a8eaSJerome Brunet codec-1 { 15565f0a8eaSJerome Brunet sound-dai = <&speaker_amp1>; 15665f0a8eaSJerome Brunet }; 15765f0a8eaSJerome Brunet 15865f0a8eaSJerome Brunet codec-2 { 15965f0a8eaSJerome Brunet sound-dai = <&speaker_amp2>; 16065f0a8eaSJerome Brunet }; 16165f0a8eaSJerome Brunet 16265f0a8eaSJerome Brunet codec-3 { 16365f0a8eaSJerome Brunet sound-dai = <&linein>; 16465f0a8eaSJerome Brunet }; 16565f0a8eaSJerome Brunet }; 16665f0a8eaSJerome Brunet 16765f0a8eaSJerome Brunet dai-link-3 { 16865f0a8eaSJerome Brunet sound-dai = <&spdifout>; 16965f0a8eaSJerome Brunet 17065f0a8eaSJerome Brunet codec { 17165f0a8eaSJerome Brunet sound-dai = <&spdif_dit>; 17265f0a8eaSJerome Brunet }; 17365f0a8eaSJerome Brunet }; 17465f0a8eaSJerome Brunet }; 175