mirror of
https://github.com/torvalds/linux
synced 2024-09-20 11:07:02 +00:00
mfd: Add support for multiple arizona PDM speaker outputs
The registers have stride 2 so we can write the loop properly now. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
parent
78a73e59db
commit
2a51da04fe
|
@ -462,18 +462,17 @@ int __devinit arizona_dev_init(struct arizona *arizona)
|
||||||
ARIZONA_OUT1_MONO, val);
|
ARIZONA_OUT1_MONO, val);
|
||||||
}
|
}
|
||||||
|
|
||||||
BUILD_BUG_ON(ARIZONA_MAX_PDM_SPK > 1);
|
|
||||||
for (i = 0; i < ARIZONA_MAX_PDM_SPK; i++) {
|
for (i = 0; i < ARIZONA_MAX_PDM_SPK; i++) {
|
||||||
if (arizona->pdata.spk_mute[i])
|
if (arizona->pdata.spk_mute[i])
|
||||||
regmap_update_bits(arizona->regmap,
|
regmap_update_bits(arizona->regmap,
|
||||||
ARIZONA_PDM_SPK1_CTRL_1,
|
ARIZONA_PDM_SPK1_CTRL_1 + (i * 2),
|
||||||
ARIZONA_SPK1_MUTE_ENDIAN_MASK |
|
ARIZONA_SPK1_MUTE_ENDIAN_MASK |
|
||||||
ARIZONA_SPK1_MUTE_SEQ1_MASK,
|
ARIZONA_SPK1_MUTE_SEQ1_MASK,
|
||||||
arizona->pdata.spk_mute[i]);
|
arizona->pdata.spk_mute[i]);
|
||||||
|
|
||||||
if (arizona->pdata.spk_fmt[i])
|
if (arizona->pdata.spk_fmt[i])
|
||||||
regmap_update_bits(arizona->regmap,
|
regmap_update_bits(arizona->regmap,
|
||||||
ARIZONA_PDM_SPK1_CTRL_2,
|
ARIZONA_PDM_SPK1_CTRL_2 + (i * 2),
|
||||||
ARIZONA_SPK1_FMT_MASK,
|
ARIZONA_SPK1_FMT_MASK,
|
||||||
arizona->pdata.spk_fmt[i]);
|
arizona->pdata.spk_fmt[i]);
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,7 +62,7 @@
|
||||||
|
|
||||||
#define ARIZONA_MAX_OUTPUT 5
|
#define ARIZONA_MAX_OUTPUT 5
|
||||||
|
|
||||||
#define ARIZONA_MAX_PDM_SPK 1
|
#define ARIZONA_MAX_PDM_SPK 2
|
||||||
|
|
||||||
struct regulator_init_data;
|
struct regulator_init_data;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue