Go to the documentation of this file.
11 #ifndef __LINUX_CLK_PROVIDER_H
12 #define __LINUX_CLK_PROVIDER_H
16 #ifdef CONFIG_COMMON_CLK
23 #define CLK_SET_RATE_GATE BIT(0)
24 #define CLK_SET_PARENT_GATE BIT(1)
25 #define CLK_SET_RATE_PARENT BIT(2)
26 #define CLK_IGNORE_UNUSED BIT(3)
27 #define CLK_IS_ROOT BIT(4)
28 #define CLK_IS_BASIC BIT(5)
29 #define CLK_GET_RATE_NOCACHE BIT(6)
100 int (*prepare)(
struct clk_hw *
hw);
101 void (*unprepare)(
struct clk_hw *
hw);
105 unsigned long (*recalc_rate)(
struct clk_hw *
hw,
106 unsigned long parent_rate);
110 u8 (*get_parent)(
struct clk_hw *
hw);
126 struct clk_init_data {
129 const char **parent_names;
148 const struct clk_init_data *
init;
165 struct clk_fixed_rate {
167 unsigned long fixed_rate;
173 const char *parent_name,
unsigned long flags,
174 unsigned long fixed_rate);
202 #define CLK_GATE_SET_TO_DISABLE BIT(0)
206 const char *parent_name,
unsigned long flags,
246 #define CLK_DIVIDER_ONE_BASED BIT(0)
247 #define CLK_DIVIDER_POWER_OF_TWO BIT(1)
251 const char *parent_name,
unsigned long flags,
255 const char *parent_name,
unsigned long flags,
286 #define CLK_MUX_INDEX_ONE BIT(0)
287 #define CLK_MUX_INDEX_BIT BIT(1)
291 const char **parent_names,
u8 num_parents,
unsigned long flags,
307 struct clk_fixed_factor {
315 const char *parent_name,
unsigned long flags,
316 unsigned int mult,
unsigned int div);
364 struct clk_onecell_data {
366 unsigned int clk_num;