On Mon, Nov 28, 2016 at 02:47:57AM +0000, Kuninori Morimoto wrote:
From: Kuninori Morimoto kuninori.morimoto.gx@renesas.com
Signed-off-by: Kuninori Morimoto kuninori.morimoto.gx@renesas.com
.../bindings/sound/simple-graph-card.txt | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/simple-graph-card.txt
diff --git a/Documentation/devicetree/bindings/sound/simple-graph-card.txt b/Documentation/devicetree/bindings/sound/simple-graph-card.txt new file mode 100644 index 0000000..3d4c5a8 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/simple-graph-card.txt @@ -0,0 +1,67 @@ +Simple-Graph-Card:
There's nothing simple about this. graph-audio-card or audio-card-graph.
+Simple-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, Simple-Graph-Card property is same as Simple-Card. +see ${LINUX}/Documentation/devicetree/bindings/sound/simple-card.txt
+Below are same as Simple-Card.
+- simple-audio-card,name +- simple-audio-card,widgets +- simple-audio-card,routing +- simple-audio-card,mclk-fs +- simple-audio-card,hp-det-gpio +- simple-audio-card,mic-det-gpio +- simple-audio-card,format +- simple-audio-card,frame-master +- simple-audio-card,bitclock-master +- simple-audio-card,bitclock-inversion +- simple-audio-card,frame-inversion +- simple-audio-card,mclk-fs +- simple-audio-card,dai-tdm-slot-num +- simple-audio-card,dai-tdm-slot-width
The simple-audio-card prefix is pointless. It's fine to reuse, but don't add to it.
+- clocks / system-clock-frequency
+In Simple-Graph-Card, above properties need in CPU side port on DT. +And it needs to have "compatible" property too. +In addition, CPU side driver needs to call asoc_simple_card_try_to_probe_graph_card(). +It will probe specified Card driver if it could find "compatible" property on port. +Otherwise, it will do nothing.
+Required properties:
+- compatible : "asoc-simple-graph-card"; +- type : "sound";
+Example
+ak4643: codec@12 {
- compatible = "asahi-kasei,ak4643";
- ...
- port {
type = "sound";
ak4643_port: endpoint {
remote-endpoint = <&rcar_ak4643_port>;
...
};
- };
+};
+rcar_sound {
- ...
- port {
compatible = "asoc-simple-graph-card";
Do you have an example where you'd have multiple ports? If not, this should go up a level.
simple-audio-card,format = "left_j";
simple-audio-card,bitclock-master = <&ak4643_port>;
simple-audio-card,frame-master = <&ak4643_port>;
If you follow video-interfaces.txt, these should all go in the endpoint node.
type = "sound";
rcar_ak4643_port: endpoint {
remote-endpoint = <&ak4643_port>;
...
};
- };
+};
1.9.1