Commit | Line | Data |
---|---|---|
2eeaaa21 | 1 | /* |
9d041268 | 2 | * linux/arch/arm/mach-at91/clock.h |
2eeaaa21 AV |
3 | * |
4 | * This program is free software; you can redistribute it and/or modify | |
5 | * it under the terms of the GNU General Public License version 2 as | |
6 | * published by the Free Software Foundation. | |
7 | */ | |
8 | ||
9 | #define CLK_TYPE_PRIMARY 0x1 | |
10 | #define CLK_TYPE_PLL 0x2 | |
11 | #define CLK_TYPE_PROGRAMMABLE 0x4 | |
12 | #define CLK_TYPE_PERIPHERAL 0x8 | |
d481f864 | 13 | #define CLK_TYPE_SYSTEM 0x10 |
2eeaaa21 AV |
14 | |
15 | ||
16 | struct clk { | |
17 | struct list_head node; | |
18 | const char *name; /* unique clock name */ | |
19 | const char *function; /* function of the clock */ | |
20 | struct device *dev; /* device associated with function */ | |
21 | unsigned long rate_hz; | |
22 | struct clk *parent; | |
23 | u32 pmc_mask; | |
24 | void (*mode)(struct clk *, int); | |
5e38efae | 25 | unsigned id:3; /* PCK0..4, or 32k/main/a/b */ |
2eeaaa21 AV |
26 | unsigned type; /* clock type */ |
27 | u16 users; | |
28 | }; | |
29 | ||
30 | ||
31 | extern int __init clk_register(struct clk *clk); |