Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2a51da04 authored by Mark Brown's avatar Mark Brown Committed by Samuel Ortiz
Browse files

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: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent 78a73e59
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -462,18 +462,17 @@ int __devinit arizona_dev_init(struct arizona *arizona)
				   ARIZONA_OUT1_MONO, val);
	}

	BUILD_BUG_ON(ARIZONA_MAX_PDM_SPK > 1);
	for (i = 0; i < ARIZONA_MAX_PDM_SPK; i++) {
		if (arizona->pdata.spk_mute[i])
			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_SEQ1_MASK,
					   arizona->pdata.spk_mute[i]);

		if (arizona->pdata.spk_fmt[i])
			regmap_update_bits(arizona->regmap,
					   ARIZONA_PDM_SPK1_CTRL_2,
					   ARIZONA_PDM_SPK1_CTRL_2 + (i * 2),
					   ARIZONA_SPK1_FMT_MASK,
					   arizona->pdata.spk_fmt[i]);
	}
+1 −1
Original line number Diff line number Diff line
@@ -62,7 +62,7 @@

#define ARIZONA_MAX_OUTPUT 5

#define ARIZONA_MAX_PDM_SPK 1
#define ARIZONA_MAX_PDM_SPK 2

struct regulator_init_data;