Hi
I believe the spread spectrum PLL enable/disable function is incorrect.
I find that it is identical to the PLL enable clock routine as shown below:
static void ANATOP_PllEnableSs(anatop_ai_itf_t itf, bool enable)
{
ANATOP_AI_Write(itf, enable ? PLL_AI_CTRL0_SET_REG : PLL_AI_CTRL0_CLR_REG, PLL_AI_CTRL0_ENABLE_MASK);
}
static void ANATOP_PllEnableClk(anatop_ai_itf_t itf, bool enable)
{
ANATOP_AI_Write(itf, enable ? PLL_AI_CTRL0_SET_REG : PLL_AI_CTRL0_CLR_REG, PLL_AI_CTRL0_ENABLE_MASK);
}
and I believe the correction is:
static void ANATOP_PllEnableSs(anatop_ai_itf_t itf, bool enable)
{
ANATOP_AI_Write(itf, enable ? PLL_AI_CTRL1_SET_REG : PLL_AI_CTRL1_CLR_REG, PLL_AI_CTRL0_ENABLE_MASK);
}
whereby PLL_AI_CTRL0_ENABLE_MASK can be used since it happens to have the correct value. Better would however be to have a specific define for the spread spectrum control bit, such as
#define FRACTIONAL_PLL_SPREAD_SPECTRUM_ENABLE 0x00008000
Regards
Mark
Thanks for your suggestion, I will let SW team know this issue.