]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blob - arch/arm/mach-at91rm9200/clock.h
[ARM] 3866/1: AT91 clock update
[linux-2.6-omap-h63xx.git] / arch / arm / mach-at91rm9200 / clock.h
1 /*
2  * linux/arch/arm/mach-at91rm9200/clock.h
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
13
14
15 struct clk {
16         struct list_head node;
17         const char      *name;          /* unique clock name */
18         const char      *function;      /* function of the clock */
19         struct device   *dev;           /* device associated with function */
20         unsigned long   rate_hz;
21         struct clk      *parent;
22         u32             pmc_mask;
23         void            (*mode)(struct clk *, int);
24         unsigned        id:2;           /* PCK0..3, or 32k/main/a/b */
25         unsigned        type;           /* clock type */
26         u16             users;
27 };
28
29
30 extern int __init clk_register(struct clk *clk);