Dear i.MX-Community
We're using i.MX6-SoCs (Solo, DualLite, Dual, Quad, and QuadPlus) on several different custom board designs. We're using the spread-spectrum feature of the 528 MHz "system PLL" and didn't have any issues with these, so far. For a new board-design we needed somewhat "more aggressive" spreac-spectrum settings, so we started testing with several different parameters, during which we noticed strange behavior: a different parameter-set from our default settings, which should result in the same frequency-settings, results in a very unstable system (segmentation faults, exceptions, corrupted data reads from memory, etc. under Yocto-Linux with 4.1.15 kernel).
To be more specific (on an i.MX6D):
Either setting should result in the same spread spectrum range of 15 MHz and modulation frequency of 48 KHz and verification with an oscilloscope by configuring the CLKO2-output to "mmdc_ch0_clk_root/7" shows that the clock seems to be behaving as expected.
Are there any constraints on valid combinations of parameters, that should be followed for the spread-spectrum settings? I can't seem to find any constraints being mentioned in the reference manual, datasheet or application notes.
Kind regards,
Marc
Hi Marc
recommended ddr dithering range is about 1%, for i.MX6 there are no special
restrictions for combinations of parameters. If some modules use that clock,
it is necessary to consider how dithering clock may affect them.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Igor
If there are no restrictions for combinations of parameters, how come that one set of parameters works fine, while the other - resulting in the same final modulation effects - does not work stable at all on the same board?
According to the formulas given in the reference manual (and oscilloscope measurements), both parameter sets result in
But we have boards on which one parameter set works fine, while the other set doesn't work at all. So what can be the difference?
Kind regards,
Marc
Hi Marc
please try to analyze issue observing mmdc signal on clko pin using CCM_CCOSR register.
Please also try with baremetal tests, to exclude opearting system side effects:
Github SDK
https://github.com/backenklee/swp-report/tree/master/iMX6_Platform_SDK
Best regards
igor