Hello,
Now the codec and driver work well (certainly the configuration can be
optimized). Below is the corrected part of the dts file and other
information.
All the best
Joseph
-------------
Corrected part of the dts file:
/{
sound {compatible = "simple-audio-card";
simple-audio-card,format = "dsp_a";
simple-audio-card,name = "wm8960-soundcard";
simple-audio-card,bitclock-master = <&sndcodec>;
simple-audio-card,frame-master = <&sndcodec>;
simple-audio-card,convert-rate = <48000>;
simple-audio-card,mclk-fs = <512>;
status = "okay";
simple-audio-card,widgets =
"Line", "Line In",
"Headphone", "Headphone Jack";
simple-audio-card,routing =
"Headphone Jack", "HP_L",
"Headphone Jack", "HP_R",
"LINPUT2", "Line In",
"RINPUT2", "Line In";
simple-audio-card,cpu {
sound-dai = <&mcasp1>;
};
sndcodec: simple-audio-card,codec {
sound-dai = <&wm8960>;
};
};
};
&i2c4 {
status = "okay";
clock-frequency = <400000>;
pinctrl-names = "default";
pinctrl-0 = <&i2c4_pins>;
wm8960: wm8960@1a{
status = "ok";
#sound-dai-cells = <0>;
compatible = "wlf,wm8960";
reg = <0x1a>;
};
};
&mcasp1 {
#sound-dai-cells = <0>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&mcasp1_pins>;
op-mode = <0>; /* MCASP_IIS_MODE */
tdm-slots = <2>;
/* 16 serializers */
serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
0 0 0 0
0 0 0 0
0 0 1 2 /* axr10 - TX, axr11 – RX */
0 0 0 0 >;
tx-num-evt = <1>;
rx-num-evt = <1>;
};
--------------------
debian@beaglebone:/var/lib/cloud9$ dmesg | grep -i sound
[ 0.576402] Advanced Linux Sound Architecture Driver Initialized.
[ 49.744107] asoc-simple-card sound: wm8960-hifi <-> 48460000.mcasp
mapping ok
--------------------
debian@beaglebone:/var/lib/cloud9$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: H58040000encode [HDMI 58040000.encoder], device 0: HDMI
58040000.encoder snd-soc-dummy-dai-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: wm8960soundcard [wm8960-soundcard], device 0:
davinci-mcasp.0-wm8960-hifi wm8960-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
--------------------
alsamixer was used to configure the codec parameters and then the following
commands were succesfully tested: aplay, arecord, speaker-test, alsaloop.
Also commands "i2cset -f -y 3 0x1a 0xuu 0xvv" (where uu and vv are
hexadecimal values) can be used to directly set up some codec registers.
--------------------
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/beagleboard/49d36c3b-afea-4161-a943-9b0f3d7ebd73%40googlegroups.com.