From: Lee Jones <lee.jones@linaro.org>
To: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Cc: sameo@linux.intel.com, broonie@kernel.org, lgirdwood@gmail.com,
patches@opensource.wolfsonmicro.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] mfd: arizona: Add ASYNC_SAMPLE_RATE_2 registers
Date: Mon, 1 Sep 2014 16:21:15 +0100 [thread overview]
Message-ID: <20140901152115.GG8796@lee--X1> (raw)
In-Reply-To: <1409582932-4512-1-git-send-email-ckeepax@opensource.wolfsonmicro.com>
On Mon, 01 Sep 2014, Charles Keepax wrote:
> Some arizona devices have a second asynchronous sample rate, add the
> registers necessary to support this.
>
> Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
> ---
> drivers/mfd/wm5102-tables.c | 3 +++
> drivers/mfd/wm5110-tables.c | 4 ++++
> include/linux/mfd/arizona/registers.h | 28 ++++++++++++++++++++++------
> sound/soc/codecs/arizona.c | 2 +-
> 4 files changed, 30 insertions(+), 7 deletions(-)
Applied, thanks.
> diff --git a/drivers/mfd/wm5102-tables.c b/drivers/mfd/wm5102-tables.c
> index 6d9b7f8..d6f35bb 100644
> --- a/drivers/mfd/wm5102-tables.c
> +++ b/drivers/mfd/wm5102-tables.c
> @@ -1059,6 +1059,8 @@ static bool wm5102_readable_register(struct device *dev, unsigned int reg)
> case ARIZONA_ASYNC_CLOCK_1:
> case ARIZONA_ASYNC_SAMPLE_RATE_1:
> case ARIZONA_ASYNC_SAMPLE_RATE_1_STATUS:
> + case ARIZONA_ASYNC_SAMPLE_RATE_2:
> + case ARIZONA_ASYNC_SAMPLE_RATE_2_STATUS:
> case ARIZONA_OUTPUT_SYSTEM_CLOCK:
> case ARIZONA_OUTPUT_ASYNC_CLOCK:
> case ARIZONA_RATE_ESTIMATOR_1:
> @@ -1892,6 +1894,7 @@ static bool wm5102_volatile_register(struct device *dev, unsigned int reg)
> case ARIZONA_SAMPLE_RATE_3_STATUS:
> case ARIZONA_HAPTICS_STATUS:
> case ARIZONA_ASYNC_SAMPLE_RATE_1_STATUS:
> + case ARIZONA_ASYNC_SAMPLE_RATE_2_STATUS:
> case ARIZONA_FLL1_NCO_TEST_0:
> case ARIZONA_FLL2_NCO_TEST_0:
> case ARIZONA_DAC_COMP_1:
> diff --git a/drivers/mfd/wm5110-tables.c b/drivers/mfd/wm5110-tables.c
> index beae0a3..4642b5b 100644
> --- a/drivers/mfd/wm5110-tables.c
> +++ b/drivers/mfd/wm5110-tables.c
> @@ -702,6 +702,7 @@ static const struct reg_default wm5110_reg_default[] = {
> { 0x00000104, 0x0011 }, /* R260 - Sample rate 3 */
> { 0x00000112, 0x0305 }, /* R274 - Async clock 1 */
> { 0x00000113, 0x0011 }, /* R275 - Async sample rate 1 */
> + { 0x00000114, 0x0011 }, /* R276 - Async sample rate 2 */
> { 0x00000149, 0x0000 }, /* R329 - Output system clock */
> { 0x0000014A, 0x0000 }, /* R330 - Output async clock */
> { 0x00000152, 0x0000 }, /* R338 - Rate Estimator 1 */
> @@ -1738,6 +1739,8 @@ static bool wm5110_readable_register(struct device *dev, unsigned int reg)
> case ARIZONA_ASYNC_CLOCK_1:
> case ARIZONA_ASYNC_SAMPLE_RATE_1:
> case ARIZONA_ASYNC_SAMPLE_RATE_1_STATUS:
> + case ARIZONA_ASYNC_SAMPLE_RATE_2:
> + case ARIZONA_ASYNC_SAMPLE_RATE_2_STATUS:
> case ARIZONA_OUTPUT_SYSTEM_CLOCK:
> case ARIZONA_OUTPUT_ASYNC_CLOCK:
> case ARIZONA_RATE_ESTIMATOR_1:
> @@ -2820,6 +2823,7 @@ static bool wm5110_volatile_register(struct device *dev, unsigned int reg)
> case ARIZONA_SAMPLE_RATE_2_STATUS:
> case ARIZONA_SAMPLE_RATE_3_STATUS:
> case ARIZONA_ASYNC_SAMPLE_RATE_1_STATUS:
> + case ARIZONA_ASYNC_SAMPLE_RATE_2_STATUS:
> case ARIZONA_MIC_DETECT_3:
> case ARIZONA_HEADPHONE_DETECT_2:
> case ARIZONA_INPUT_ENABLES_STATUS:
> diff --git a/include/linux/mfd/arizona/registers.h b/include/linux/mfd/arizona/registers.h
> index 68913ec..c0b075f 100644
> --- a/include/linux/mfd/arizona/registers.h
> +++ b/include/linux/mfd/arizona/registers.h
> @@ -71,7 +71,9 @@
> #define ARIZONA_SAMPLE_RATE_3_STATUS 0x10C
> #define ARIZONA_ASYNC_CLOCK_1 0x112
> #define ARIZONA_ASYNC_SAMPLE_RATE_1 0x113
> +#define ARIZONA_ASYNC_SAMPLE_RATE_2 0x114
> #define ARIZONA_ASYNC_SAMPLE_RATE_1_STATUS 0x11B
> +#define ARIZONA_ASYNC_SAMPLE_RATE_2_STATUS 0x11C
> #define ARIZONA_OUTPUT_SYSTEM_CLOCK 0x149
> #define ARIZONA_OUTPUT_ASYNC_CLOCK 0x14A
> #define ARIZONA_RATE_ESTIMATOR_1 0x152
> @@ -1665,16 +1667,30 @@
> /*
> * R275 (0x113) - Async sample rate 1
> */
> -#define ARIZONA_ASYNC_SAMPLE_RATE_MASK 0x001F /* ASYNC_SAMPLE_RATE - [4:0] */
> -#define ARIZONA_ASYNC_SAMPLE_RATE_SHIFT 0 /* ASYNC_SAMPLE_RATE - [4:0] */
> -#define ARIZONA_ASYNC_SAMPLE_RATE_WIDTH 5 /* ASYNC_SAMPLE_RATE - [4:0] */
> +#define ARIZONA_ASYNC_SAMPLE_RATE_1_MASK 0x001F /* ASYNC_SAMPLE_RATE_1 - [4:0] */
> +#define ARIZONA_ASYNC_SAMPLE_RATE_1_SHIFT 0 /* ASYNC_SAMPLE_RATE_1 - [4:0] */
> +#define ARIZONA_ASYNC_SAMPLE_RATE_1_WIDTH 5 /* ASYNC_SAMPLE_RATE_1 - [4:0] */
> +
> +/*
> + * R276 (0x114) - Async sample rate 2
> + */
> +#define ARIZONA_ASYNC_SAMPLE_RATE_2_MASK 0x001F /* ASYNC_SAMPLE_RATE_2 - [4:0] */
> +#define ARIZONA_ASYNC_SAMPLE_RATE_2_SHIFT 0 /* ASYNC_SAMPLE_RATE_2 - [4:0] */
> +#define ARIZONA_ASYNC_SAMPLE_RATE_2_WIDTH 5 /* ASYNC_SAMPLE_RATE_2 - [4:0] */
>
> /*
> * R283 (0x11B) - Async sample rate 1 status
> */
> -#define ARIZONA_ASYNC_SAMPLE_RATE_STS_MASK 0x001F /* ASYNC_SAMPLE_RATE_STS - [4:0] */
> -#define ARIZONA_ASYNC_SAMPLE_RATE_STS_SHIFT 0 /* ASYNC_SAMPLE_RATE_STS - [4:0] */
> -#define ARIZONA_ASYNC_SAMPLE_RATE_STS_WIDTH 5 /* ASYNC_SAMPLE_RATE_STS - [4:0] */
> +#define ARIZONA_ASYNC_SAMPLE_RATE_1_STS_MASK 0x001F /* ASYNC_SAMPLE_RATE_1_STS - [4:0] */
> +#define ARIZONA_ASYNC_SAMPLE_RATE_1_STS_SHIFT 0 /* ASYNC_SAMPLE_RATE_1_STS - [4:0] */
> +#define ARIZONA_ASYNC_SAMPLE_RATE_1_STS_WIDTH 5 /* ASYNC_SAMPLE_RATE_1_STS - [4:0] */
> +
> +/*
> + * R284 (0x11C) - Async sample rate 2 status
> + */
> +#define ARIZONA_ASYNC_SAMPLE_RATE_2_STS_MASK 0x001F /* ASYNC_SAMPLE_RATE_2_STS - [4:0] */
> +#define ARIZONA_ASYNC_SAMPLE_RATE_2_STS_SHIFT 0 /* ASYNC_SAMPLE_RATE_2_STS - [4:0] */
> +#define ARIZONA_ASYNC_SAMPLE_RATE_2_STS_WIDTH 5 /* ASYNC_SAMPLE_RATE_2_STS - [4:0] */
>
> /*
> * R329 (0x149) - Output system clock
> diff --git a/sound/soc/codecs/arizona.c b/sound/soc/codecs/arizona.c
> index 2c71f16..0c05e7a 100644
> --- a/sound/soc/codecs/arizona.c
> +++ b/sound/soc/codecs/arizona.c
> @@ -1220,7 +1220,7 @@ static int arizona_hw_params_rate(struct snd_pcm_substream *substream,
> break;
> case ARIZONA_CLK_ASYNCCLK:
> snd_soc_update_bits(codec, ARIZONA_ASYNC_SAMPLE_RATE_1,
> - ARIZONA_ASYNC_SAMPLE_RATE_MASK, sr_val);
> + ARIZONA_ASYNC_SAMPLE_RATE_1_MASK, sr_val);
> if (base)
> snd_soc_update_bits(codec, base + ARIZONA_AIF_RATE_CTRL,
> ARIZONA_AIF1_RATE_MASK,
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
prev parent reply other threads:[~2014-09-01 15:21 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-01 14:48 [PATCH] mfd: arizona: Add ASYNC_SAMPLE_RATE_2 registers Charles Keepax
2014-09-01 15:01 ` Mark Brown
2014-09-01 15:21 ` Lee Jones [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140901152115.GG8796@lee--X1 \
--to=lee.jones@linaro.org \
--cc=broonie@kernel.org \
--cc=ckeepax@opensource.wolfsonmicro.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=patches@opensource.wolfsonmicro.com \
--cc=sameo@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.