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 12a06ce12eSKrzysztof KozlowskiallOf: 13a06ce12eSKrzysztof Kozlowski - $ref: sound-card-common.yaml# 14a06ce12eSKrzysztof 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 29*4b1d9019SNeil Armstrong clocks: 30*4b1d9019SNeil Armstrong minItems: 1 31*4b1d9019SNeil Armstrong maxItems: 3 32*4b1d9019SNeil Armstrong description: 33*4b1d9019SNeil Armstrong Base PLL clocks of audio susbsytem, used to configure base clock 34*4b1d9019SNeil Armstrong frequencies for different audio use-cases. 35*4b1d9019SNeil Armstrong 3665f0a8eaSJerome BrunetpatternProperties: 3765f0a8eaSJerome Brunet "^dai-link-[0-9]+$": 3865f0a8eaSJerome Brunet type: object 3965f0a8eaSJerome Brunet additionalProperties: false 4065f0a8eaSJerome Brunet description: 4165f0a8eaSJerome Brunet Container for dai-link level properties and the CODEC sub-nodes. 4265f0a8eaSJerome Brunet There should be at least one (and probably more) subnode of this type 4365f0a8eaSJerome Brunet 4465f0a8eaSJerome Brunet properties: 4565f0a8eaSJerome Brunet dai-format: 4665f0a8eaSJerome Brunet $ref: /schemas/types.yaml#/definitions/string 4765f0a8eaSJerome Brunet enum: [ i2s, left-j, dsp_a ] 4865f0a8eaSJerome Brunet 4965f0a8eaSJerome Brunet dai-tdm-slot-num: 5065f0a8eaSJerome Brunet $ref: /schemas/types.yaml#/definitions/uint32 5165f0a8eaSJerome Brunet description: 5265f0a8eaSJerome Brunet Number of slots in use. If omitted, slot number is set to 5365f0a8eaSJerome Brunet accommodate the largest mask provided. 5465f0a8eaSJerome Brunet maximum: 32 5565f0a8eaSJerome Brunet 5665f0a8eaSJerome Brunet dai-tdm-slot-width: 5765f0a8eaSJerome Brunet $ref: /schemas/types.yaml#/definitions/uint32 5865f0a8eaSJerome Brunet description: Width in bits for each slot 5965f0a8eaSJerome Brunet enum: [ 8, 16, 20, 24, 32 ] 6065f0a8eaSJerome Brunet default: 32 6165f0a8eaSJerome Brunet 6265f0a8eaSJerome Brunet mclk-fs: 6365f0a8eaSJerome Brunet $ref: /schemas/types.yaml#/definitions/uint32 6465f0a8eaSJerome Brunet description: 6565f0a8eaSJerome Brunet Multiplication factor between the frame rate and master clock 6665f0a8eaSJerome Brunet rate 6765f0a8eaSJerome Brunet 6865f0a8eaSJerome Brunet sound-dai: 6965f0a8eaSJerome Brunet maxItems: 1 7065f0a8eaSJerome Brunet description: phandle of the CPU DAI 7165f0a8eaSJerome Brunet 7265f0a8eaSJerome Brunet patternProperties: 7365f0a8eaSJerome Brunet "^dai-tdm-slot-(t|r)x-mask-[0-3]$": 7465f0a8eaSJerome Brunet $ref: /schemas/types.yaml#/definitions/uint32-array 7565f0a8eaSJerome Brunet minItems: 1 7665f0a8eaSJerome Brunet maxItems: 32 7765f0a8eaSJerome Brunet description: 7865f0a8eaSJerome Brunet Transmit and receive cpu slot masks of each TDM lane 7965f0a8eaSJerome Brunet When omitted, mask is assumed to have to no slots. A valid 8065f0a8eaSJerome Brunet interface must have at least one slot, so at least one these 8165f0a8eaSJerome Brunet mask should be provided with an enabled slot. 8265f0a8eaSJerome Brunet 8365f0a8eaSJerome Brunet "^codec(-[0-9]+)?$": 8465f0a8eaSJerome Brunet type: object 8565f0a8eaSJerome Brunet additionalProperties: false 8665f0a8eaSJerome Brunet description: 8765f0a8eaSJerome Brunet dai-link representing backend links should have at least one subnode. 8865f0a8eaSJerome Brunet One subnode for each codec of the dai-link. dai-link representing 8965f0a8eaSJerome Brunet frontend links have no codec, therefore have no subnodes 9065f0a8eaSJerome Brunet 9165f0a8eaSJerome Brunet properties: 9265f0a8eaSJerome Brunet sound-dai: 9365f0a8eaSJerome Brunet maxItems: 1 9465f0a8eaSJerome Brunet description: phandle of the codec DAI 9565f0a8eaSJerome Brunet 9665f0a8eaSJerome Brunet patternProperties: 9765f0a8eaSJerome Brunet "^dai-tdm-slot-(t|r)x-mask$": 9865f0a8eaSJerome Brunet $ref: /schemas/types.yaml#/definitions/uint32-array 9965f0a8eaSJerome Brunet minItems: 1 10065f0a8eaSJerome Brunet maxItems: 32 10165f0a8eaSJerome Brunet description: Transmit and receive codec slot masks 10265f0a8eaSJerome Brunet 10365f0a8eaSJerome Brunet required: 10465f0a8eaSJerome Brunet - sound-dai 10565f0a8eaSJerome Brunet 10665f0a8eaSJerome Brunet required: 10765f0a8eaSJerome Brunet - sound-dai 10865f0a8eaSJerome Brunet 10965f0a8eaSJerome Brunetrequired: 11065f0a8eaSJerome Brunet - dai-link-0 11165f0a8eaSJerome Brunet 11265f0a8eaSJerome BrunetunevaluatedProperties: false 11365f0a8eaSJerome Brunet 11465f0a8eaSJerome Brunetexamples: 11565f0a8eaSJerome Brunet - | 11665f0a8eaSJerome Brunet sound { 11765f0a8eaSJerome Brunet compatible = "amlogic,axg-sound-card"; 11865f0a8eaSJerome Brunet model = "AXG-S420"; 11965f0a8eaSJerome Brunet audio-aux-devs = <&tdmin_a>, <&tdmout_c>; 12065f0a8eaSJerome Brunet audio-widgets = "Line", "Lineout", 12165f0a8eaSJerome Brunet "Line", "Linein", 12265f0a8eaSJerome Brunet "Speaker", "Speaker1 Left", 12365f0a8eaSJerome Brunet "Speaker", "Speaker1 Right", 12465f0a8eaSJerome Brunet "Speaker", "Speaker2 Left", 12565f0a8eaSJerome Brunet "Speaker", "Speaker2 Right"; 12665f0a8eaSJerome Brunet audio-routing = "TDMOUT_C IN 0", "FRDDR_A OUT 2", 12765f0a8eaSJerome Brunet "SPDIFOUT IN 0", "FRDDR_A OUT 3", 12865f0a8eaSJerome Brunet "TDM_C Playback", "TDMOUT_C OUT", 12965f0a8eaSJerome Brunet "TDMIN_A IN 2", "TDM_C Capture", 13065f0a8eaSJerome Brunet "TDMIN_A IN 5", "TDM_C Loopback", 13165f0a8eaSJerome Brunet "TODDR_A IN 0", "TDMIN_A OUT", 13265f0a8eaSJerome Brunet "Lineout", "Lineout AOUTL", 13365f0a8eaSJerome Brunet "Lineout", "Lineout AOUTR", 13465f0a8eaSJerome Brunet "Speaker1 Left", "SPK1 OUT_A", 13565f0a8eaSJerome Brunet "Speaker2 Left", "SPK2 OUT_A", 13665f0a8eaSJerome Brunet "Speaker1 Right", "SPK1 OUT_B", 13765f0a8eaSJerome Brunet "Speaker2 Right", "SPK2 OUT_B", 13865f0a8eaSJerome Brunet "Linein AINL", "Linein", 13965f0a8eaSJerome Brunet "Linein AINR", "Linein"; 14065f0a8eaSJerome Brunet 14165f0a8eaSJerome Brunet dai-link-0 { 14265f0a8eaSJerome Brunet sound-dai = <&frddr_a>; 14365f0a8eaSJerome Brunet }; 14465f0a8eaSJerome Brunet 14565f0a8eaSJerome Brunet dai-link-1 { 14665f0a8eaSJerome Brunet sound-dai = <&toddr_a>; 14765f0a8eaSJerome Brunet }; 14865f0a8eaSJerome Brunet 14965f0a8eaSJerome Brunet dai-link-2 { 15065f0a8eaSJerome Brunet sound-dai = <&tdmif_c>; 15165f0a8eaSJerome Brunet dai-format = "i2s"; 15265f0a8eaSJerome Brunet dai-tdm-slot-tx-mask-2 = <1 1>; 15365f0a8eaSJerome Brunet dai-tdm-slot-tx-mask-3 = <1 1>; 15465f0a8eaSJerome Brunet dai-tdm-slot-rx-mask-1 = <1 1>; 15565f0a8eaSJerome Brunet mclk-fs = <256>; 15665f0a8eaSJerome Brunet 15765f0a8eaSJerome Brunet codec-0 { 15865f0a8eaSJerome Brunet sound-dai = <&lineout>; 15965f0a8eaSJerome Brunet }; 16065f0a8eaSJerome Brunet 16165f0a8eaSJerome Brunet codec-1 { 16265f0a8eaSJerome Brunet sound-dai = <&speaker_amp1>; 16365f0a8eaSJerome Brunet }; 16465f0a8eaSJerome Brunet 16565f0a8eaSJerome Brunet codec-2 { 16665f0a8eaSJerome Brunet sound-dai = <&speaker_amp2>; 16765f0a8eaSJerome Brunet }; 16865f0a8eaSJerome Brunet 16965f0a8eaSJerome Brunet codec-3 { 17065f0a8eaSJerome Brunet sound-dai = <&linein>; 17165f0a8eaSJerome Brunet }; 17265f0a8eaSJerome Brunet }; 17365f0a8eaSJerome Brunet 17465f0a8eaSJerome Brunet dai-link-3 { 17565f0a8eaSJerome Brunet sound-dai = <&spdifout>; 17665f0a8eaSJerome Brunet 17765f0a8eaSJerome Brunet codec { 17865f0a8eaSJerome Brunet sound-dai = <&spdif_dit>; 17965f0a8eaSJerome Brunet }; 18065f0a8eaSJerome Brunet }; 18165f0a8eaSJerome Brunet }; 182