imx6dl下调试sgtl5000总结

2019-07-14 03:12发布

配置设备树:       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驱动的调试