diff options
-rw-r--r-- | arch/arm/mach-omap2/Kconfig | 5 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/clkdev_omap.h | 1 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/clock.h | 1 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/common.h | 1 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/cpu.h | 18 |
5 files changed, 26 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index 1a2cf6226a55..23548b60bb1f 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig | |||
@@ -72,6 +72,11 @@ config ARCH_OMAP3430 | |||
72 | default y | 72 | default y |
73 | select ARCH_OMAP_OTG | 73 | select ARCH_OMAP_OTG |
74 | 74 | ||
75 | config SOC_OMAPTI816X | ||
76 | bool "TI816X support" | ||
77 | depends on ARCH_OMAP3 | ||
78 | default y | ||
79 | |||
75 | config OMAP_PACKAGE_ZAF | 80 | config OMAP_PACKAGE_ZAF |
76 | bool | 81 | bool |
77 | 82 | ||
diff --git a/arch/arm/plat-omap/include/plat/clkdev_omap.h b/arch/arm/plat-omap/include/plat/clkdev_omap.h index 256ab3f1ec8f..f1899a3e4174 100644 --- a/arch/arm/plat-omap/include/plat/clkdev_omap.h +++ b/arch/arm/plat-omap/include/plat/clkdev_omap.h | |||
@@ -38,6 +38,7 @@ struct omap_clk { | |||
38 | #define CK_3517 (1 << 9) | 38 | #define CK_3517 (1 << 9) |
39 | #define CK_36XX (1 << 10) /* 36xx/37xx-specific clocks */ | 39 | #define CK_36XX (1 << 10) /* 36xx/37xx-specific clocks */ |
40 | #define CK_443X (1 << 11) | 40 | #define CK_443X (1 << 11) |
41 | #define CK_TI816X (1 << 12) | ||
41 | 42 | ||
42 | 43 | ||
43 | #define CK_34XX (CK_3430ES1 | CK_3430ES2PLUS) | 44 | #define CK_34XX (CK_3430ES1 | CK_3430ES2PLUS) |
diff --git a/arch/arm/plat-omap/include/plat/clock.h b/arch/arm/plat-omap/include/plat/clock.h index 8eb0adab19ea..d43e6234dbbb 100644 --- a/arch/arm/plat-omap/include/plat/clock.h +++ b/arch/arm/plat-omap/include/plat/clock.h | |||
@@ -53,6 +53,7 @@ struct clkops { | |||
53 | #define RATE_IN_3430ES2PLUS (1 << 3) /* 3430 ES >= 2 rates only */ | 53 | #define RATE_IN_3430ES2PLUS (1 << 3) /* 3430 ES >= 2 rates only */ |
54 | #define RATE_IN_36XX (1 << 4) | 54 | #define RATE_IN_36XX (1 << 4) |
55 | #define RATE_IN_4430 (1 << 5) | 55 | #define RATE_IN_4430 (1 << 5) |
56 | #define RATE_IN_TI816X (1 << 6) | ||
56 | 57 | ||
57 | #define RATE_IN_24XX (RATE_IN_242X | RATE_IN_243X) | 58 | #define RATE_IN_24XX (RATE_IN_242X | RATE_IN_243X) |
58 | #define RATE_IN_34XX (RATE_IN_3430ES1 | RATE_IN_3430ES2PLUS) | 59 | #define RATE_IN_34XX (RATE_IN_3430ES1 | RATE_IN_3430ES2PLUS) |
diff --git a/arch/arm/plat-omap/include/plat/common.h b/arch/arm/plat-omap/include/plat/common.h index 29b2afb4288f..1dd97e7461c9 100644 --- a/arch/arm/plat-omap/include/plat/common.h +++ b/arch/arm/plat-omap/include/plat/common.h | |||
@@ -66,6 +66,7 @@ void omap2_set_globals_242x(void); | |||
66 | void omap2_set_globals_243x(void); | 66 | void omap2_set_globals_243x(void); |
67 | void omap2_set_globals_3xxx(void); | 67 | void omap2_set_globals_3xxx(void); |
68 | void omap2_set_globals_443x(void); | 68 | void omap2_set_globals_443x(void); |
69 | void omap2_set_globals_ti816x(void); | ||
69 | 70 | ||
70 | /* These get called from omap2_set_globals_xxxx(), do not call these */ | 71 | /* These get called from omap2_set_globals_xxxx(), do not call these */ |
71 | void omap2_set_globals_tap(struct omap_globals *); | 72 | void omap2_set_globals_tap(struct omap_globals *); |
diff --git a/arch/arm/plat-omap/include/plat/cpu.h b/arch/arm/plat-omap/include/plat/cpu.h index 3fd8b4055727..ac7dcd9a80c7 100644 --- a/arch/arm/plat-omap/include/plat/cpu.h +++ b/arch/arm/plat-omap/include/plat/cpu.h | |||
@@ -105,6 +105,12 @@ static inline int is_omap ##subclass (void) \ | |||
105 | return (GET_OMAP_SUBCLASS == (id)) ? 1 : 0; \ | 105 | return (GET_OMAP_SUBCLASS == (id)) ? 1 : 0; \ |
106 | } | 106 | } |
107 | 107 | ||
108 | #define IS_TI_SUBCLASS(subclass, id) \ | ||
109 | static inline int is_ti ##subclass (void) \ | ||
110 | { \ | ||
111 | return (GET_OMAP_SUBCLASS == (id)) ? 1 : 0; \ | ||
112 | } | ||
113 | |||
108 | IS_OMAP_CLASS(7xx, 0x07) | 114 | IS_OMAP_CLASS(7xx, 0x07) |
109 | IS_OMAP_CLASS(15xx, 0x15) | 115 | IS_OMAP_CLASS(15xx, 0x15) |
110 | IS_OMAP_CLASS(16xx, 0x16) | 116 | IS_OMAP_CLASS(16xx, 0x16) |
@@ -118,6 +124,8 @@ IS_OMAP_SUBCLASS(343x, 0x343) | |||
118 | IS_OMAP_SUBCLASS(363x, 0x363) | 124 | IS_OMAP_SUBCLASS(363x, 0x363) |
119 | IS_OMAP_SUBCLASS(443x, 0x443) | 125 | IS_OMAP_SUBCLASS(443x, 0x443) |
120 | 126 | ||
127 | IS_TI_SUBCLASS(816x, 0x816) | ||
128 | |||
121 | #define cpu_is_omap7xx() 0 | 129 | #define cpu_is_omap7xx() 0 |
122 | #define cpu_is_omap15xx() 0 | 130 | #define cpu_is_omap15xx() 0 |
123 | #define cpu_is_omap16xx() 0 | 131 | #define cpu_is_omap16xx() 0 |
@@ -126,6 +134,7 @@ IS_OMAP_SUBCLASS(443x, 0x443) | |||
126 | #define cpu_is_omap243x() 0 | 134 | #define cpu_is_omap243x() 0 |
127 | #define cpu_is_omap34xx() 0 | 135 | #define cpu_is_omap34xx() 0 |
128 | #define cpu_is_omap343x() 0 | 136 | #define cpu_is_omap343x() 0 |
137 | #define cpu_is_ti816x() 0 | ||
129 | #define cpu_is_omap44xx() 0 | 138 | #define cpu_is_omap44xx() 0 |
130 | #define cpu_is_omap443x() 0 | 139 | #define cpu_is_omap443x() 0 |
131 | 140 | ||
@@ -330,6 +339,7 @@ IS_OMAP_TYPE(3517, 0x3517) | |||
330 | # undef cpu_is_omap3530 | 339 | # undef cpu_is_omap3530 |
331 | # undef cpu_is_omap3505 | 340 | # undef cpu_is_omap3505 |
332 | # undef cpu_is_omap3517 | 341 | # undef cpu_is_omap3517 |
342 | # undef cpu_is_ti816x | ||
333 | # define cpu_is_omap3430() is_omap3430() | 343 | # define cpu_is_omap3430() is_omap3430() |
334 | # define cpu_is_omap3503() (cpu_is_omap3430() && \ | 344 | # define cpu_is_omap3503() (cpu_is_omap3430() && \ |
335 | (!omap3_has_iva()) && \ | 345 | (!omap3_has_iva()) && \ |
@@ -345,6 +355,7 @@ IS_OMAP_TYPE(3517, 0x3517) | |||
345 | # define cpu_is_omap3517() is_omap3517() | 355 | # define cpu_is_omap3517() is_omap3517() |
346 | # undef cpu_is_omap3630 | 356 | # undef cpu_is_omap3630 |
347 | # define cpu_is_omap3630() is_omap363x() | 357 | # define cpu_is_omap3630() is_omap363x() |
358 | # define cpu_is_ti816x() is_ti816x() | ||
348 | #endif | 359 | #endif |
349 | 360 | ||
350 | # if defined(CONFIG_ARCH_OMAP4) | 361 | # if defined(CONFIG_ARCH_OMAP4) |
@@ -389,6 +400,10 @@ IS_OMAP_TYPE(3517, 0x3517) | |||
389 | #define OMAP3505_REV(v) (OMAP35XX_CLASS | (0x3505 << 16) | (v << 8)) | 400 | #define OMAP3505_REV(v) (OMAP35XX_CLASS | (0x3505 << 16) | (v << 8)) |
390 | #define OMAP3517_REV(v) (OMAP35XX_CLASS | (0x3517 << 16) | (v << 8)) | 401 | #define OMAP3517_REV(v) (OMAP35XX_CLASS | (0x3517 << 16) | (v << 8)) |
391 | 402 | ||
403 | #define TI816X_CLASS 0x81600034 | ||
404 | #define TI8168_REV_ES1_0 TI816X_CLASS | ||
405 | #define TI8168_REV_ES1_1 (TI816X_CLASS | (OMAP_REVBITS_01 << 8)) | ||
406 | |||
392 | #define OMAP443X_CLASS 0x44300044 | 407 | #define OMAP443X_CLASS 0x44300044 |
393 | #define OMAP4430_REV_ES1_0 OMAP443X_CLASS | 408 | #define OMAP4430_REV_ES1_0 OMAP443X_CLASS |
394 | #define OMAP4430_REV_ES2_0 0x44301044 | 409 | #define OMAP4430_REV_ES2_0 0x44301044 |
@@ -419,6 +434,7 @@ IS_OMAP_TYPE(3517, 0x3517) | |||
419 | #define CHIP_IS_OMAP3630ES1_1 (1 << 9) | 434 | #define CHIP_IS_OMAP3630ES1_1 (1 << 9) |
420 | #define CHIP_IS_OMAP3630ES1_2 (1 << 10) | 435 | #define CHIP_IS_OMAP3630ES1_2 (1 << 10) |
421 | #define CHIP_IS_OMAP4430ES2 (1 << 11) | 436 | #define CHIP_IS_OMAP4430ES2 (1 << 11) |
437 | #define CHIP_IS_TI816X (1 << 14) | ||
422 | 438 | ||
423 | #define CHIP_IS_OMAP24XX (CHIP_IS_OMAP2420 | CHIP_IS_OMAP2430) | 439 | #define CHIP_IS_OMAP24XX (CHIP_IS_OMAP2420 | CHIP_IS_OMAP2430) |
424 | 440 | ||
@@ -455,6 +471,7 @@ extern u32 omap3_features; | |||
455 | #define OMAP3_HAS_ISP BIT(4) | 471 | #define OMAP3_HAS_ISP BIT(4) |
456 | #define OMAP3_HAS_192MHZ_CLK BIT(5) | 472 | #define OMAP3_HAS_192MHZ_CLK BIT(5) |
457 | #define OMAP3_HAS_IO_WAKEUP BIT(6) | 473 | #define OMAP3_HAS_IO_WAKEUP BIT(6) |
474 | #define OMAP3_HAS_SDRC BIT(7) | ||
458 | 475 | ||
459 | #define OMAP3_HAS_FEATURE(feat,flag) \ | 476 | #define OMAP3_HAS_FEATURE(feat,flag) \ |
460 | static inline unsigned int omap3_has_ ##feat(void) \ | 477 | static inline unsigned int omap3_has_ ##feat(void) \ |
@@ -469,5 +486,6 @@ OMAP3_HAS_FEATURE(neon, NEON) | |||
469 | OMAP3_HAS_FEATURE(isp, ISP) | 486 | OMAP3_HAS_FEATURE(isp, ISP) |
470 | OMAP3_HAS_FEATURE(192mhz_clk, 192MHZ_CLK) | 487 | OMAP3_HAS_FEATURE(192mhz_clk, 192MHZ_CLK) |
471 | OMAP3_HAS_FEATURE(io_wakeup, IO_WAKEUP) | 488 | OMAP3_HAS_FEATURE(io_wakeup, IO_WAKEUP) |
489 | OMAP3_HAS_FEATURE(sdrc, SDRC) | ||
472 | 490 | ||
473 | #endif | 491 | #endif |