[Sound-open-firmware] [PATCH] apl-ssp: allow for 19.2 MHz SSP reference
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Fri Apr 13 04:13:38 CEST 2018
Don't hard-code MCLK source on ApolloLake, use settings provided over
IPC to select 24.576 MHz PLL or 19.2 MHz XTAL oscillator.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart at linux.intel.com>
---
src/drivers/apl-ssp.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/src/drivers/apl-ssp.c b/src/drivers/apl-ssp.c
index 3a97cb8..8f9bc14 100644
--- a/src/drivers/apl-ssp.c
+++ b/src/drivers/apl-ssp.c
@@ -479,7 +479,17 @@ static inline int ssp_set_config(struct dai *dai,
#ifdef CONFIG_CANNONLAKE
mdivc = 0x1;
#else
- mdivc = 0x00100001;
+ if (config->ssp.mclk_rate == 24576000) {
+ /* enable PLL, bypass M/N dividers */
+ mdivc = 0x00100001;
+ } else if (config->ssp.mclk_rate == 19200000) {
+ /* no PLL, use XTAl oscillator as source */
+ mdivc = 0;
+ } else {
+ trace_ssp_error("eci");
+ ret = -EINVAL;
+ goto out;
+ }
#endif
/* bypass divider for MCLK */
mdivr = 0x00000fff;
--
2.14.1
More information about the Sound-open-firmware
mailing list