ASoC: add audio-graph-card document
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Thu, 20 Apr 2017 01:35:41 +0000 (01:35 +0000)
committerMark Brown <broonie@kernel.org>
Wed, 17 May 2017 09:21:21 +0000 (10:21 +0100)
"Audio Graph Card" = "Simple Card" + "OF-graph"

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Documentation/devicetree/bindings/sound/audio-graph-card.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/sound/audio-graph-card.txt b/Documentation/devicetree/bindings/sound/audio-graph-card.txt
new file mode 100644 (file)
index 0000000..bac4b1b
--- /dev/null
@@ -0,0 +1,124 @@
+Audio Graph Card:
+
+Audio Graph Card specifies audio DAI connections of SoC <-> codec.
+It is based on common bindings for device graphs.
+see ${LINUX}/Documentation/devicetree/bindings/graph.txt
+
+Basically, Audio Graph Card property is same as Simple Card.
+see ${LINUX}/Documentation/devicetree/bindings/sound/simple-card.txt
+
+Below are same as Simple-Card.
+
+- label
+- dai-format
+- frame-master
+- bitclock-master
+- bitclock-inversion
+- frame-inversion
+- dai-tdm-slot-num
+- dai-tdm-slot-width
+- clocks / system-clock-frequency
+
+Required properties:
+
+- compatible                           : "audio-graph-card";
+- dais                                 : list of CPU DAI port{s}
+
+Example: Single DAI case
+
+       sound_card {
+               compatible = "audio-graph-card";
+
+               dais = <&cpu_port>;
+       };
+
+       dai-controller {
+               ...
+               cpu_port: port {
+                       cpu_endpoint: endpoint {
+                               remote-endpoint = <&codec_endpoint>;
+
+                               dai-format = "left_j";
+                               ...
+                       };
+               };
+       };
+
+       audio-codec {
+               ...
+               port {
+                       codec_endpoint: endpoint {
+                               remote-endpoint = <&cpu_endpoint>;
+                       };
+               };
+       };
+
+Example: Multi DAI case
+
+       sound-card {
+               compatible = "audio-graph-card";
+
+               label = "sound-card";
+
+               dais = <&cpu_port0
+                       &cpu_port1
+                       &cpu_port2>;
+       };
+
+       audio-codec@0 {
+               ...
+               port {
+                       codec0_endpoint: endpoint {
+                               remote-endpoint = <&cpu_endpoint0>;
+                       };
+               };
+       };
+
+       audio-codec@1 {
+               ...
+               port {
+                       codec1_endpoint: endpoint {
+                               remote-endpoint = <&cpu_endpoint1>;
+                       };
+               };
+       };
+
+       audio-codec@2 {
+               ...
+               port {
+                       codec2_endpoint: endpoint {
+                               remote-endpoint = <&cpu_endpoint2>;
+                       };
+               };
+       };
+
+       dai-controller {
+               ...
+               ports {
+                       cpu_port0: port@0 {
+                               cpu_endpoint0: endpoint {
+                                       remote-endpoint = <&codec0_endpoint>;
+
+                                       dai-format = "left_j";
+                                       ...
+                               };
+                       };
+                       cpu_port1: port@1 {
+                               cpu_endpoint1: endpoint {
+                                       remote-endpoint = <&codec1_endpoint>;
+
+                                       dai-format = "i2s";
+                                       ...
+                               };
+                       };
+                       cpu_port2: port@2 {
+                               cpu_endpoint2: endpoint {
+                                       remote-endpoint = <&codec2_endpoint>;
+
+                                       dai-format = "i2s";
+                                       ...
+                               };
+                       };
+               };
+       };
+