diff options
author | Steven Miao <realmz6@gmail.com> | 2012-05-16 05:49:52 -0400 |
---|---|---|
committer | Bob Liu <lliubbo@gmail.com> | 2012-05-21 02:54:13 -0400 |
commit | 969003152aa9085e50ce23822c60fab82222ecef (patch) | |
tree | ab12a8c8bf20706d624ef7ad6b540cc8776d954f /arch/blackfin/include | |
parent | b5affb0147cee0ea05d909396f8e389092729236 (diff) |
blackfin: bf60x: add clock support
Add clock support for bf60x.
Signed-off-by: Steven Miao <realmz6@gmail.com>
Signed-off-by: Bob Liu <lliubbo@gmail.com>
Diffstat (limited to 'arch/blackfin/include')
-rw-r--r-- | arch/blackfin/include/asm/clkdev.h | 14 | ||||
-rw-r--r-- | arch/blackfin/include/asm/clocks.h | 23 |
2 files changed, 37 insertions, 0 deletions
diff --git a/arch/blackfin/include/asm/clkdev.h b/arch/blackfin/include/asm/clkdev.h new file mode 100644 index 000000000000..9053beda8c50 --- /dev/null +++ b/arch/blackfin/include/asm/clkdev.h | |||
@@ -0,0 +1,14 @@ | |||
1 | #ifndef __ASM_CLKDEV__H_ | ||
2 | #define __ASM_CLKDEV__H_ | ||
3 | |||
4 | #include <linux/slab.h> | ||
5 | |||
6 | static inline struct clk_lookup_alloc *__clkdev_alloc(size_t size) | ||
7 | { | ||
8 | return kzalloc(size, GFP_KERNEL); | ||
9 | } | ||
10 | |||
11 | #define __clk_put(clk) | ||
12 | #define __clk_get(clk) ({ 1; }) | ||
13 | |||
14 | #endif | ||
diff --git a/arch/blackfin/include/asm/clocks.h b/arch/blackfin/include/asm/clocks.h index 6f0b61852f58..9b3c85b3c288 100644 --- a/arch/blackfin/include/asm/clocks.h +++ b/arch/blackfin/include/asm/clocks.h | |||
@@ -48,4 +48,27 @@ | |||
48 | # define CONFIG_VCO_MULT 0 | 48 | # define CONFIG_VCO_MULT 0 |
49 | #endif | 49 | #endif |
50 | 50 | ||
51 | #include <linux/clk.h> | ||
52 | |||
53 | struct clk_ops { | ||
54 | unsigned long (*get_rate)(struct clk *clk); | ||
55 | unsigned long (*round_rate)(struct clk *clk, unsigned long rate); | ||
56 | int (*set_rate)(struct clk *clk, unsigned long rate); | ||
57 | int (*enable)(struct clk *clk); | ||
58 | int (*disable)(struct clk *clk); | ||
59 | }; | ||
60 | |||
61 | struct clk { | ||
62 | struct clk *parent; | ||
63 | const char *name; | ||
64 | unsigned long rate; | ||
65 | spinlock_t lock; | ||
66 | u32 flags; | ||
67 | const struct clk_ops *ops; | ||
68 | void __iomem *reg; | ||
69 | u32 mask; | ||
70 | u32 shift; | ||
71 | }; | ||
72 | |||
73 | int clk_init(void); | ||
51 | #endif | 74 | #endif |