blob: 256ab3f1ec8fabc111842a02208211da49fa813f [file] [log] [blame]
Paul Walmsley82e9bd52009-12-08 16:18:47 -07001/*
2 * clkdev <-> OMAP integration
3 *
4 * Russell King <linux@arm.linux.org.uk>
5 *
6 */
7
8#ifndef __ARCH_ARM_PLAT_OMAP_INCLUDE_PLAT_CLKDEV_OMAP_H
9#define __ARCH_ARM_PLAT_OMAP_INCLUDE_PLAT_CLKDEV_OMAP_H
10
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +010011#include <linux/clkdev.h>
Paul Walmsley82e9bd52009-12-08 16:18:47 -070012
13struct omap_clk {
Paul Walmsley52650502009-12-08 16:29:38 -070014 u16 cpu;
15 struct clk_lookup lk;
Paul Walmsley82e9bd52009-12-08 16:18:47 -070016};
17
18#define CLK(dev, con, ck, cp) \
19 { \
20 .cpu = cp, \
21 .lk = { \
22 .dev_id = dev, \
23 .con_id = con, \
24 .clk = ck, \
25 }, \
26 }
27
Paul Walmsley2c8a1772010-01-26 20:12:56 -070028/* Platform flags for the clkdev-OMAP integration code */
Paul Walmsley52650502009-12-08 16:29:38 -070029#define CK_310 (1 << 0)
Paul Walmsley2c8a1772010-01-26 20:12:56 -070030#define CK_7XX (1 << 1) /* 7xx, 850 */
Paul Walmsley52650502009-12-08 16:29:38 -070031#define CK_1510 (1 << 2)
Paul Walmsley2c8a1772010-01-26 20:12:56 -070032#define CK_16XX (1 << 3) /* 16xx, 17xx, 5912 */
33#define CK_242X (1 << 4)
Paul Walmsley553d2392010-12-21 21:08:14 -070034#define CK_243X (1 << 5) /* 243x, 253x */
35#define CK_3430ES1 (1 << 6) /* 34xxES1 only */
36#define CK_3430ES2PLUS (1 << 7) /* 34xxES2, ES3, non-Sitara 35xx only */
37#define CK_3505 (1 << 8)
38#define CK_3517 (1 << 9)
39#define CK_36XX (1 << 10) /* 36xx/37xx-specific clocks */
40#define CK_443X (1 << 11)
Paul Walmsley2c8a1772010-01-26 20:12:56 -070041
Paul Walmsley553d2392010-12-21 21:08:14 -070042
43#define CK_34XX (CK_3430ES1 | CK_3430ES2PLUS)
Paul Walmsley2c8a1772010-01-26 20:12:56 -070044#define CK_AM35XX (CK_3505 | CK_3517) /* all Sitara AM35xx */
Paul Walmsley553d2392010-12-21 21:08:14 -070045#define CK_3XXX (CK_34XX | CK_AM35XX | CK_36XX)
Paul Walmsley2c8a1772010-01-26 20:12:56 -070046
Paul Walmsley82e9bd52009-12-08 16:18:47 -070047
48#endif
49