ASoC: add audio-graph-card document
"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>
This commit is contained in:
committed by
Mark Brown
parent
1689333f83
commit
2d4e31de5b
@@ -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";
|
||||||
|
...
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
Reference in New Issue
Block a user