202 lines
5.1 KiB
YAML
202 lines
5.1 KiB
YAML
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/sound/mt8186-mt6366-rt1019-rt5682s.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: Mediatek MT8186 with MT6366, RT1019 and RT5682S ASoC sound card driver
|
||
|
|
||
|
maintainers:
|
||
|
- Jiaxin Yu <jiaxin.yu@mediatek.com>
|
||
|
|
||
|
description:
|
||
|
This binding describes the MT8186 sound card.
|
||
|
|
||
|
allOf:
|
||
|
- $ref: sound-card-common.yaml#
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
enum:
|
||
|
- mediatek,mt8186-mt6366-rt1019-rt5682s-sound
|
||
|
- mediatek,mt8186-mt6366-rt5682s-max98360-sound
|
||
|
- mediatek,mt8186-mt6366-rt5650-sound
|
||
|
|
||
|
audio-routing:
|
||
|
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||
|
description:
|
||
|
A list of the connections between audio components. Each entry is a
|
||
|
pair of strings, the first being the connection's sink, the second
|
||
|
being the connection's source.
|
||
|
Valid names could be the input or output widgets of audio components,
|
||
|
power supplies, MicBias of codec and the software switch.
|
||
|
minItems: 2
|
||
|
items:
|
||
|
enum:
|
||
|
# Sinks
|
||
|
- HDMI1
|
||
|
- Headphone
|
||
|
- IN1P
|
||
|
- IN1N
|
||
|
- Line Out
|
||
|
- Speakers
|
||
|
|
||
|
# Sources
|
||
|
- Headset Mic
|
||
|
- HPOL
|
||
|
- HPOR
|
||
|
- Speaker
|
||
|
- SPOL
|
||
|
- SPOR
|
||
|
- TX
|
||
|
|
||
|
mediatek,platform:
|
||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||
|
description: The phandle of MT8186 ASoC platform.
|
||
|
|
||
|
dmic-gpios:
|
||
|
maxItems: 1
|
||
|
description:
|
||
|
dmic-gpios optional prop for switching between two DMICs.
|
||
|
Ex, the GPIO can control a MUX HW component to select
|
||
|
dmic clk and data form a Front or Rear dmic.
|
||
|
|
||
|
headset-codec:
|
||
|
type: object
|
||
|
deprecated: true
|
||
|
additionalProperties: false
|
||
|
properties:
|
||
|
sound-dai:
|
||
|
maxItems: 1
|
||
|
required:
|
||
|
- sound-dai
|
||
|
|
||
|
playback-codecs:
|
||
|
type: object
|
||
|
deprecated: true
|
||
|
additionalProperties: false
|
||
|
properties:
|
||
|
sound-dai:
|
||
|
items:
|
||
|
- description: phandle of dp codec
|
||
|
- description: phandle of l channel speaker codec
|
||
|
- description: phandle of r channel speaker codec
|
||
|
minItems: 2
|
||
|
required:
|
||
|
- sound-dai
|
||
|
|
||
|
mediatek,adsp:
|
||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||
|
description: The phandle of MT8186 ADSP platform.
|
||
|
|
||
|
mediatek,dai-link:
|
||
|
$ref: /schemas/types.yaml#/definitions/string-array
|
||
|
description:
|
||
|
A list of the desired dai-links in the sound card. Each entry is a
|
||
|
name defined in the machine driver.
|
||
|
|
||
|
patternProperties:
|
||
|
".*-dai-link$":
|
||
|
type: object
|
||
|
additionalProperties: false
|
||
|
description:
|
||
|
Container for dai-link level properties and CODEC sub-nodes.
|
||
|
|
||
|
properties:
|
||
|
link-name:
|
||
|
description: Indicates dai-link name and PCM stream name
|
||
|
enum: [ I2S0, I2S1, I2S2, I2S3 ]
|
||
|
|
||
|
codec:
|
||
|
description: Holds subnode which indicates codec dai.
|
||
|
type: object
|
||
|
additionalProperties: false
|
||
|
properties:
|
||
|
sound-dai:
|
||
|
minItems: 1
|
||
|
maxItems: 2
|
||
|
required:
|
||
|
- sound-dai
|
||
|
|
||
|
dai-format:
|
||
|
description: audio format
|
||
|
enum: [ i2s, right_j, left_j, dsp_a, dsp_b ]
|
||
|
|
||
|
mediatek,clk-provider:
|
||
|
$ref: /schemas/types.yaml#/definitions/string
|
||
|
description: Indicates dai-link clock master.
|
||
|
enum: [ cpu, codec ]
|
||
|
|
||
|
required:
|
||
|
- link-name
|
||
|
|
||
|
unevaluatedProperties: false
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
- mediatek,platform
|
||
|
|
||
|
# Disallow legacy properties if xxx-dai-link nodes are specified
|
||
|
if:
|
||
|
not:
|
||
|
patternProperties:
|
||
|
".*-dai-link$": false
|
||
|
then:
|
||
|
properties:
|
||
|
headset-codec: false
|
||
|
speaker-codecs: false
|
||
|
|
||
|
examples:
|
||
|
- |
|
||
|
#include <dt-bindings/gpio/gpio.h>
|
||
|
|
||
|
sound: mt8186-sound {
|
||
|
compatible = "mediatek,mt8186-mt6366-rt1019-rt5682s-sound";
|
||
|
model = "mt8186_rt1019_rt5682s";
|
||
|
pinctrl-names = "aud_clk_mosi_off",
|
||
|
"aud_clk_mosi_on",
|
||
|
"aud_gpio_dmic_sec";
|
||
|
pinctrl-0 = <&aud_clk_mosi_off>;
|
||
|
pinctrl-1 = <&aud_clk_mosi_on>;
|
||
|
pinctrl-2 = <&aud_gpio_dmic_sec>;
|
||
|
mediatek,platform = <&afe>;
|
||
|
|
||
|
dmic-gpios = <&pio 23 GPIO_ACTIVE_HIGH>;
|
||
|
|
||
|
audio-routing =
|
||
|
"Headphone", "HPOL",
|
||
|
"Headphone", "HPOR",
|
||
|
"IN1P", "Headset Mic",
|
||
|
"Speakers", "Speaker",
|
||
|
"HDMI1", "TX";
|
||
|
|
||
|
hs-playback-dai-link {
|
||
|
link-name = "I2S0";
|
||
|
dai-format = "i2s";
|
||
|
mediatek,clk-provider = "cpu";
|
||
|
codec {
|
||
|
sound-dai = <&rt5682s 0>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
hs-capture-dai-link {
|
||
|
link-name = "I2S1";
|
||
|
dai-format = "i2s";
|
||
|
mediatek,clk-provider = "cpu";
|
||
|
codec {
|
||
|
sound-dai = <&rt5682s 0>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
spk-hdmi-playback-dai-link {
|
||
|
link-name = "I2S3";
|
||
|
dai-format = "i2s";
|
||
|
mediatek,clk-provider = "cpu";
|
||
|
codec {
|
||
|
sound-dai = <&it6505dptx>, <&rt1019p>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
...
|