imx6dl下调试sgtl5000总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/WXXGoodJob/article/details/82868281

配置设备树:

 

root@goembed:~# 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
root@goembed:~# 

配置好之后,发现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驱动的调试

猜你喜欢

转载自blog.csdn.net/WXXGoodJob/article/details/82868281