From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1161433AbbKFLil (ORCPT ); Fri, 6 Nov 2015 06:38:41 -0500 Received: from mail-pa0-f42.google.com ([209.85.220.42]:33636 "EHLO mail-pa0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1161192AbbKFLij (ORCPT ); Fri, 6 Nov 2015 06:38:39 -0500 From: Caesar Wang To: Heiko Stuebner , Mark Brown Cc: kmixter@chromium.org, Sonny Rao , Doug Anderson , linux-rockchip@lists.infradead.org, Dylan Reid , benchan@chromium.org, Cheng-Yi Chiang , Caesar Wang , Jaroslav Kysela , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Takashi Iwai , Liam Girdwood , linux-arm-kernel@lists.infradead.org Subject: [PATCH v2 0/3] Support more sample rates, let the rates normal work Date: Fri, 6 Nov 2015 19:38:13 +0800 Message-Id: <1446809896-11254-1-git-send-email-wxt@rock-chips.com> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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