Here are two patchs:
Patch 1: 0001-I.MX6-SSI_ASRC_P2P_Capture-for-SabreSD-board-Kernel-.patch
Patch 2: 0001-I.MX6-SSI_ASRC_P2P-Capture-for-SebreSD-board.patch
Patch 1 is based on patch 2.
memory <-- ASRC_Output FIFO | ASRC_Input FIFO <-- SSI_RX FIFO <-- Audio Codec
| |
ASRC Out clk ASRCK1 <---| |---> ASRC In clk None
| |
ASRC OutPut width | | ASRC InPut width and data format
is set by arecord <---| |---> is set by ASRC P2P parameter
parameter | |
| |
support 44100/48000 | | support 44100/48000
and S24_LE/S16_LE <---| |---> and S24_LE/S16_LE
You can use:
arecord -Dhw:0,1 -c 2 -f S16_LE/S24_LE -r 44100/48000 XXX.wav
aplay XXX.wav
to test this patch.