Pārlūkot izejas kodu

ASoC: adsp: Keep ADSP2 memory powered off when not in use

Turn off the ADSP memory when we aren't using it, saving a small amount of
power.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown 12 gadi atpakaļ
vecāks
revīzija
10a2b662c4
1 mainītis faili ar 11 papildinājumiem un 0 dzēšanām
  1. 11 0
      sound/soc/codecs/wm_adsp.c

+ 11 - 0
sound/soc/codecs/wm_adsp.c

@@ -629,6 +629,17 @@ int wm_adsp2_init(struct wm_adsp *adsp, bool dvfs)
 {
 	int ret;
 
+	/*
+	 * Disable the DSP memory by default when in reset for a small
+	 * power saving.
+	 */
+	ret = regmap_update_bits(adsp->regmap, adsp->base + ADSP2_CONTROL,
+				 ADSP2_MEM_ENA, 0);
+	if (ret != 0) {
+		adsp_err(adsp, "Failed to clear memory retention: %d\n", ret);
+		return ret;
+	}
+
 	if (dvfs) {
 		adsp->dvfs = devm_regulator_get(adsp->dev, "DCVDD");
 		if (IS_ERR(adsp->dvfs)) {