ARM: pxa: Rename Colibri evalboard
[deliverable/linux.git] / arch / arm / mach-pxa / clock.h
CommitLineData
f113fe4e 1#include <linux/sysdev.h>
8c3abc7d 2#include <asm/clkdev.h>
a6dba20c
RK
3
4struct clkops {
5 void (*enable)(struct clk *);
6 void (*disable)(struct clk *);
7 unsigned long (*getrate)(struct clk *);
8};
9
10struct clk {
a6dba20c
RK
11 const struct clkops *ops;
12 unsigned long rate;
13 unsigned int cken;
14 unsigned int delay;
15 unsigned int enabled;
16};
17
4029813c
EM
18void clk_dummy_enable(struct clk *);
19void clk_dummy_disable(struct clk *);
20
21extern const struct clkops clk_dummy_ops;
22extern struct clk clk_dummy;
23
8c3abc7d 24#define INIT_CLKREG(_clk,_devname,_conname) \
a6dba20c 25 { \
8c3abc7d
RK
26 .clk = _clk, \
27 .dev_id = _devname, \
28 .con_id = _conname, \
29 }
30
8c3abc7d
RK
31#define DEFINE_CK(_name, _cken, _ops) \
32struct clk clk_##_name = { \
a6dba20c
RK
33 .ops = _ops, \
34 .cken = CKEN_##_cken, \
35 }
36
8c3abc7d
RK
37#define DEFINE_CLK(_name, _ops, _rate, _delay) \
38struct clk clk_##_name = { \
39 .ops = _ops, \
40 .rate = _rate, \
ed847782
IM
41 .delay = _delay, \
42 }
43
4029813c 44#define DEFINE_PXA2_CKEN(_name, _cken, _rate, _delay) \
2e8581e7 45struct clk clk_##_name = { \
4029813c 46 .ops = &clk_pxa2xx_cken_ops, \
2e8581e7
EM
47 .rate = _rate, \
48 .cken = CKEN_##_cken, \
49 .delay = _delay, \
50 }
51
4029813c 52extern const struct clkops clk_pxa2xx_cken_ops;
a6dba20c 53
4029813c
EM
54void clk_pxa2xx_cken_enable(struct clk *clk);
55void clk_pxa2xx_cken_disable(struct clk *clk);
a6dba20c 56
f113fe4e
EM
57extern struct sysdev_class pxa2xx_clock_sysclass;
58
a4553358 59#if defined(CONFIG_PXA3xx) || defined(CONFIG_PXA95x)
8c3abc7d
RK
60#define DEFINE_PXA3_CKEN(_name, _cken, _rate, _delay) \
61struct clk clk_##_name = { \
7a2c5cb0 62 .ops = &clk_pxa3xx_cken_ops, \
63 .rate = _rate, \
64 .cken = CKEN_##_cken, \
65 .delay = _delay, \
66 }
67
7a2c5cb0 68extern const struct clkops clk_pxa3xx_cken_ops;
4029813c
EM
69extern const struct clkops clk_pxa3xx_hsio_ops;
70extern const struct clkops clk_pxa3xx_ac97_ops;
71extern const struct clkops clk_pxa3xx_pout_ops;
72
7a2c5cb0 73extern void clk_pxa3xx_cken_enable(struct clk *);
74extern void clk_pxa3xx_cken_disable(struct clk *);
aae8224d
EM
75
76extern struct sysdev_class pxa3xx_clock_sysclass;
7a2c5cb0 77#endif
This page took 0.231775 seconds and 5 git commands to generate.