125 lines
3.1 KiB
Plaintext
125 lines
3.1 KiB
Plaintext
Amlogic AXG sound card:
|
|
|
|
Required properties:
|
|
|
|
- compatible: "amlogic,axg-sound-card"
|
|
- model : User specified audio sound card name, one string
|
|
|
|
Optional properties:
|
|
|
|
- audio-aux-devs : List of phandles pointing to auxiliary devices
|
|
- audio-widgets : Please refer to widgets.txt.
|
|
- audio-routing : A list of the connections between audio components.
|
|
|
|
Subnodes:
|
|
|
|
- dai-link: Container for dai-link level properties and the CODEC
|
|
sub-nodes. There should be at least one (and probably more)
|
|
subnode of this type.
|
|
|
|
Required dai-link properties:
|
|
|
|
- sound-dai: phandle and port of the CPU DAI.
|
|
|
|
Required TDM Backend dai-link properties:
|
|
- dai-format : CPU/CODEC common audio format
|
|
|
|
Optional TDM Backend dai-link properties:
|
|
- dai-tdm-slot-rx-mask-{0,1,2,3}: Receive direction slot masks
|
|
- dai-tdm-slot-tx-mask-{0,1,2,3}: Transmit direction slot masks
|
|
When omitted, mask is assumed to have to no
|
|
slots. A valid must have at one slot, so at
|
|
least one these mask should be provided with
|
|
an enabled slot.
|
|
- dai-tdm-slot-num : Please refer to tdm-slot.txt.
|
|
If omitted, slot number is set to accommodate the largest
|
|
mask provided.
|
|
- dai-tdm-slot-width : Please refer to tdm-slot.txt. default to 32 if omitted.
|
|
- mclk-fs : Multiplication factor between stream rate and mclk
|
|
|
|
Backend dai-link subnodes:
|
|
|
|
- codec: dai-link representing backend links should have at least one subnode.
|
|
One subnode for each codec of the dai-link.
|
|
dai-link representing frontend links have no codec, therefore have no
|
|
subnodes
|
|
|
|
Required codec subnodes properties:
|
|
|
|
- sound-dai: phandle and port of the CODEC DAI.
|
|
|
|
Optional codec subnodes properties:
|
|
|
|
- dai-tdm-slot-tx-mask : Please refer to tdm-slot.txt.
|
|
- dai-tdm-slot-rx-mask : Please refer to tdm-slot.txt.
|
|
|
|
Example:
|
|
|
|
sound {
|
|
compatible = "amlogic,axg-sound-card";
|
|
model = "AXG-S420";
|
|
audio-aux-devs = <&tdmin_a>, <&tdmout_c>;
|
|
audio-widgets = "Line", "Lineout",
|
|
"Line", "Linein",
|
|
"Speaker", "Speaker1 Left",
|
|
"Speaker", "Speaker1 Right";
|
|
"Speaker", "Speaker2 Left",
|
|
"Speaker", "Speaker2 Right";
|
|
audio-routing = "TDMOUT_C IN 0", "FRDDR_A OUT 2",
|
|
"SPDIFOUT IN 0", "FRDDR_A OUT 3",
|
|
"TDM_C Playback", "TDMOUT_C OUT",
|
|
"TDMIN_A IN 2", "TDM_C Capture",
|
|
"TDMIN_A IN 5", "TDM_C Loopback",
|
|
"TODDR_A IN 0", "TDMIN_A OUT",
|
|
"Lineout", "Lineout AOUTL",
|
|
"Lineout", "Lineout AOUTR",
|
|
"Speaker1 Left", "SPK1 OUT_A",
|
|
"Speaker2 Left", "SPK2 OUT_A",
|
|
"Speaker1 Right", "SPK1 OUT_B",
|
|
"Speaker2 Right", "SPK2 OUT_B",
|
|
"Linein AINL", "Linein",
|
|
"Linein AINR", "Linein";
|
|
|
|
dai-link@0 {
|
|
sound-dai = <&frddr_a>;
|
|
};
|
|
|
|
dai-link@1 {
|
|
sound-dai = <&toddr_a>;
|
|
};
|
|
|
|
dai-link@2 {
|
|
sound-dai = <&tdmif_c>;
|
|
dai-format = "i2s";
|
|
dai-tdm-slot-tx-mask-2 = <1 1>;
|
|
dai-tdm-slot-tx-mask-3 = <1 1>;
|
|
dai-tdm-slot-rx-mask-1 = <1 1>;
|
|
mclk-fs = <256>;
|
|
|
|
codec@0 {
|
|
sound-dai = <&lineout>;
|
|
};
|
|
|
|
codec@1 {
|
|
sound-dai = <&speaker_amp1>;
|
|
};
|
|
|
|
codec@2 {
|
|
sound-dai = <&speaker_amp2>;
|
|
};
|
|
|
|
codec@3 {
|
|
sound-dai = <&linein>;
|
|
};
|
|
|
|
};
|
|
|
|
dai-link@3 {
|
|
sound-dai = <&spdifout>;
|
|
|
|
codec {
|
|
sound-dai = <&spdif_dit>;
|
|
};
|
|
};
|
|
};
|