]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ASoC: wm_adsp: Add CCM_CORE_RESET to Halo start core
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Sat, 26 Jun 2021 15:59:40 +0000 (16:59 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 28 Jun 2021 16:47:40 +0000 (17:47 +0100)
When starting the Halo core it is advised to also write the core reset
bit, this ensures the part starts up in the appropriate state.  Omitting
this doesn't cause issues on most parts but cs40l25 requires it and
it is advised on all Halo parts.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210626155941.12251-2-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/wm_adsp.c

index 59d876d36cfd8d8615741c37e81f1f1edd882d5d..549d98241daec1ce6e6c22e19772ac6209b57613 100644 (file)
 /*
  * HALO_CCM_CORE_CONTROL
  */
+#define HALO_CORE_RESET                     0x00000200
 #define HALO_CORE_EN                        0x00000001
 
 /*
@@ -3333,7 +3334,8 @@ static int wm_halo_start_core(struct wm_adsp *dsp)
 {
        return regmap_update_bits(dsp->regmap,
                                  dsp->base + HALO_CCM_CORE_CONTROL,
-                                 HALO_CORE_EN, HALO_CORE_EN);
+                                 HALO_CORE_RESET | HALO_CORE_EN,
+                                 HALO_CORE_RESET | HALO_CORE_EN);
 }
 
 static void wm_halo_stop_core(struct wm_adsp *dsp)