imx6dl下除錯sgtl5000總結
阿新 • • 發佈:2018-11-02
配置裝置樹:
[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”下系統預設用系統自帶的,如果改成電源晶片的,反而導致系統不穩定。
參考: