diff options
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-omap2/Kconfig | 5 | ||||
-rw-r--r-- | arch/arm/mach-omap2/clock.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/clock.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/opp2xxx.h | 2 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/clock.h | 3 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/cpu.h | 25 |
6 files changed, 35 insertions, 4 deletions
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index b6625130831d..ccdd442ca124 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig | |||
@@ -81,6 +81,11 @@ config SOC_OMAPTI816X | |||
81 | depends on ARCH_OMAP3 | 81 | depends on ARCH_OMAP3 |
82 | default y | 82 | default y |
83 | 83 | ||
84 | config SOC_OMAPAM33XX | ||
85 | bool "AM33XX support" | ||
86 | depends on ARCH_OMAP3 | ||
87 | default y | ||
88 | |||
84 | config OMAP_PACKAGE_ZAF | 89 | config OMAP_PACKAGE_ZAF |
85 | bool | 90 | bool |
86 | 91 | ||
diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c index 1f3481f8d695..f57ed5baeccf 100644 --- a/arch/arm/mach-omap2/clock.c +++ b/arch/arm/mach-omap2/clock.c | |||
@@ -35,7 +35,7 @@ | |||
35 | #include "cm-regbits-24xx.h" | 35 | #include "cm-regbits-24xx.h" |
36 | #include "cm-regbits-34xx.h" | 36 | #include "cm-regbits-34xx.h" |
37 | 37 | ||
38 | u8 cpu_mask; | 38 | u16 cpu_mask; |
39 | 39 | ||
40 | /* | 40 | /* |
41 | * clkdm_control: if true, then when a clock is enabled in the | 41 | * clkdm_control: if true, then when a clock is enabled in the |
diff --git a/arch/arm/mach-omap2/clock.h b/arch/arm/mach-omap2/clock.h index 2311bc217226..b8c2a686481c 100644 --- a/arch/arm/mach-omap2/clock.h +++ b/arch/arm/mach-omap2/clock.h | |||
@@ -132,7 +132,7 @@ void omap2_clk_print_new_rates(const char *hfclkin_ck_name, | |||
132 | const char *core_ck_name, | 132 | const char *core_ck_name, |
133 | const char *mpu_ck_name); | 133 | const char *mpu_ck_name); |
134 | 134 | ||
135 | extern u8 cpu_mask; | 135 | extern u16 cpu_mask; |
136 | 136 | ||
137 | extern const struct clkops clkops_omap2_dflt_wait; | 137 | extern const struct clkops clkops_omap2_dflt_wait; |
138 | extern const struct clkops clkops_dummy; | 138 | extern const struct clkops clkops_dummy; |
diff --git a/arch/arm/mach-omap2/opp2xxx.h b/arch/arm/mach-omap2/opp2xxx.h index 8affc66a92c2..8fae534eb157 100644 --- a/arch/arm/mach-omap2/opp2xxx.h +++ b/arch/arm/mach-omap2/opp2xxx.h | |||
@@ -51,7 +51,7 @@ struct prcm_config { | |||
51 | unsigned long cm_clksel2_pll; /* dpllx1 or x2 out */ | 51 | unsigned long cm_clksel2_pll; /* dpllx1 or x2 out */ |
52 | unsigned long cm_clksel_mdm; /* modem dividers 2430 only */ | 52 | unsigned long cm_clksel_mdm; /* modem dividers 2430 only */ |
53 | unsigned long base_sdrc_rfr; /* base refresh timing for a set */ | 53 | unsigned long base_sdrc_rfr; /* base refresh timing for a set */ |
54 | unsigned char flags; | 54 | unsigned short flags; |
55 | }; | 55 | }; |
56 | 56 | ||
57 | 57 | ||
diff --git a/arch/arm/plat-omap/include/plat/clock.h b/arch/arm/plat-omap/include/plat/clock.h index eb73ab40e955..bb3e423b731d 100644 --- a/arch/arm/plat-omap/include/plat/clock.h +++ b/arch/arm/plat-omap/include/plat/clock.h | |||
@@ -59,6 +59,7 @@ struct clkops { | |||
59 | #define RATE_IN_4430 (1 << 5) | 59 | #define RATE_IN_4430 (1 << 5) |
60 | #define RATE_IN_TI816X (1 << 6) | 60 | #define RATE_IN_TI816X (1 << 6) |
61 | #define RATE_IN_4460 (1 << 7) | 61 | #define RATE_IN_4460 (1 << 7) |
62 | #define RATE_IN_AM33XX (1 << 8) | ||
62 | 63 | ||
63 | #define RATE_IN_24XX (RATE_IN_242X | RATE_IN_243X) | 64 | #define RATE_IN_24XX (RATE_IN_242X | RATE_IN_243X) |
64 | #define RATE_IN_34XX (RATE_IN_3430ES1 | RATE_IN_3430ES2PLUS) | 65 | #define RATE_IN_34XX (RATE_IN_3430ES1 | RATE_IN_3430ES2PLUS) |
@@ -84,7 +85,7 @@ struct clkops { | |||
84 | struct clksel_rate { | 85 | struct clksel_rate { |
85 | u32 val; | 86 | u32 val; |
86 | u8 div; | 87 | u8 div; |
87 | u8 flags; | 88 | u16 flags; |
88 | }; | 89 | }; |
89 | 90 | ||
90 | /** | 91 | /** |
diff --git a/arch/arm/plat-omap/include/plat/cpu.h b/arch/arm/plat-omap/include/plat/cpu.h index 408a12f79205..aa52d1e61eb1 100644 --- a/arch/arm/plat-omap/include/plat/cpu.h +++ b/arch/arm/plat-omap/include/plat/cpu.h | |||
@@ -78,6 +78,14 @@ static inline int is_omap ##class (void) \ | |||
78 | return (GET_OMAP_CLASS == (id)) ? 1 : 0; \ | 78 | return (GET_OMAP_CLASS == (id)) ? 1 : 0; \ |
79 | } | 79 | } |
80 | 80 | ||
81 | #define GET_AM_CLASS ((omap_rev() >> 24) & 0xff) | ||
82 | |||
83 | #define IS_AM_CLASS(class, id) \ | ||
84 | static inline int is_am ##class (void) \ | ||
85 | { \ | ||
86 | return (GET_AM_CLASS == (id)) ? 1 : 0; \ | ||
87 | } | ||
88 | |||
81 | #define GET_OMAP_SUBCLASS ((omap_rev() >> 20) & 0x0fff) | 89 | #define GET_OMAP_SUBCLASS ((omap_rev() >> 20) & 0x0fff) |
82 | 90 | ||
83 | #define IS_OMAP_SUBCLASS(subclass, id) \ | 91 | #define IS_OMAP_SUBCLASS(subclass, id) \ |
@@ -92,12 +100,19 @@ static inline int is_ti ##subclass (void) \ | |||
92 | return (GET_OMAP_SUBCLASS == (id)) ? 1 : 0; \ | 100 | return (GET_OMAP_SUBCLASS == (id)) ? 1 : 0; \ |
93 | } | 101 | } |
94 | 102 | ||
103 | #define IS_AM_SUBCLASS(subclass, id) \ | ||
104 | static inline int is_am ##subclass (void) \ | ||
105 | { \ | ||
106 | return (GET_OMAP_SUBCLASS == (id)) ? 1 : 0; \ | ||
107 | } | ||
108 | |||
95 | IS_OMAP_CLASS(7xx, 0x07) | 109 | IS_OMAP_CLASS(7xx, 0x07) |
96 | IS_OMAP_CLASS(15xx, 0x15) | 110 | IS_OMAP_CLASS(15xx, 0x15) |
97 | IS_OMAP_CLASS(16xx, 0x16) | 111 | IS_OMAP_CLASS(16xx, 0x16) |
98 | IS_OMAP_CLASS(24xx, 0x24) | 112 | IS_OMAP_CLASS(24xx, 0x24) |
99 | IS_OMAP_CLASS(34xx, 0x34) | 113 | IS_OMAP_CLASS(34xx, 0x34) |
100 | IS_OMAP_CLASS(44xx, 0x44) | 114 | IS_OMAP_CLASS(44xx, 0x44) |
115 | IS_AM_CLASS(33xx, 0x33) | ||
101 | 116 | ||
102 | IS_OMAP_SUBCLASS(242x, 0x242) | 117 | IS_OMAP_SUBCLASS(242x, 0x242) |
103 | IS_OMAP_SUBCLASS(243x, 0x243) | 118 | IS_OMAP_SUBCLASS(243x, 0x243) |
@@ -107,6 +122,7 @@ IS_OMAP_SUBCLASS(443x, 0x443) | |||
107 | IS_OMAP_SUBCLASS(446x, 0x446) | 122 | IS_OMAP_SUBCLASS(446x, 0x446) |
108 | 123 | ||
109 | IS_TI_SUBCLASS(816x, 0x816) | 124 | IS_TI_SUBCLASS(816x, 0x816) |
125 | IS_AM_SUBCLASS(335x, 0x335) | ||
110 | 126 | ||
111 | #define cpu_is_omap7xx() 0 | 127 | #define cpu_is_omap7xx() 0 |
112 | #define cpu_is_omap15xx() 0 | 128 | #define cpu_is_omap15xx() 0 |
@@ -117,6 +133,8 @@ IS_TI_SUBCLASS(816x, 0x816) | |||
117 | #define cpu_is_omap34xx() 0 | 133 | #define cpu_is_omap34xx() 0 |
118 | #define cpu_is_omap343x() 0 | 134 | #define cpu_is_omap343x() 0 |
119 | #define cpu_is_ti816x() 0 | 135 | #define cpu_is_ti816x() 0 |
136 | #define cpu_is_am33xx() 0 | ||
137 | #define cpu_is_am335x() 0 | ||
120 | #define cpu_is_omap44xx() 0 | 138 | #define cpu_is_omap44xx() 0 |
121 | #define cpu_is_omap443x() 0 | 139 | #define cpu_is_omap443x() 0 |
122 | #define cpu_is_omap446x() 0 | 140 | #define cpu_is_omap446x() 0 |
@@ -323,6 +341,8 @@ IS_OMAP_TYPE(3517, 0x3517) | |||
323 | # undef cpu_is_omap3505 | 341 | # undef cpu_is_omap3505 |
324 | # undef cpu_is_omap3517 | 342 | # undef cpu_is_omap3517 |
325 | # undef cpu_is_ti816x | 343 | # undef cpu_is_ti816x |
344 | # undef cpu_is_am33xx | ||
345 | # undef cpu_is_am335x | ||
326 | # define cpu_is_omap3430() is_omap3430() | 346 | # define cpu_is_omap3430() is_omap3430() |
327 | # define cpu_is_omap3503() (cpu_is_omap3430() && \ | 347 | # define cpu_is_omap3503() (cpu_is_omap3430() && \ |
328 | (!omap3_has_iva()) && \ | 348 | (!omap3_has_iva()) && \ |
@@ -340,6 +360,8 @@ IS_OMAP_TYPE(3517, 0x3517) | |||
340 | # undef cpu_is_omap3630 | 360 | # undef cpu_is_omap3630 |
341 | # define cpu_is_omap3630() is_omap363x() | 361 | # define cpu_is_omap3630() is_omap363x() |
342 | # define cpu_is_ti816x() is_ti816x() | 362 | # define cpu_is_ti816x() is_ti816x() |
363 | # define cpu_is_am33xx() is_am33xx() | ||
364 | # define cpu_is_am335x() is_am335x() | ||
343 | #endif | 365 | #endif |
344 | 366 | ||
345 | # if defined(CONFIG_ARCH_OMAP4) | 367 | # if defined(CONFIG_ARCH_OMAP4) |
@@ -386,6 +408,9 @@ IS_OMAP_TYPE(3517, 0x3517) | |||
386 | #define TI8168_REV_ES1_0 TI816X_CLASS | 408 | #define TI8168_REV_ES1_0 TI816X_CLASS |
387 | #define TI8168_REV_ES1_1 (TI816X_CLASS | (0x1 << 8)) | 409 | #define TI8168_REV_ES1_1 (TI816X_CLASS | (0x1 << 8)) |
388 | 410 | ||
411 | #define AM335X_CLASS 0x33500034 | ||
412 | #define AM335X_REV_ES1_0 AM335X_CLASS | ||
413 | |||
389 | #define OMAP443X_CLASS 0x44300044 | 414 | #define OMAP443X_CLASS 0x44300044 |
390 | #define OMAP4430_REV_ES1_0 (OMAP443X_CLASS | (0x10 << 8)) | 415 | #define OMAP4430_REV_ES1_0 (OMAP443X_CLASS | (0x10 << 8)) |
391 | #define OMAP4430_REV_ES2_0 (OMAP443X_CLASS | (0x20 << 8)) | 416 | #define OMAP4430_REV_ES2_0 (OMAP443X_CLASS | (0x20 << 8)) |