5050struct clk_data {
5151 uint32_t freq ;
5252 uint32_t ticks_per_usec ;
53+ uint32_t ticks_per_msec ;
5354 spinlock_t lock ;
5455};
5556
@@ -60,6 +61,7 @@ struct clk_pdata {
6061struct freq_table {
6162 uint32_t freq ;
6263 uint32_t ticks_per_usec ;
64+ uint32_t ticks_per_msec ;
6365 uint32_t enc ;
6466};
6567
@@ -69,14 +71,14 @@ static struct clk_pdata *clk_pdata;
6971
7072#if defined(CONFIG_APOLLOLAKE )
7173static const struct freq_table cpu_freq [] = {
72- {100000000 , 100 , 0x3 },
73- {200000000 , 200 , 0x1 },
74- {400000000 , 400 , 0x0 }, /* default */
74+ {100000000 , 100 , 100000 , 0x3 },
75+ {200000000 , 200 , 200000 , 0x1 },
76+ {400000000 , 400 , 400000 , 0x0 }, /* default */
7577};
7678#elif defined(CONFIG_CANNONLAKE )
7779static const struct freq_table cpu_freq [] = {
78- {120000000 , 120 , 0x0 },
79- {400000000 , 400 , 0x4 },
80+ {120000000 , 120 , 120000 , 0x0 },
81+ {400000000 , 400 , 400000 , 0x4 },
8082};
8183#endif
8284
@@ -86,13 +88,13 @@ static const struct freq_table cpu_freq[] = {
8688
8789#if defined(CONFIG_APOLLOLAKE )
8890static const struct freq_table ssp_freq [] = {
89- {19200000 , 19 ,}, /* default */
90- {24576000 , 24 ,},
91+ {19200000 , 19 , 19200 , }, /* default */
92+ {24576000 , 24 , 24576 , },
9193};
9294#elif defined(CONFIG_CANNONLAKE )
9395static const struct freq_table ssp_freq [] = {
94- {19200000 , 19 ,},
95- {24000000 , 24 ,}, /* default */
96+ {19200000 , 19 , 19200 , },
97+ {24000000 , 24 , 24000 , }, /* default */
9698};
9799#endif
98100
@@ -194,6 +196,11 @@ uint64_t clock_us_to_ticks(int clock, uint64_t us)
194196 return clk_pdata -> clk [clock ].ticks_per_usec * us ;
195197}
196198
199+ uint64_t clock_ms_to_ticks (int clock , uint64_t ms )
200+ {
201+ return clk_pdata -> clk [clock ].ticks_per_msec * ms ;
202+ }
203+
197204uint64_t clock_time_elapsed (int clock , uint64_t previous , uint64_t * current )
198205{
199206 uint64_t _current ;
@@ -230,7 +237,11 @@ void init_platform_clocks(void)
230237 clk_pdata -> clk [CLK_CPU ].freq = cpu_freq [CPU_DEFAULT_IDX ].freq ;
231238 clk_pdata -> clk [CLK_CPU ].ticks_per_usec =
232239 cpu_freq [CPU_DEFAULT_IDX ].ticks_per_usec ;
240+ clk_pdata -> clk [CLK_CPU ].ticks_per_msec =
241+ cpu_freq [CPU_DEFAULT_IDX ].ticks_per_msec ;
233242 clk_pdata -> clk [CLK_SSP ].freq = ssp_freq [SSP_DEFAULT_IDX ].freq ;
234243 clk_pdata -> clk [CLK_SSP ].ticks_per_usec =
235244 ssp_freq [SSP_DEFAULT_IDX ].ticks_per_usec ;
245+ clk_pdata -> clk [CLK_SSP ].ticks_per_msec =
246+ ssp_freq [SSP_DEFAULT_IDX ].ticks_per_msec ;
236247}
0 commit comments