Hi,
We would like to play with spread spectrum settings to improve our EMI compliance of our design based on an IMX8MQ.
We have identified the following set of registers which we believe could have an impact:
CCM_ANALOG_SYS_PLL1_CFG1
CCM_ANALOG_SYS_PLL2_CFG1
CCM_ANALOG_SYS_PLL3_CFG1
CCM_ANALOG_DRAM_PLL_CFG1
CCM_ANALOG_VIDEO_PLL2_CFG1
CCM_ANALOG_SCCG_PLLOUT_DIV_CFG
ARM_PLL
SYS_PLL[1-3]
We have following queries:
[For information, we gave a try under u-boot for the DRAM and SYS_PLLx already. We spotted some eMMC issues when adjusting SSMD & SSMF on SYS_PLL1, and some SPI issues when acting on SYS_PLL2. We touched the function 'dram_pll_init' from the file imx_v2020.04_5.4.24_2.1.0/arch/arm/mach-imx/imx8m/clock_imx8mq.c in the u-boot tree, and added in `clock_init` in the same file some code to configure the system PLL.]
Thanks
Solved! Go to Solution.
Hi,
Following contents are for you reference:
1. Use of spread spectrum
When you do not encounter electromagnetic interference problems, you should set all the values of such items to "Disabled", which can optimize system performance and improve system stability; if you encounter electromagnetic interference problems, you should set this item to "Enabled" "In order to reduce electromagnetic interference.
2. Possible results of using spread spectrum
When the frequency of the processor or related modules is very high, it is best to set this option to "Disabled", because even a small peak drift will cause a short burst of the clock, which will cause the overclocked processor to be locked or The module is not working properly.
3. PLL that supports spread spectrum
These PLLs support spread spectrum:
CCM_ANALOG_SYS_PLL1_CFG1
CCM_ANALOG_SYS_PLL2_CFG1
CCM_ANALOG_SYS_PLL3_CFG1
CCM_ANALOG_DRAM_PLL_CFG1
CCM_ANALOG_VIDEO_PLL2_CFG1
When your product is working in an electromagnetic interference environment, you can use this feature according to the situation.
4. u-boot and kernel
If you want to use spread spectrum, both u-boot and kernel dts clock driver need to be adjusted. I.MX8MQ has no SCU, and certainly no SCFW.
5. About the EMI of the product
Although spread spectrum technology can improve EMI, it should be used with caution in consideration of system stability. The best way is to design the circuit board with perfect consideration of EMI.
Hope above information is helpful for you.
Have a nice day!
B.R,
weidong
Hi,
Following contents are for you reference:
1. Use of spread spectrum
When you do not encounter electromagnetic interference problems, you should set all the values of such items to "Disabled", which can optimize system performance and improve system stability; if you encounter electromagnetic interference problems, you should set this item to "Enabled" "In order to reduce electromagnetic interference.
2. Possible results of using spread spectrum
When the frequency of the processor or related modules is very high, it is best to set this option to "Disabled", because even a small peak drift will cause a short burst of the clock, which will cause the overclocked processor to be locked or The module is not working properly.
3. PLL that supports spread spectrum
These PLLs support spread spectrum:
CCM_ANALOG_SYS_PLL1_CFG1
CCM_ANALOG_SYS_PLL2_CFG1
CCM_ANALOG_SYS_PLL3_CFG1
CCM_ANALOG_DRAM_PLL_CFG1
CCM_ANALOG_VIDEO_PLL2_CFG1
When your product is working in an electromagnetic interference environment, you can use this feature according to the situation.
4. u-boot and kernel
If you want to use spread spectrum, both u-boot and kernel dts clock driver need to be adjusted. I.MX8MQ has no SCU, and certainly no SCFW.
5. About the EMI of the product
Although spread spectrum technology can improve EMI, it should be used with caution in consideration of system stability. The best way is to design the circuit board with perfect consideration of EMI.
Hope above information is helpful for you.
Have a nice day!
B.R,
weidong