mirror of
https://github.com/torvalds/linux.git
synced 2024-11-30 08:01:59 +00:00
mfd: arizona: Add ASYNC_SAMPLE_RATE_2 registers
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> Acked-by: Mark Brown <broonie@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
This commit is contained in:
parent
9bb9e29c78
commit
c24084db22
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user