1. 程式人生 > >imx6dl下除錯sgtl5000總結

imx6dl下除錯sgtl5000總結

配置裝置樹:

 

 

 

[email protected]:~# aplay -c 2 -t wav -f S16_LE -v /media/mmcblk1p1/cc.wav 
Playing WAVE '/media/mmcblk1p1/cc.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Plug PCM: Hardware PCM card 0 'imx6q-sabrelite-sgtl5000' device 0 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 44100
  exact rate   : 44100 (44100/1)
  msbits       : 16
  buffer_size  : 16384
  period_size  : 4096
  period_time  : 92879
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 4096
  period_event : 0
  start_threshold  : 16384
  stop_threshold   : 16384
  silence_threshold: 0
  silence_size : 0
  boundary     : 1073741824
  appl_ptr     : 0
  hw_ptr       : 0
aplay: pcm_write:1939: write error: Input/output error
[email protected]
:~#

 

配置好之後,發現aplay出錯,如上所示,實際上是電源晶片pfuze100導致 的,吧電源晶片的驅動去掉就好了(去掉I2C裡面的配置)具體原因有待深究。

在之前系統除錯的過程中,也發現有關電源晶片的配置會導致系統不穩定(有些板子啟動一般就出現核心洩露,開始懷疑過記憶體的或是cpu問題,最後把下面那一句去掉就OK了),把不知道是不是電源晶片驅動不穩定的原因,影響到了sgtl5000和系統穩定性。

imx6qdl-goembed.dtsi

imx6dl.dtsi

實際上,關於cpu0節點的regulators配置,在“arch/arm/boot/dts/imx6dl.dtsi”下系統預設用系統自帶的,如果改成電源晶片的,反而導致系統不穩定。

 

 

 

 

 

 

 

 

參考:

1. iMX6 音訊編解碼器 SGTL5000 擴充套件

2. qnx學習筆記-QNX下音訊驅動除錯-音訊SGTL5000驅動的除錯