Part Number: BEAGLEBK
Tool/software: Linux
Hi, I am having an issue with the WS and BCLK rate being produced by my system as running the McASP in I2S master mode. I am interfacing the Beaglebone Black over I2S with a BT radio.
When I play the 44.1kHz audio my printk() statements produce the following parameters with good audio and a scoped output to match.
[ 1022.052468] sample_size=16
[ 1022.052482] rate=44100
[ 1022.052493] sysclk=24000000
[ 1022.052496] bclk_freq=1411200
When I play the 8kHz audio my printk() statements produce the following parameters but the audio us speed up and the scoped output does not match the parameters.
[ 1081.128650] sample_size=16
[ 1081.128664] rate=8000
[ 1081.128673] sysclk=24000000
[ 1081.128677] bclk_freq=256000
My scope output produces a BCLK at 827.8kHz (rather then 256kHz) and a WS signal at 25.86kHz (rather then 8kHz). My guess would be this has to-do with a mis-match in mapping the rates to the clock divider circuitry described in section 22.3.5.1 of spruh73p.pdf. I am just not sure where to find this mapping inside the linux kernel drivers. I am using 4.14.40 from the TI sdk and my drivers have been largely taken from the steps in: http://processors.wiki.ti.com/index.php/Sitara_Linux_Audio_DAC_Example.