From: Lee Jones <lee.jones@linaro.org>
To: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Cc: broonie@kernel.org, linus.walleij@linaro.org, gnurou@gmail.com,
cw00.choi@samsung.com, myungjoo.ham@samsung.com,
devicetree@vger.kernel.org, alsa-devel@alsa-project.org,
patches@opensource.wolfsonmicro.com,
linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org,
ckeepax@opensource.wolfsonmicro.com
Subject: Re: [PATCH v3 1/8] mfd: arizona: Split INx_MODE into two fields
Date: Wed, 13 May 2015 13:28:27 +0100 [thread overview]
Message-ID: <20150513122827.GV3394@x1> (raw)
In-Reply-To: <1430493319-23808-2-git-send-email-rf@opensource.wolfsonmicro.com>
On Fri, 01 May 2015, Richard Fitzgerald wrote:
> Later arizona silicon has the single/differential selector
> in a different register, and IN1_MODE only selects between
> analogue or digital. Prepare for this by splitting the
> INx_MODE definition into two fields.
>
> Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
> ---
> drivers/mfd/arizona-core.c | 8 ++++++--
> include/linux/mfd/arizona/pdata.h | 5 ++++-
> include/linux/mfd/arizona/registers.h | 27 ++++++++++++++++++---------
> 3 files changed, 28 insertions(+), 12 deletions(-)
Applied, thanks.
> diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c
> index 6ca6dfa..33fa5b5 100644
> --- a/drivers/mfd/arizona-core.c
> +++ b/drivers/mfd/arizona-core.c
> @@ -977,12 +977,16 @@ int arizona_dev_init(struct arizona *arizona)
> /* Default for both is 0 so noop with defaults */
> val = arizona->pdata.dmic_ref[i]
> << ARIZONA_IN1_DMIC_SUP_SHIFT;
> - val |= arizona->pdata.inmode[i] << ARIZONA_IN1_MODE_SHIFT;
> + if (arizona->pdata.inmode[i] & ARIZONA_INMODE_DMIC)
> + val |= 1 << ARIZONA_IN1_MODE_SHIFT;
> + if (arizona->pdata.inmode[i] & ARIZONA_INMODE_SE)
> + val |= 1 << ARIZONA_IN1_SINGLE_ENDED_SHIFT;
>
> regmap_update_bits(arizona->regmap,
> ARIZONA_IN1L_CONTROL + (i * 8),
> ARIZONA_IN1_DMIC_SUP_MASK |
> - ARIZONA_IN1_MODE_MASK, val);
> + ARIZONA_IN1_MODE_MASK |
> + ARIZONA_IN1_SINGLE_ENDED_MASK, val);
> }
>
> for (i = 0; i < ARIZONA_MAX_OUTPUT; i++) {
> diff --git a/include/linux/mfd/arizona/pdata.h b/include/linux/mfd/arizona/pdata.h
> index 1789cb0..f672267 100644
> --- a/include/linux/mfd/arizona/pdata.h
> +++ b/include/linux/mfd/arizona/pdata.h
> @@ -156,7 +156,10 @@ struct arizona_pdata {
> /** MICBIAS configurations */
> struct arizona_micbias micbias[ARIZONA_MAX_MICBIAS];
>
> - /** Mode of input structures */
> + /**
> + * Mode of input structures
> + * One of the ARIZONA_INMODE_xxx values
> + */
> int inmode[ARIZONA_MAX_INPUT];
>
> /** Mode for outputs */
> diff --git a/include/linux/mfd/arizona/registers.h b/include/linux/mfd/arizona/registers.h
> index aacc10d..3499d36 100644
> --- a/include/linux/mfd/arizona/registers.h
> +++ b/include/linux/mfd/arizona/registers.h
> @@ -2515,9 +2515,12 @@
> #define ARIZONA_IN1_DMIC_SUP_MASK 0x1800 /* IN1_DMIC_SUP - [12:11] */
> #define ARIZONA_IN1_DMIC_SUP_SHIFT 11 /* IN1_DMIC_SUP - [12:11] */
> #define ARIZONA_IN1_DMIC_SUP_WIDTH 2 /* IN1_DMIC_SUP - [12:11] */
> -#define ARIZONA_IN1_MODE_MASK 0x0600 /* IN1_MODE - [10:9] */
> -#define ARIZONA_IN1_MODE_SHIFT 9 /* IN1_MODE - [10:9] */
> -#define ARIZONA_IN1_MODE_WIDTH 2 /* IN1_MODE - [10:9] */
> +#define ARIZONA_IN1_MODE_MASK 0x0400 /* IN1_MODE - [10] */
> +#define ARIZONA_IN1_MODE_SHIFT 10 /* IN1_MODE - [10] */
> +#define ARIZONA_IN1_MODE_WIDTH 1 /* IN1_MODE - [10] */
> +#define ARIZONA_IN1_SINGLE_ENDED_MASK 0x0200 /* IN1_MODE - [9] */
> +#define ARIZONA_IN1_SINGLE_ENDED_SHIFT 9 /* IN1_MODE - [9] */
> +#define ARIZONA_IN1_SINGLE_ENDED_WIDTH 1 /* IN1_MODE - [9] */
> #define ARIZONA_IN1L_PGA_VOL_MASK 0x00FE /* IN1L_PGA_VOL - [7:1] */
> #define ARIZONA_IN1L_PGA_VOL_SHIFT 1 /* IN1L_PGA_VOL - [7:1] */
> #define ARIZONA_IN1L_PGA_VOL_WIDTH 7 /* IN1L_PGA_VOL - [7:1] */
> @@ -2588,9 +2591,12 @@
> #define ARIZONA_IN2_DMIC_SUP_MASK 0x1800 /* IN2_DMIC_SUP - [12:11] */
> #define ARIZONA_IN2_DMIC_SUP_SHIFT 11 /* IN2_DMIC_SUP - [12:11] */
> #define ARIZONA_IN2_DMIC_SUP_WIDTH 2 /* IN2_DMIC_SUP - [12:11] */
> -#define ARIZONA_IN2_MODE_MASK 0x0600 /* IN2_MODE - [10:9] */
> -#define ARIZONA_IN2_MODE_SHIFT 9 /* IN2_MODE - [10:9] */
> -#define ARIZONA_IN2_MODE_WIDTH 2 /* IN2_MODE - [10:9] */
> +#define ARIZONA_IN2_MODE_MASK 0x0400 /* IN2_MODE - [10] */
> +#define ARIZONA_IN2_MODE_SHIFT 10 /* IN2_MODE - [10] */
> +#define ARIZONA_IN2_MODE_WIDTH 1 /* IN2_MODE - [10] */
> +#define ARIZONA_IN2_SINGLE_ENDED_MASK 0x0200 /* IN2_MODE - [9] */
> +#define ARIZONA_IN2_SINGLE_ENDED_SHIFT 9 /* IN2_MODE - [9] */
> +#define ARIZONA_IN2_SINGLE_ENDED_WIDTH 1 /* IN2_MODE - [9] */
> #define ARIZONA_IN2L_PGA_VOL_MASK 0x00FE /* IN2L_PGA_VOL - [7:1] */
> #define ARIZONA_IN2L_PGA_VOL_SHIFT 1 /* IN2L_PGA_VOL - [7:1] */
> #define ARIZONA_IN2L_PGA_VOL_WIDTH 7 /* IN2L_PGA_VOL - [7:1] */
> @@ -2661,9 +2667,12 @@
> #define ARIZONA_IN3_DMIC_SUP_MASK 0x1800 /* IN3_DMIC_SUP - [12:11] */
> #define ARIZONA_IN3_DMIC_SUP_SHIFT 11 /* IN3_DMIC_SUP - [12:11] */
> #define ARIZONA_IN3_DMIC_SUP_WIDTH 2 /* IN3_DMIC_SUP - [12:11] */
> -#define ARIZONA_IN3_MODE_MASK 0x0600 /* IN3_MODE - [10:9] */
> -#define ARIZONA_IN3_MODE_SHIFT 9 /* IN3_MODE - [10:9] */
> -#define ARIZONA_IN3_MODE_WIDTH 2 /* IN3_MODE - [10:9] */
> +#define ARIZONA_IN3_MODE_MASK 0x0400 /* IN3_MODE - [10] */
> +#define ARIZONA_IN3_MODE_SHIFT 10 /* IN3_MODE - [10] */
> +#define ARIZONA_IN3_MODE_WIDTH 1 /* IN3_MODE - [10] */
> +#define ARIZONA_IN3_SINGLE_ENDED_MASK 0x0200 /* IN3_MODE - [9] */
> +#define ARIZONA_IN3_SINGLE_ENDED_SHIFT 9 /* IN3_MODE - [9] */
> +#define ARIZONA_IN3_SINGLE_ENDED_WIDTH 1 /* IN3_MODE - [9] */
> #define ARIZONA_IN3L_PGA_VOL_MASK 0x00FE /* IN3L_PGA_VOL - [7:1] */
> #define ARIZONA_IN3L_PGA_VOL_SHIFT 1 /* IN3L_PGA_VOL - [7:1] */
> #define ARIZONA_IN3L_PGA_VOL_WIDTH 7 /* IN3L_PGA_VOL - [7:1] */
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: Lee Jones <lee.jones@linaro.org>
To: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Cc: broonie@kernel.org, linus.walleij@linaro.org, gnurou@gmail.com,
cw00.choi@samsung.com, myungjoo.ham@samsung.com,
devicetree@vger.kernel.org, alsa-devel@alsa-project.org,
patches@opensource.wolfsonmicro.com,
linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org,
ckeepax@opensource.wolfsonmicro.com
Subject: Re: [PATCH v3 1/8] mfd: arizona: Split INx_MODE into two fields
Date: Wed, 13 May 2015 13:28:27 +0100 [thread overview]
Message-ID: <20150513122827.GV3394@x1> (raw)
In-Reply-To: <1430493319-23808-2-git-send-email-rf@opensource.wolfsonmicro.com>
On Fri, 01 May 2015, Richard Fitzgerald wrote:
> Later arizona silicon has the single/differential selector
> in a different register, and IN1_MODE only selects between
> analogue or digital. Prepare for this by splitting the
> INx_MODE definition into two fields.
>
> Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
> ---
> drivers/mfd/arizona-core.c | 8 ++++++--
> include/linux/mfd/arizona/pdata.h | 5 ++++-
> include/linux/mfd/arizona/registers.h | 27 ++++++++++++++++++---------
> 3 files changed, 28 insertions(+), 12 deletions(-)
Applied, thanks.
> diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c
> index 6ca6dfa..33fa5b5 100644
> --- a/drivers/mfd/arizona-core.c
> +++ b/drivers/mfd/arizona-core.c
> @@ -977,12 +977,16 @@ int arizona_dev_init(struct arizona *arizona)
> /* Default for both is 0 so noop with defaults */
> val = arizona->pdata.dmic_ref[i]
> << ARIZONA_IN1_DMIC_SUP_SHIFT;
> - val |= arizona->pdata.inmode[i] << ARIZONA_IN1_MODE_SHIFT;
> + if (arizona->pdata.inmode[i] & ARIZONA_INMODE_DMIC)
> + val |= 1 << ARIZONA_IN1_MODE_SHIFT;
> + if (arizona->pdata.inmode[i] & ARIZONA_INMODE_SE)
> + val |= 1 << ARIZONA_IN1_SINGLE_ENDED_SHIFT;
>
> regmap_update_bits(arizona->regmap,
> ARIZONA_IN1L_CONTROL + (i * 8),
> ARIZONA_IN1_DMIC_SUP_MASK |
> - ARIZONA_IN1_MODE_MASK, val);
> + ARIZONA_IN1_MODE_MASK |
> + ARIZONA_IN1_SINGLE_ENDED_MASK, val);
> }
>
> for (i = 0; i < ARIZONA_MAX_OUTPUT; i++) {
> diff --git a/include/linux/mfd/arizona/pdata.h b/include/linux/mfd/arizona/pdata.h
> index 1789cb0..f672267 100644
> --- a/include/linux/mfd/arizona/pdata.h
> +++ b/include/linux/mfd/arizona/pdata.h
> @@ -156,7 +156,10 @@ struct arizona_pdata {
> /** MICBIAS configurations */
> struct arizona_micbias micbias[ARIZONA_MAX_MICBIAS];
>
> - /** Mode of input structures */
> + /**
> + * Mode of input structures
> + * One of the ARIZONA_INMODE_xxx values
> + */
> int inmode[ARIZONA_MAX_INPUT];
>
> /** Mode for outputs */
> diff --git a/include/linux/mfd/arizona/registers.h b/include/linux/mfd/arizona/registers.h
> index aacc10d..3499d36 100644
> --- a/include/linux/mfd/arizona/registers.h
> +++ b/include/linux/mfd/arizona/registers.h
> @@ -2515,9 +2515,12 @@
> #define ARIZONA_IN1_DMIC_SUP_MASK 0x1800 /* IN1_DMIC_SUP - [12:11] */
> #define ARIZONA_IN1_DMIC_SUP_SHIFT 11 /* IN1_DMIC_SUP - [12:11] */
> #define ARIZONA_IN1_DMIC_SUP_WIDTH 2 /* IN1_DMIC_SUP - [12:11] */
> -#define ARIZONA_IN1_MODE_MASK 0x0600 /* IN1_MODE - [10:9] */
> -#define ARIZONA_IN1_MODE_SHIFT 9 /* IN1_MODE - [10:9] */
> -#define ARIZONA_IN1_MODE_WIDTH 2 /* IN1_MODE - [10:9] */
> +#define ARIZONA_IN1_MODE_MASK 0x0400 /* IN1_MODE - [10] */
> +#define ARIZONA_IN1_MODE_SHIFT 10 /* IN1_MODE - [10] */
> +#define ARIZONA_IN1_MODE_WIDTH 1 /* IN1_MODE - [10] */
> +#define ARIZONA_IN1_SINGLE_ENDED_MASK 0x0200 /* IN1_MODE - [9] */
> +#define ARIZONA_IN1_SINGLE_ENDED_SHIFT 9 /* IN1_MODE - [9] */
> +#define ARIZONA_IN1_SINGLE_ENDED_WIDTH 1 /* IN1_MODE - [9] */
> #define ARIZONA_IN1L_PGA_VOL_MASK 0x00FE /* IN1L_PGA_VOL - [7:1] */
> #define ARIZONA_IN1L_PGA_VOL_SHIFT 1 /* IN1L_PGA_VOL - [7:1] */
> #define ARIZONA_IN1L_PGA_VOL_WIDTH 7 /* IN1L_PGA_VOL - [7:1] */
> @@ -2588,9 +2591,12 @@
> #define ARIZONA_IN2_DMIC_SUP_MASK 0x1800 /* IN2_DMIC_SUP - [12:11] */
> #define ARIZONA_IN2_DMIC_SUP_SHIFT 11 /* IN2_DMIC_SUP - [12:11] */
> #define ARIZONA_IN2_DMIC_SUP_WIDTH 2 /* IN2_DMIC_SUP - [12:11] */
> -#define ARIZONA_IN2_MODE_MASK 0x0600 /* IN2_MODE - [10:9] */
> -#define ARIZONA_IN2_MODE_SHIFT 9 /* IN2_MODE - [10:9] */
> -#define ARIZONA_IN2_MODE_WIDTH 2 /* IN2_MODE - [10:9] */
> +#define ARIZONA_IN2_MODE_MASK 0x0400 /* IN2_MODE - [10] */
> +#define ARIZONA_IN2_MODE_SHIFT 10 /* IN2_MODE - [10] */
> +#define ARIZONA_IN2_MODE_WIDTH 1 /* IN2_MODE - [10] */
> +#define ARIZONA_IN2_SINGLE_ENDED_MASK 0x0200 /* IN2_MODE - [9] */
> +#define ARIZONA_IN2_SINGLE_ENDED_SHIFT 9 /* IN2_MODE - [9] */
> +#define ARIZONA_IN2_SINGLE_ENDED_WIDTH 1 /* IN2_MODE - [9] */
> #define ARIZONA_IN2L_PGA_VOL_MASK 0x00FE /* IN2L_PGA_VOL - [7:1] */
> #define ARIZONA_IN2L_PGA_VOL_SHIFT 1 /* IN2L_PGA_VOL - [7:1] */
> #define ARIZONA_IN2L_PGA_VOL_WIDTH 7 /* IN2L_PGA_VOL - [7:1] */
> @@ -2661,9 +2667,12 @@
> #define ARIZONA_IN3_DMIC_SUP_MASK 0x1800 /* IN3_DMIC_SUP - [12:11] */
> #define ARIZONA_IN3_DMIC_SUP_SHIFT 11 /* IN3_DMIC_SUP - [12:11] */
> #define ARIZONA_IN3_DMIC_SUP_WIDTH 2 /* IN3_DMIC_SUP - [12:11] */
> -#define ARIZONA_IN3_MODE_MASK 0x0600 /* IN3_MODE - [10:9] */
> -#define ARIZONA_IN3_MODE_SHIFT 9 /* IN3_MODE - [10:9] */
> -#define ARIZONA_IN3_MODE_WIDTH 2 /* IN3_MODE - [10:9] */
> +#define ARIZONA_IN3_MODE_MASK 0x0400 /* IN3_MODE - [10] */
> +#define ARIZONA_IN3_MODE_SHIFT 10 /* IN3_MODE - [10] */
> +#define ARIZONA_IN3_MODE_WIDTH 1 /* IN3_MODE - [10] */
> +#define ARIZONA_IN3_SINGLE_ENDED_MASK 0x0200 /* IN3_MODE - [9] */
> +#define ARIZONA_IN3_SINGLE_ENDED_SHIFT 9 /* IN3_MODE - [9] */
> +#define ARIZONA_IN3_SINGLE_ENDED_WIDTH 1 /* IN3_MODE - [9] */
> #define ARIZONA_IN3L_PGA_VOL_MASK 0x00FE /* IN3L_PGA_VOL - [7:1] */
> #define ARIZONA_IN3L_PGA_VOL_SHIFT 1 /* IN3L_PGA_VOL - [7:1] */
> #define ARIZONA_IN3L_PGA_VOL_WIDTH 7 /* IN3L_PGA_VOL - [7:1] */
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
next prev parent reply other threads:[~2015-05-13 12:28 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-01 15:15 [PATCH v3 0/8] Add support for Wolfson WM8998 and WM1814 codecs Richard Fitzgerald
2015-05-01 15:15 ` Richard Fitzgerald
2015-05-01 15:15 ` [PATCH v3 1/8] mfd: arizona: Split INx_MODE into two fields Richard Fitzgerald
2015-05-13 12:28 ` Lee Jones [this message]
2015-05-13 12:28 ` Lee Jones
2015-05-01 15:15 ` [PATCH v3 2/8] ASoC: arizona: add defines for single-input gain control Richard Fitzgerald
2015-05-01 15:15 ` [PATCH v3 3/8] mfd: arizona: Add support for WM8998 and WM1814 Richard Fitzgerald
2015-05-02 9:58 ` Paul Bolle
2015-05-04 9:11 ` Richard Fitzgerald
2015-05-04 10:44 ` Paul Bolle
2015-05-04 10:44 ` Paul Bolle
2015-05-07 8:52 ` Lee Jones
2015-05-07 8:52 ` Lee Jones
2015-05-08 9:11 ` Richard Fitzgerald
2015-05-01 15:15 ` [PATCH v3 4/8] gpio: arizona: add " Richard Fitzgerald
2015-05-01 15:15 ` [PATCH v3 5/8] regulator: " Richard Fitzgerald
2015-05-01 15:15 ` [PATCH v3 6/8] extcon: arizona: Add " Richard Fitzgerald
2015-05-01 15:15 ` Richard Fitzgerald
2015-05-01 15:15 ` [PATCH v3 7/8] ASoC: wm8998: Initial WM8998 codec driver Richard Fitzgerald
[not found] ` <1430493319-23808-8-git-send-email-rf-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2015-05-04 11:39 ` Mark Brown
2015-05-04 11:39 ` Mark Brown
2015-05-05 9:24 ` Richard Fitzgerald
2015-05-05 10:53 ` Mark Brown
2015-05-05 10:53 ` Mark Brown
[not found] ` <20150505105327.GZ22845-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-05-05 13:31 ` Richard Fitzgerald
2015-05-05 13:31 ` Richard Fitzgerald
[not found] ` <20150505133129.GA26101-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2015-05-05 21:59 ` Mark Brown
2015-05-05 21:59 ` Mark Brown
[not found] ` <20150505215934.GH15510-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-05-06 9:24 ` Richard Fitzgerald
2015-05-06 9:24 ` Richard Fitzgerald
2015-05-06 11:48 ` Mark Brown
2015-05-06 12:21 ` Richard Fitzgerald
2015-05-06 12:34 ` Mark Brown
2015-05-01 15:15 ` [PATCH v3 8/8] Documentation: Add WM8998/WM1814 device tree bindings Richard Fitzgerald
[not found] ` <1430493319-23808-9-git-send-email-rf-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2015-05-13 12:29 ` Lee Jones
2015-05-13 12:29 ` Lee Jones
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=20150513122827.GV3394@x1 \
--to=lee.jones@linaro.org \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=ckeepax@opensource.wolfsonmicro.com \
--cc=cw00.choi@samsung.com \
--cc=devicetree@vger.kernel.org \
--cc=gnurou@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=myungjoo.ham@samsung.com \
--cc=patches@opensource.wolfsonmicro.com \
--cc=rf@opensource.wolfsonmicro.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.