If it is R28.2, please use the following patch to disable spread.
To cross verify, please read back register value @ 0x60006068 address and make sure that bit-12 is set to ‘1’ to confirm SSC is disabled (busybox devmem 0x60006068 w)
diff --git a/drivers/clk/tegra/clk-pll.c b/drivers/clk/tegra/clk-pll.c
index 80ca8de05005..ff4365fd7e81 100644
--- a/drivers/clk/tegra/clk-pll.c
+++ b/drivers/clk/tegra/clk-pll.c
@@ -2252,7 +2252,7 @@ static int clk_plle_tegra210_enable(struct clk_hw *hw)
if (ret < 0)
goto out;
- if (pll->params->ssc_ctrl_reg != PLLE_SS_CTRL)
+ //if (pll->params->ssc_ctrl_reg != PLLE_SS_CTRL)
goto out;
val = pll_readl(PLLE_SS_CTRL, pll);
We tried following patch to disable spread.
And cross verify, read back register value @ 0x60006068 address and make sure that bit-12 is set to ‘1’ to confirm SSC is disabled (busybox devmem 0x60006068 w) as below
[0x00005C00]
Result: no difference after following patch to disable spread to disable SSC (Spread Spectrum Clocking) PEX_CLK0_P & PEX_CLK0_N on Jetson TX1 Developer Kit.
No difference as in when you connected scope and checked REFCLK waveform, you didn’t find any difference? i.e. even with 0x5C00 you still see spread enabled for REFCLK??
Hi,
We tried with the same patch as #2 on our end and we could see that spread getting enabled/disabled.
Please find the attached waveforms Spread Enabled External Media Spread Disabled External Media
When spread is enabled, mean is around 4K+ ppm whereas in the spread disabled case, it is 50+ ppm
Can you please describe how you are measuring spread enable/disable?