Hi Rob, Mark
+++ 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.
I have no objection about naming, but this is one of simple-xxx-card series. And, this is very simple from ALSA SoC point of view...
+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.
ALSA SoC needs 3 type of driver, CPU/Codec/Card. But HW is SoC <-> Codec. Thus, "CPU" side DT needs to call "Card" portion, and ALSA SoC needs to select Card type (graph-audio-card, graph-scu-card, etc, etc....). Above it for it.
SoC { compatible = "cpu_driver_compatible_name"; ... port { compatible = "card_driver_compatible_name"; ... }; };
Here, SoC driver "cpu_driver_compatible_name" will handle CPU and its each port settings. And it will probes "card_driver_compatible_name". "card_driver_compatible_name" will connect CPU <-> Codec via ALSA SoC.
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.
Hmm... this is not for endpoint, but for whole card. Mark, of course this can goes to each endpoint, but it negates passed ALSA SoC Card discussion/decision. What is your opinion ?