aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/clk/ti/clk-43xx.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/clk/ti/clk-43xx.c b/drivers/clk/ti/clk-43xx.c
index 67c8de572c50..b4877e0ee910 100644
--- a/drivers/clk/ti/clk-43xx.c
+++ b/drivers/clk/ti/clk-43xx.c
@@ -110,9 +110,25 @@ static struct ti_dt_clk am43xx_clks[] = {
110 110
111int __init am43xx_dt_clk_init(void) 111int __init am43xx_dt_clk_init(void)
112{ 112{
113 struct clk *clk1, *clk2;
114
113 ti_dt_clocks_register(am43xx_clks); 115 ti_dt_clocks_register(am43xx_clks);
114 116
115 omap2_clk_disable_autoidle_all(); 117 omap2_clk_disable_autoidle_all();
116 118
119 /*
120 * cpsw_cpts_rft_clk has got the choice of 3 clocksources
121 * dpll_core_m4_ck, dpll_core_m5_ck and dpll_disp_m2_ck.
122 * By default dpll_core_m4_ck is selected, witn this as clock
123 * source the CPTS doesnot work properly. It gives clockcheck errors
124 * while running PTP.
125 * clockcheck: clock jumped backward or running slower than expected!
126 * By selecting dpll_core_m5_ck as the clocksource fixes this issue.
127 * In AM335x dpll_core_m5_ck is the default clocksource.
128 */
129 clk1 = clk_get_sys(NULL, "cpsw_cpts_rft_clk");
130 clk2 = clk_get_sys(NULL, "dpll_core_m5_ck");
131 clk_set_parent(clk1, clk2);
132
117 return 0; 133 return 0;
118} 134}