This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM437X audio driver

Other Parts Discussed in Thread: TLV320AIC3106, TPS63031

Hi,
I am using the AM437x and ti-sdk-am437x-evm-02.00.02.11.
the audio chip is tlv320aic3106
Now I test the audio driver but the driver have a problem.
The problem is I use the LINE IN to record 10 seconds,
But it can't stop and continued to the recording, and continuously produce audio files,
each of the audio file is only for an instant.
The result is, it produce a audio files of 10 seconds and lots of audio files for an instant.
 here is the code of am437x-gp-evm.dts:
sound0: sound@0 {
  compatible = "simple-audio-card";
  simple-audio-card,name = "AM437x-GP-EVM";
  simple-audio-card,widgets =
   "Microphone", "Microphone Jack",
   "Line", "Line In Jack",
   "Line", "Line Out Jack";
  simple-audio-card,routing =
   "LINE1L", "Line In Jack",
   "LINE1R", "Line In Jack",
   "MIC3L", "Microphone Jack",
   "MIC3R", "Microphone Jack",
   "Microphone Jack", "Mic Bias",
   "Line Out Jack", "LLOUT",
   "Line Out Jack", "RLOUT";
  simple-audio-card,format = "dsp_b";
  simple-audio-card,bitclock-master = <&link0_codec>;
  simple-audio-card,frame-master = <&link0_codec>;
  simple-audio-card,bitclock-inversion;

  simple-audio-card,cpu {
   sound-dai = <&mcasp1>;
   system-clock-frequency = <24000000>;
  };

  link0_codec: simple-audio-card,codec {
   sound-dai = <&tlv320aic3106>;
   system-clock-frequency = <24000000>;
  };
 };
 tlv320aic3106: tlv320aic3106@18 {
  #sound-dai-cells = <0>;
  compatible = "ti,tlv320aic3106";
  reg = <0x18>;
  status = "okay";

  /* Regulators */
  IOVDD-supply = <&evm_v3_3d>; /* V3_3D -> <tps63031> EN: V1_8D -> VBAT */
  AVDD-supply = <&evm_v3_3d>; /* v3_3AUD -> V3_3D -> ... */
  DRVDD-supply = <&evm_v3_3d>; /* v3_3AUD -> V3_3D -> ... */
  DVDD-supply = <&ldo1>; /* V1_8D -> LDO1 */
 };

here is the alsa command(LINE IN) what I execute:
Target# amixer -c AM437xGPEVM sset 'Left PGA Mixer Line1L' on
Target# amixer -c AM437xGPEVM sset 'Right PGA Mixer Line1R' on
Target# amixer -c AM437xGPEVM sset 'Left PGA Mixer Mic3L' off
Target# amixer -c AM437xGPEVM sset 'Right PGA Mixer Mic3R' off
Target# amixer -c AM437xGPEVM sset 'PGA' 40
Target# arecord -f cd -r 44100 -d 10 -c 2 test.wav
Target# aplay test.wav
 
Can somebody give me some advice
Thanks,
Ivan