[PATCH v2 0/3] Support more sample rates, let the rates normal work
Caesar Wang
wxt at rock-chips.com
Fri Nov 6 03:38:13 PST 2015
That's seem the moment rockchip-codec driver other than 44100 and 48000
do not work.
Says the (max98090, rt5640).
----
As the chromeos reported
issue:(https://chromium.googlesource.com/chromiumos/third_party/kernel/+/v3.14)
For detail:
In that bug we want to add 32000 to
sound/soc/rockchip/rockchip_max98090.c rk_aif1_hw_params.
However that does not work.
Previously, in
https://chromium-review.googlesource.com/#/c/268398/ , rate
8000, 1600, 96000 were added.
However, those rates do not work. I got the same audio as 48000
when I run
aplay -D hw:0,0
/usr/local/autotest/cros/audio/fix_440_16_half.raw --rate 8000
-f S16_LE -c2
aplay -D hw:0,0
/usr/local/autotest/cros/audio/fix_440_16_half.raw --rate 16000
-f S16_LE -c2
aplay -D hw:0,0
/usr/local/autotest/cros/audio/fix_440_16_half.raw --rate 96000
-f S16_LE -c2
They all sound identical to
aplay -D hw:0,0
/usr/local/autotest/cros/audio/fix_440_16_half.raw --rate 48000
-f S16_LE -c2
Also, recording using
aplay -D hw:0,0 /usr/local/test.raw --rate 96000 -f S16_LE -c2
and examine the output we see it was recording using 48000.
Okay, let's add this series patchs to fix this issue.
arecord -D hw:0 -f S16_LE -c 2 --rate [8000-96000] -d 5 foobar.wav
and
aplay -D hw:0 foobar.wav
Tested on veyron devices.
Changes in v2:
- move the set clock divider into rockchip i2s.
- add the 64000 sample rates for max98090.
- add the 64000 sample rate for rt5645.
Caesar Wang (3):
ASoC: rockchip: i2s: change bclk and lrck according to sample rates
ASoC: rockchip-max98090: Allow more sample rates
ASoC: rockchip-rt5645: Allow more sample rates
sound/soc/rockchip/rockchip_i2s.c | 23 +++++++++++++++++++++++
sound/soc/rockchip/rockchip_max98090.c | 6 ++++++
sound/soc/rockchip/rockchip_rt5645.c | 6 ++++++
3 files changed, 35 insertions(+)
--
1.9.1
More information about the Linux-rockchip
mailing list