[alsa-devel] [PATCH 0/2][RFC] ASoC: add simple-graph-card support
Kuninori Morimoto
kuninori.morimoto.gx at renesas.com
Fri May 27 08:59:22 CEST 2016
Hi Mark
Cc Laurent
This is graph base DT support with simple-card.
Because it is still [RFC], I don't post full-patch-set yet,
but now we can use simple-card with graph style :)
(If my previous simple-card cleanup patches are accepted :)
Because it is based on simple-card, simple-graph-card can use similar
feature. But unfortunately not full feature are tested well, because
I don't have some of them. Thesea are not well tested feature.
Maybe no big problem, but I don't know
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,dai-tdm-slot-num
simple-audio-card,dai-tdm-slot-width
Big difference between simple-card <-> simple-graph-card is that
simple-graph-card doesn't support "platform" endpoint.
I don't know how to handle it under graph.
To support graph base DT, CPU/Codec driver might need to adjust.
And, as Jean-Francois mentioned before, CPU/Platform driver
need to register simple-graph-card card.
1 big concern is that it doesn't care about video port at this point.
So, if device has both video/sound ports, simple-graph-card
can't probe card correctly.
We need to have .type or similar property to know it was "video port"
or "sound port" ?
(ASoC need to know dai name, and it is based on total sound port number)
Below are simple-card <-> simple-graph-card DT style
=====================
simple-card
=====================
sound_card {
compatible = "simple-audio-card";
simple-audio-card,format = "left_j";
simple-audio-card,bitclock-master = <&sndcodec>;
simple-audio-card,frame-master = <&sndcodec>;
sndcpu: simple-audio-card,cpu {
sound-dai = <&soc_port>;
};
sndcodec: simple-audio-card,codec {
sound-dai = <&codec_port>;
clocks = <&xxx>;
};
};
codec_port: codec {
#sound-dai-cells = <0>;
...
};
soc_port: SoC {
#sound-dai-cells = <0>;
...
soc-port-specific-property
};
=====================
simple-graph-card
=====================
codec {
...
port {
codec_port: endpoint {
remote-endpoint = <&soc_port>;
clocks = <&xxx>;
};
};
};
SoC {
...
port {
simple-audio-card,format = "left_j";
simple-audio-card,bitclock-master = <&codec_port>;
simple-audio-card,frame-master = <&codec_port>;
soc_port: endpoint {
remote-endpoint = <&codec_port>;
soc-port-specific-property
};
};
};
Best regards
---
Kuninori Morimoto
More information about the Alsa-devel
mailing list