2013-11-20 06:25:02 +00:00
|
|
|
Simple-Card:
|
|
|
|
|
|
|
|
Simple-Card specifies audio DAI connection of SoC <-> codec.
|
|
|
|
|
|
|
|
Required properties:
|
|
|
|
|
|
|
|
- compatible : "simple-audio-card"
|
|
|
|
|
|
|
|
Optional properties:
|
|
|
|
|
2014-02-08 07:59:55 +00:00
|
|
|
- simple-audio-card,name : User specified audio sound card name, one string
|
|
|
|
property.
|
2013-11-20 06:25:02 +00:00
|
|
|
- simple-audio-card,format : CPU/CODEC common audio format.
|
2013-12-23 04:57:01 +00:00
|
|
|
"i2s", "right_j", "left_j" , "dsp_a"
|
|
|
|
"dsp_b", "ac97", "pdm", "msb", "lsb"
|
2014-02-08 07:59:55 +00:00
|
|
|
- simple-audio-card,widgets : Please refer to widgets.txt.
|
2014-01-07 01:15:16 +00:00
|
|
|
- simple-audio-card,routing : A list of the connections between audio components.
|
2013-12-23 04:57:01 +00:00
|
|
|
Each entry is a pair of strings, the first being the
|
|
|
|
connection's sink, the second being the connection's
|
|
|
|
source.
|
2014-02-14 01:34:36 +00:00
|
|
|
- dai-tdm-slot-num : Please refer to tdm-slot.txt.
|
|
|
|
- dai-tdm-slot-width : Please refer to tdm-slot.txt.
|
2013-12-23 04:57:01 +00:00
|
|
|
|
2013-11-20 06:25:02 +00:00
|
|
|
Required subnodes:
|
|
|
|
|
|
|
|
- simple-audio-card,cpu : CPU sub-node
|
|
|
|
- simple-audio-card,codec : CODEC sub-node
|
|
|
|
|
|
|
|
Required CPU/CODEC subnodes properties:
|
|
|
|
|
|
|
|
- sound-dai : phandle and port of CPU/CODEC
|
|
|
|
|
|
|
|
Optional CPU/CODEC subnodes properties:
|
|
|
|
|
|
|
|
- format : CPU/CODEC specific audio format if needed.
|
|
|
|
see simple-audio-card,format
|
|
|
|
- frame-master : bool property. add this if subnode is frame master
|
|
|
|
- bitclock-master : bool property. add this if subnode is bitclock master
|
|
|
|
- bitclock-inversion : bool property. add this if subnode has clock inversion
|
|
|
|
- frame-inversion : bool property. add this if subnode has frame inversion
|
|
|
|
- clocks / system-clock-frequency : specify subnode's clock if needed.
|
|
|
|
it can be specified via "clocks" if system has
|
|
|
|
clock node (= common clock), or "system-clock-frequency"
|
|
|
|
(if system doens't support common clock)
|
|
|
|
|
2014-03-12 03:02:11 +00:00
|
|
|
Note:
|
|
|
|
* For 'format', 'frame-master', 'bitclock-master', 'bitclock-inversion' and
|
|
|
|
'frame-inversion', the simple card will use the settings of CODEC for both
|
|
|
|
CPU and CODEC sides as we need to keep the settings identical for both ends
|
|
|
|
of the link.
|
|
|
|
|
2013-11-20 06:25:02 +00:00
|
|
|
Example:
|
|
|
|
|
|
|
|
sound {
|
|
|
|
compatible = "simple-audio-card";
|
2014-02-08 07:59:55 +00:00
|
|
|
simple-audio-card,name = "VF610-Tower-Sound-Card";
|
2013-11-20 06:25:02 +00:00
|
|
|
simple-audio-card,format = "left_j";
|
2014-02-08 07:59:55 +00:00
|
|
|
simple-audio-card,widgets =
|
|
|
|
"Microphone", "Microphone Jack",
|
|
|
|
"Headphone", "Headphone Jack",
|
|
|
|
"Speaker", "External Speaker";
|
2014-01-10 05:17:27 +00:00
|
|
|
simple-audio-card,routing =
|
2014-02-08 07:59:55 +00:00
|
|
|
"MIC_IN", "Microphone Jack",
|
2013-12-23 04:57:01 +00:00
|
|
|
"Headphone Jack", "HP_OUT",
|
2014-02-08 07:59:55 +00:00
|
|
|
"External Speaker", "LINE_OUT";
|
2013-11-20 06:25:02 +00:00
|
|
|
|
2014-02-14 01:34:36 +00:00
|
|
|
dai-tdm-slot-num = <2>;
|
|
|
|
dai-tdm-slot-width = <8>;
|
|
|
|
|
2013-11-20 06:25:02 +00:00
|
|
|
simple-audio-card,cpu {
|
|
|
|
sound-dai = <&sh_fsi2 0>;
|
|
|
|
};
|
|
|
|
|
|
|
|
simple-audio-card,codec {
|
|
|
|
sound-dai = <&ak4648>;
|
|
|
|
bitclock-master;
|
|
|
|
frame-master;
|
|
|
|
clocks = <&osc>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
&i2c0 {
|
|
|
|
ak4648: ak4648@12 {
|
|
|
|
#sound-dai-cells = <0>;
|
|
|
|
compatible = "asahi-kasei,ak4648";
|
|
|
|
reg = <0x12>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
sh_fsi2: sh_fsi2@ec230000 {
|
|
|
|
#sound-dai-cells = <1>;
|
|
|
|
compatible = "renesas,sh_fsi2";
|
|
|
|
reg = <0xec230000 0x400>;
|
|
|
|
interrupt-parent = <&gic>;
|
|
|
|
interrupts = <0 146 0x4>;
|
|
|
|
};
|