[alsa-devel] [PATCH 1/3] mfd: wm5110: Add registers for custom write sequence triggers
Lee Jones
lee.jones at linaro.org
Tue Jul 7 09:12:24 CEST 2015
On Thu, 02 Jul 2015, Charles Keepax wrote:
> This register will be needed as part of some additional support for the
> headphone path on wm5110, so this patch adds the register and sets up
> its regmap config.
>
> Signed-off-by: Charles Keepax <ckeepax at opensource.wolfsonmicro.com>
> ---
>
> I have based the series on Mark's ASoC since that is where
> most of the work is. The MFD patches are pretty trivial
> but I am happy to send a series based on the MFD tree if
> preferred.
>
> Thanks,
> Charles
>
> drivers/mfd/wm5110-tables.c | 2 +
> include/linux/mfd/arizona/registers.h | 37 +++++++++++++++++++++++++++++++++
> 2 files changed, 39 insertions(+), 0 deletions(-)
Acked-by: Lee Jones <lee.jones at linaro.org>
> diff --git a/drivers/mfd/wm5110-tables.c b/drivers/mfd/wm5110-tables.c
> index 12cad94..62a4aa1 100644
> --- a/drivers/mfd/wm5110-tables.c
> +++ b/drivers/mfd/wm5110-tables.c
> @@ -676,6 +676,7 @@ static const struct reg_default wm5110_reg_default[] = {
> { 0x00000032, 0x0100 }, /* R50 - PWM Drive 3 */
> { 0x00000040, 0x0000 }, /* R64 - Wake control */
> { 0x00000041, 0x0000 }, /* R65 - Sequence control */
> + { 0x00000042, 0x0000 }, /* R66 - Spare Triggers */
> { 0x00000061, 0x01FF }, /* R97 - Sample Rate Sequence Select 1 */
> { 0x00000062, 0x01FF }, /* R98 - Sample Rate Sequence Select 2 */
> { 0x00000063, 0x01FF }, /* R99 - Sample Rate Sequence Select 3 */
> @@ -1716,6 +1717,7 @@ static bool wm5110_readable_register(struct device *dev, unsigned int reg)
> case ARIZONA_PWM_DRIVE_3:
> case ARIZONA_WAKE_CONTROL:
> case ARIZONA_SEQUENCE_CONTROL:
> + case ARIZONA_SPARE_TRIGGERS:
> case ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_1:
> case ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_2:
> case ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_3:
> diff --git a/include/linux/mfd/arizona/registers.h b/include/linux/mfd/arizona/registers.h
> index aacc10d..f43aa56 100644
> --- a/include/linux/mfd/arizona/registers.h
> +++ b/include/linux/mfd/arizona/registers.h
> @@ -39,6 +39,7 @@
> #define ARIZONA_PWM_DRIVE_3 0x32
> #define ARIZONA_WAKE_CONTROL 0x40
> #define ARIZONA_SEQUENCE_CONTROL 0x41
> +#define ARIZONA_SPARE_TRIGGERS 0x42
> #define ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_1 0x61
> #define ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_2 0x62
> #define ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_3 0x63
> @@ -1431,6 +1432,42 @@
> #define ARIZONA_WSEQ_ENA_JD2_RISE_WIDTH 1 /* WSEQ_ENA_JD2_RISE */
>
> /*
> + * R66 (0x42) - Spare Triggers
> + */
> +#define ARIZONA_WS_TRG8 0x0080 /* WS_TRG8 */
> +#define ARIZONA_WS_TRG8_MASK 0x0080 /* WS_TRG8 */
> +#define ARIZONA_WS_TRG8_SHIFT 7 /* WS_TRG8 */
> +#define ARIZONA_WS_TRG8_WIDTH 1 /* WS_TRG8 */
> +#define ARIZONA_WS_TRG7 0x0040 /* WS_TRG7 */
> +#define ARIZONA_WS_TRG7_MASK 0x0040 /* WS_TRG7 */
> +#define ARIZONA_WS_TRG7_SHIFT 6 /* WS_TRG7 */
> +#define ARIZONA_WS_TRG7_WIDTH 1 /* WS_TRG7 */
> +#define ARIZONA_WS_TRG6 0x0020 /* WS_TRG6 */
> +#define ARIZONA_WS_TRG6_MASK 0x0020 /* WS_TRG6 */
> +#define ARIZONA_WS_TRG6_SHIFT 5 /* WS_TRG6 */
> +#define ARIZONA_WS_TRG6_WIDTH 1 /* WS_TRG6 */
> +#define ARIZONA_WS_TRG5 0x0010 /* WS_TRG5 */
> +#define ARIZONA_WS_TRG5_MASK 0x0010 /* WS_TRG5 */
> +#define ARIZONA_WS_TRG5_SHIFT 4 /* WS_TRG5 */
> +#define ARIZONA_WS_TRG5_WIDTH 1 /* WS_TRG5 */
> +#define ARIZONA_WS_TRG4 0x0008 /* WS_TRG4 */
> +#define ARIZONA_WS_TRG4_MASK 0x0008 /* WS_TRG4 */
> +#define ARIZONA_WS_TRG4_SHIFT 3 /* WS_TRG4 */
> +#define ARIZONA_WS_TRG4_WIDTH 1 /* WS_TRG4 */
> +#define ARIZONA_WS_TRG3 0x0004 /* WS_TRG3 */
> +#define ARIZONA_WS_TRG3_MASK 0x0004 /* WS_TRG3 */
> +#define ARIZONA_WS_TRG3_SHIFT 2 /* WS_TRG3 */
> +#define ARIZONA_WS_TRG3_WIDTH 1 /* WS_TRG3 */
> +#define ARIZONA_WS_TRG2 0x0002 /* WS_TRG2 */
> +#define ARIZONA_WS_TRG2_MASK 0x0002 /* WS_TRG2 */
> +#define ARIZONA_WS_TRG2_SHIFT 1 /* WS_TRG2 */
> +#define ARIZONA_WS_TRG2_WIDTH 1 /* WS_TRG2 */
> +#define ARIZONA_WS_TRG1 0x0001 /* WS_TRG1 */
> +#define ARIZONA_WS_TRG1_MASK 0x0001 /* WS_TRG1 */
> +#define ARIZONA_WS_TRG1_SHIFT 0 /* WS_TRG1 */
> +#define ARIZONA_WS_TRG1_WIDTH 1 /* WS_TRG1 */
> +
> +/*
> * R97 (0x61) - Sample Rate Sequence Select 1
> */
> #define ARIZONA_WSEQ_SAMPLE_RATE_DETECT_A_SEQ_ADDR_MASK 0x01FF /* WSEQ_SAMPLE_RATE_DETECT_A_SEQ_ADDR - [8:0] */
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
More information about the Alsa-devel
mailing list