How to use APE SFC?

I’m using TX1 with L4T 28.1.

I use APE SFC like this:
AIF(8k)->(8k in)SFC(48k out)->I2S

amixer -c 1 sset ‘SFC1 Mux’ ‘ADMAIF1’
amixer -c 1 sset ‘I2S1 Mux’ ‘SFC1’
amixer -c 1 cset iface=MIXER,name=‘SFC1 Channels’ 2
amixer -c 1 cset iface=MIXER,name=‘SFC1 input rate’ 8000
amixer -c 1 cset iface=MIXER,name=‘SFC1 output rate’ 48000
amixer -c 1 cset iface=MIXER,name=‘SFC1 input bit format’ 16
amixer -c 1 cset iface=MIXER,name=‘SFC1 output bit format’ 16
aplay -Dhw:1,0 -f S16_LE -r 8000 -c 2 test.pcm

The I2S play audio with 8K, not 48K.

I found some code in kernel.
“static int tegra_t210ref_dai_init()” in file “tegra_t210ref_mobile_rt565x_alt.c”

err = snd_soc_dai_set_bclk_ratio(card->rtd[idx].cpu_dai,
tegra_machine_get_bclk_ratio(&card->rtd[idx]));

It seem that I2S rate always is setted with 8000 when use “aplay -r 8000”.

The I2S rate should be setted 48K, but how to do that?

May the SFC CODEC should set “output rate” to next widget I2S. But I didn’t found this function in tegra210_sfc_alt.c.

Hello!

Can you try setting the following setting to force the I2S to operate at 48kHz?

amixer -c 1 cset name="codec-x rate" 48kHz

Regards,
Jon