diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/clk/ti/clk-43xx.c | 16 |
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 | ||
111 | int __init am43xx_dt_clk_init(void) | 111 | int __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 | } |