ASoC: meson: add axg sound card DT bindings documentation
authorJerome Brunet <jbrunet@baylibre.com>
Tue, 17 Jul 2018 15:43:03 +0000 (17:43 +0200)
committerMark Brown <broonie@kernel.org>
Fri, 20 Jul 2018 16:39:40 +0000 (17:39 +0100)
Add the DT bindings documentation for axg sound card

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.txt b/Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.txt
new file mode 100644 (file)
index 0000000..39e005d
--- /dev/null
@@ -0,0 +1,124 @@
+Amlogic AXG sound card:
+
+Required properties:
+
+- compatible: "amlogic,axg-sound-card"
+- amlogic,name : User specified audio sound card name, one string
+
+Optional properties:
+
+- amlogic,aux-devs : List of phandles pointing to auxiliary devices
+- amlogic,widgets : Please refer to widgets.txt.
+- amlogic,routing : A list of the connections between audio components.
+
+Subnodes:
+
+- amlogic,dai-link: Container for dai-link level properties and the
+                   CODEC sub-nodes. There should be at least one (and
+                   probably) 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";
+       amlogic,name = "AXG-S420";
+       amlogic,aux-devs = <&tdmin_a>, <&tdmout_c>;
+       amlogic,widgets = "Line", "Lineout",
+                         "Line", "Linein",
+                         "Speaker", "Speaker1 Left",
+                         "Speaker", "Speaker1 Right";
+                         "Speaker", "Speaker2 Left",
+                         "Speaker", "Speaker2 Right";
+       amlogic,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";
+
+       amlogic,dai-link@0 {
+               sound-dai = <&frddr_a>;
+       };
+
+       amlogic,dai-link@1 {
+               sound-dai = <&toddr_a>;
+       };
+
+       amlogic,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>;
+               };
+
+       };
+
+       amlogic,dai-link@4 {
+               sound-dai = <&spdifout>;
+
+               codec {
+                       sound-dai = <&spdif_dit>;
+               };
+       };
+};