]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame - arch/arm/plat-omap/include/plat/cpu.h
omap: Start using CONFIG_SOC_OMAP
[mirror_ubuntu-bionic-kernel.git] / arch / arm / plat-omap / include / plat / cpu.h
CommitLineData
1da177e4 1/*
a09e64fb 2 * arch/arm/plat-omap/include/mach/cpu.h
1da177e4
LT
3 *
4 * OMAP cpu type detection
5 *
097c584c 6 * Copyright (C) 2004, 2008 Nokia Corporation
1da177e4 7 *
44169075
SS
8 * Copyright (C) 2009 Texas Instruments.
9 *
1da177e4
LT
10 * Written by Tony Lindgren <tony.lindgren@nokia.com>
11 *
44169075
SS
12 * Added OMAP4 specific defines - Santosh Shilimkar<santosh.shilimkar@ti.com>
13 *
1da177e4
LT
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, write to the Free Software
26 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
27 *
28 */
29
30#ifndef __ASM_ARCH_OMAP_CPU_H
31#define __ASM_ARCH_OMAP_CPU_H
32
8384ce07 33#include <linux/bitops.h>
1cf9d079 34#include <plat/multi.h>
8384ce07 35
8e25ad96
KH
36/*
37 * Omap device type i.e. EMU/HS/TST/GP/BAD
38 */
39#define OMAP2_DEVICE_TYPE_TEST 0
40#define OMAP2_DEVICE_TYPE_EMU 1
41#define OMAP2_DEVICE_TYPE_SEC 2
42#define OMAP2_DEVICE_TYPE_GP 3
43#define OMAP2_DEVICE_TYPE_BAD 4
44
45int omap_type(void);
46
097c584c 47struct omap_chip_id {
c6a6e6e2 48 u16 oc;
a8823143 49 u8 type;
097c584c
PW
50};
51
52#define OMAP_CHIP_INIT(x) { .oc = x }
53
a8823143 54/*
84a34344 55 * omap_rev bits:
a8823143
TL
56 * CPU id bits (0730, 1510, 1710, 2422...) [31:16]
57 * CPU revision (See _REV_ defined in cpu.h) [15:08]
58 * CPU class bits (15xx, 16xx, 24xx, 34xx...) [07:00]
59 */
84a34344 60unsigned int omap_rev(void);
1da177e4 61
048f4bd7
SP
62/*
63 * Define CPU revision bits
64 *
65 * Verbose meaning of the revision bits may be different for a silicon
66 * family. This difference can be handled separately.
67 */
68#define OMAP_REVBITS_00 0x00
b0a1a6ce
AG
69#define OMAP_REVBITS_01 0x01
70#define OMAP_REVBITS_02 0x02
76abab21
SP
71#define OMAP_REVBITS_03 0x03
72#define OMAP_REVBITS_04 0x04
73#define OMAP_REVBITS_05 0x05
048f4bd7
SP
74
75/*
76 * Get the CPU revision for OMAP devices
77 */
78#define GET_OMAP_REVISION() ((omap_rev() >> 8) & 0xff)
79
1da177e4 80/*
9839c6b8
TL
81 * Macros to group OMAP into cpu classes.
82 * These can be used in most places.
ae302f40 83 * cpu_is_omap7xx(): True for OMAP730, OMAP850
9ad5897c 84 * cpu_is_omap15xx(): True for OMAP1510, OMAP5910 and OMAP310
9839c6b8 85 * cpu_is_omap16xx(): True for OMAP1610, OMAP5912 and OMAP1710
9ad5897c
TL
86 * cpu_is_omap24xx(): True for OMAP2420, OMAP2422, OMAP2423, OMAP2430
87 * cpu_is_omap242x(): True for OMAP2420, OMAP2422, OMAP2423
88 * cpu_is_omap243x(): True for OMAP2430
2c17f615 89 * cpu_is_omap343x(): True for OMAP3430
c6a6e6e2 90 * cpu_is_omap443x(): True for OMAP4430
1da177e4 91 */
84a34344 92#define GET_OMAP_CLASS (omap_rev() & 0xff)
1da177e4 93
1da177e4
LT
94#define IS_OMAP_CLASS(class, id) \
95static inline int is_omap ##class (void) \
96{ \
97 return (GET_OMAP_CLASS == (id)) ? 1 : 0; \
98}
99
84a34344 100#define GET_OMAP_SUBCLASS ((omap_rev() >> 20) & 0x0fff)
9ad5897c
TL
101
102#define IS_OMAP_SUBCLASS(subclass, id) \
103static inline int is_omap ##subclass (void) \
104{ \
105 return (GET_OMAP_SUBCLASS == (id)) ? 1 : 0; \
106}
107
1da177e4
LT
108IS_OMAP_CLASS(7xx, 0x07)
109IS_OMAP_CLASS(15xx, 0x15)
110IS_OMAP_CLASS(16xx, 0x16)
111IS_OMAP_CLASS(24xx, 0x24)
2c17f615 112IS_OMAP_CLASS(34xx, 0x34)
b570e0ec 113IS_OMAP_CLASS(44xx, 0x44)
1da177e4 114
9ad5897c
TL
115IS_OMAP_SUBCLASS(242x, 0x242)
116IS_OMAP_SUBCLASS(243x, 0x243)
2c17f615 117IS_OMAP_SUBCLASS(343x, 0x343)
2456a10f 118IS_OMAP_SUBCLASS(363x, 0x363)
b570e0ec 119IS_OMAP_SUBCLASS(443x, 0x443)
9ad5897c 120
9839c6b8
TL
121#define cpu_is_omap7xx() 0
122#define cpu_is_omap15xx() 0
123#define cpu_is_omap16xx() 0
124#define cpu_is_omap24xx() 0
9ad5897c
TL
125#define cpu_is_omap242x() 0
126#define cpu_is_omap243x() 0
2c17f615
SMK
127#define cpu_is_omap34xx() 0
128#define cpu_is_omap343x() 0
44169075
SS
129#define cpu_is_omap44xx() 0
130#define cpu_is_omap443x() 0
9839c6b8
TL
131
132#if defined(MULTI_OMAP1)
133# if defined(CONFIG_ARCH_OMAP730)
134# undef cpu_is_omap7xx
135# define cpu_is_omap7xx() is_omap7xx()
136# endif
ae302f40
ZM
137# if defined(CONFIG_ARCH_OMAP850)
138# undef cpu_is_omap7xx
139# define cpu_is_omap7xx() is_omap7xx()
140# endif
9ad5897c 141# if defined(CONFIG_ARCH_OMAP15XX)
9839c6b8
TL
142# undef cpu_is_omap15xx
143# define cpu_is_omap15xx() is_omap15xx()
144# endif
145# if defined(CONFIG_ARCH_OMAP16XX)
146# undef cpu_is_omap16xx
1da177e4
LT
147# define cpu_is_omap16xx() is_omap16xx()
148# endif
149#else
150# if defined(CONFIG_ARCH_OMAP730)
9839c6b8 151# undef cpu_is_omap7xx
1da177e4 152# define cpu_is_omap7xx() 1
1da177e4 153# endif
ae302f40
ZM
154# if defined(CONFIG_ARCH_OMAP850)
155# undef cpu_is_omap7xx
156# define cpu_is_omap7xx() 1
157# endif
9ad5897c 158# if defined(CONFIG_ARCH_OMAP15XX)
9839c6b8 159# undef cpu_is_omap15xx
1da177e4 160# define cpu_is_omap15xx() 1
1da177e4
LT
161# endif
162# if defined(CONFIG_ARCH_OMAP16XX)
9839c6b8 163# undef cpu_is_omap16xx
1da177e4 164# define cpu_is_omap16xx() 1
9839c6b8 165# endif
2c17f615
SMK
166#endif
167
168#if defined(MULTI_OMAP2)
088ef950 169# if defined(CONFIG_ARCH_OMAP2)
9839c6b8 170# undef cpu_is_omap24xx
2c17f615 171# define cpu_is_omap24xx() is_omap24xx()
54c44fb7 172# endif
59b479e0 173# if defined (CONFIG_SOC_OMAP2420)
54c44fb7 174# undef cpu_is_omap242x
9ad5897c 175# define cpu_is_omap242x() is_omap242x()
54c44fb7 176# endif
59b479e0 177# if defined (CONFIG_SOC_OMAP2430)
54c44fb7 178# undef cpu_is_omap243x
9ad5897c 179# define cpu_is_omap243x() is_omap243x()
1da177e4 180# endif
a8eb7ca0 181# if defined(CONFIG_ARCH_OMAP3)
2c17f615
SMK
182# undef cpu_is_omap34xx
183# undef cpu_is_omap343x
184# define cpu_is_omap34xx() is_omap34xx()
185# define cpu_is_omap343x() is_omap343x()
186# endif
187#else
088ef950 188# if defined(CONFIG_ARCH_OMAP2)
2c17f615
SMK
189# undef cpu_is_omap24xx
190# define cpu_is_omap24xx() 1
191# endif
59b479e0 192# if defined(CONFIG_SOC_OMAP2420)
2c17f615
SMK
193# undef cpu_is_omap242x
194# define cpu_is_omap242x() 1
195# endif
59b479e0 196# if defined(CONFIG_SOC_OMAP2430)
2c17f615
SMK
197# undef cpu_is_omap243x
198# define cpu_is_omap243x() 1
199# endif
a8eb7ca0 200# if defined(CONFIG_ARCH_OMAP3)
2c17f615
SMK
201# undef cpu_is_omap34xx
202# define cpu_is_omap34xx() 1
203# endif
59b479e0 204# if defined(CONFIG_SOC_OMAP3430)
2c17f615
SMK
205# undef cpu_is_omap343x
206# define cpu_is_omap343x() 1
207# endif
1da177e4
LT
208#endif
209
9839c6b8
TL
210/*
211 * Macros to detect individual cpu types.
212 * These are only rarely needed.
9ad5897c 213 * cpu_is_omap330(): True for OMAP330
9839c6b8 214 * cpu_is_omap730(): True for OMAP730
ae302f40 215 * cpu_is_omap850(): True for OMAP850
9839c6b8
TL
216 * cpu_is_omap1510(): True for OMAP1510
217 * cpu_is_omap1610(): True for OMAP1610
218 * cpu_is_omap1611(): True for OMAP1611
219 * cpu_is_omap5912(): True for OMAP5912
220 * cpu_is_omap1621(): True for OMAP1621
221 * cpu_is_omap1710(): True for OMAP1710
222 * cpu_is_omap2420(): True for OMAP2420
9ad5897c
TL
223 * cpu_is_omap2422(): True for OMAP2422
224 * cpu_is_omap2423(): True for OMAP2423
225 * cpu_is_omap2430(): True for OMAP2430
2c17f615 226 * cpu_is_omap3430(): True for OMAP3430
c6a6e6e2 227 * cpu_is_omap4430(): True for OMAP4430
4cac6018
SP
228 * cpu_is_omap3505(): True for OMAP3505
229 * cpu_is_omap3517(): True for OMAP3517
9839c6b8 230 */
84a34344 231#define GET_OMAP_TYPE ((omap_rev() >> 16) & 0xffff)
9839c6b8
TL
232
233#define IS_OMAP_TYPE(type, id) \
234static inline int is_omap ##type (void) \
235{ \
236 return (GET_OMAP_TYPE == (id)) ? 1 : 0; \
237}
238
9ad5897c 239IS_OMAP_TYPE(310, 0x0310)
9839c6b8 240IS_OMAP_TYPE(730, 0x0730)
ae302f40 241IS_OMAP_TYPE(850, 0x0850)
9839c6b8
TL
242IS_OMAP_TYPE(1510, 0x1510)
243IS_OMAP_TYPE(1610, 0x1610)
244IS_OMAP_TYPE(1611, 0x1611)
245IS_OMAP_TYPE(5912, 0x1611)
246IS_OMAP_TYPE(1621, 0x1621)
247IS_OMAP_TYPE(1710, 0x1710)
248IS_OMAP_TYPE(2420, 0x2420)
9ad5897c
TL
249IS_OMAP_TYPE(2422, 0x2422)
250IS_OMAP_TYPE(2423, 0x2423)
251IS_OMAP_TYPE(2430, 0x2430)
2c17f615 252IS_OMAP_TYPE(3430, 0x3430)
4cac6018
SP
253IS_OMAP_TYPE(3505, 0x3505)
254IS_OMAP_TYPE(3517, 0x3517)
9839c6b8 255
9ad5897c 256#define cpu_is_omap310() 0
9839c6b8 257#define cpu_is_omap730() 0
ae302f40 258#define cpu_is_omap850() 0
9839c6b8
TL
259#define cpu_is_omap1510() 0
260#define cpu_is_omap1610() 0
261#define cpu_is_omap5912() 0
262#define cpu_is_omap1611() 0
263#define cpu_is_omap1621() 0
264#define cpu_is_omap1710() 0
265#define cpu_is_omap2420() 0
9ad5897c
TL
266#define cpu_is_omap2422() 0
267#define cpu_is_omap2423() 0
268#define cpu_is_omap2430() 0
048f4bd7
SP
269#define cpu_is_omap3503() 0
270#define cpu_is_omap3515() 0
271#define cpu_is_omap3525() 0
272#define cpu_is_omap3530() 0
4cac6018
SP
273#define cpu_is_omap3505() 0
274#define cpu_is_omap3517() 0
2c17f615 275#define cpu_is_omap3430() 0
c6a6e6e2 276#define cpu_is_omap4430() 0
2456a10f 277#define cpu_is_omap3630() 0
9839c6b8 278
9839c6b8
TL
279/*
280 * Whether we have MULTI_OMAP1 or not, we still need to distinguish
a9f82d10 281 * between 730 vs 850, 330 vs. 1510 and 1611B/5912 vs. 1710.
9839c6b8 282 */
a9f82d10
TL
283
284#if defined(CONFIG_ARCH_OMAP730)
285# undef cpu_is_omap730
286# define cpu_is_omap730() is_omap730()
287#endif
288
289#if defined(CONFIG_ARCH_OMAP850)
290# undef cpu_is_omap850
291# define cpu_is_omap850() is_omap850()
292#endif
293
9ad5897c
TL
294#if defined(CONFIG_ARCH_OMAP15XX)
295# undef cpu_is_omap310
296# undef cpu_is_omap1510
297# define cpu_is_omap310() is_omap310()
298# define cpu_is_omap1510() is_omap1510()
299#endif
300
9839c6b8
TL
301#if defined(CONFIG_ARCH_OMAP16XX)
302# undef cpu_is_omap1610
303# undef cpu_is_omap1611
304# undef cpu_is_omap5912
305# undef cpu_is_omap1621
306# undef cpu_is_omap1710
1da177e4 307# define cpu_is_omap1610() is_omap1610()
9839c6b8 308# define cpu_is_omap1611() is_omap1611()
1da177e4 309# define cpu_is_omap5912() is_omap5912()
9839c6b8 310# define cpu_is_omap1621() is_omap1621()
1da177e4 311# define cpu_is_omap1710() is_omap1710()
9839c6b8
TL
312#endif
313
088ef950 314#if defined(CONFIG_ARCH_OMAP2)
9ad5897c
TL
315# undef cpu_is_omap2420
316# undef cpu_is_omap2422
317# undef cpu_is_omap2423
318# undef cpu_is_omap2430
319# define cpu_is_omap2420() is_omap2420()
320# define cpu_is_omap2422() is_omap2422()
321# define cpu_is_omap2423() is_omap2423()
322# define cpu_is_omap2430() is_omap2430()
1da177e4
LT
323#endif
324
a8eb7ca0 325#if defined(CONFIG_ARCH_OMAP3)
2c17f615 326# undef cpu_is_omap3430
048f4bd7
SP
327# undef cpu_is_omap3503
328# undef cpu_is_omap3515
329# undef cpu_is_omap3525
330# undef cpu_is_omap3530
4cac6018
SP
331# undef cpu_is_omap3505
332# undef cpu_is_omap3517
2c17f615 333# define cpu_is_omap3430() is_omap3430()
048f4bd7
SP
334# define cpu_is_omap3503() (cpu_is_omap3430() && \
335 (!omap3_has_iva()) && \
336 (!omap3_has_sgx()))
337# define cpu_is_omap3515() (cpu_is_omap3430() && \
0712fb39
SL
338 (!omap3_has_iva()) && \
339 (omap3_has_sgx()))
048f4bd7 340# define cpu_is_omap3525() (cpu_is_omap3430() && \
0712fb39
SL
341 (!omap3_has_sgx()) && \
342 (omap3_has_iva()))
048f4bd7 343# define cpu_is_omap3530() (cpu_is_omap3430())
4cac6018
SP
344# define cpu_is_omap3505() is_omap3505()
345# define cpu_is_omap3517() is_omap3517()
2456a10f
NM
346# undef cpu_is_omap3630
347# define cpu_is_omap3630() is_omap363x()
2c17f615
SMK
348#endif
349
44169075
SS
350# if defined(CONFIG_ARCH_OMAP4)
351# undef cpu_is_omap44xx
352# undef cpu_is_omap443x
b570e0ec
SS
353# define cpu_is_omap44xx() is_omap44xx()
354# define cpu_is_omap443x() is_omap443x()
44169075
SS
355# endif
356
9ad5897c 357/* Macros to detect if we have OMAP1 or OMAP2 */
ae302f40 358#define cpu_class_is_omap1() (cpu_is_omap7xx() || cpu_is_omap15xx() || \
9ad5897c 359 cpu_is_omap16xx())
44169075
SS
360#define cpu_class_is_omap2() (cpu_is_omap24xx() || cpu_is_omap34xx() || \
361 cpu_is_omap44xx())
2c17f615 362
a8823143
TL
363/* Various silicon revisions for omap2 */
364#define OMAP242X_CLASS 0x24200024
76abab21
SP
365#define OMAP2420_REV_ES1_0 OMAP242X_CLASS
366#define OMAP2420_REV_ES2_0 (OMAP242X_CLASS | (OMAP_REVBITS_01 << 8))
2c17f615 367
a8823143 368#define OMAP243X_CLASS 0x24300024
76abab21 369#define OMAP2430_REV_ES1_0 OMAP243X_CLASS
2c17f615 370
a8823143 371#define OMAP343X_CLASS 0x34300034
76abab21
SP
372#define OMAP3430_REV_ES1_0 OMAP343X_CLASS
373#define OMAP3430_REV_ES2_0 (OMAP343X_CLASS | (OMAP_REVBITS_01 << 8))
374#define OMAP3430_REV_ES2_1 (OMAP343X_CLASS | (OMAP_REVBITS_02 << 8))
375#define OMAP3430_REV_ES3_0 (OMAP343X_CLASS | (OMAP_REVBITS_03 << 8))
376#define OMAP3430_REV_ES3_1 (OMAP343X_CLASS | (OMAP_REVBITS_04 << 8))
377#define OMAP3430_REV_ES3_1_2 (OMAP343X_CLASS | (OMAP_REVBITS_05 << 8))
378
379#define OMAP363X_CLASS 0x36300034
380#define OMAP3630_REV_ES1_0 OMAP363X_CLASS
381#define OMAP3630_REV_ES1_1 (OMAP363X_CLASS | (OMAP_REVBITS_01 << 8))
382#define OMAP3630_REV_ES1_2 (OMAP363X_CLASS | (OMAP_REVBITS_02 << 8))
2456a10f 383
048f4bd7 384#define OMAP35XX_CLASS 0x35000034
435bb827
SP
385#define OMAP3503_REV(v) (OMAP35XX_CLASS | (0x3503 << 16) | (v << 8))
386#define OMAP3515_REV(v) (OMAP35XX_CLASS | (0x3515 << 16) | (v << 8))
387#define OMAP3525_REV(v) (OMAP35XX_CLASS | (0x3525 << 16) | (v << 8))
388#define OMAP3530_REV(v) (OMAP35XX_CLASS | (0x3530 << 16) | (v << 8))
389#define OMAP3505_REV(v) (OMAP35XX_CLASS | (0x3505 << 16) | (v << 8))
390#define OMAP3517_REV(v) (OMAP35XX_CLASS | (0x3517 << 16) | (v << 8))
048f4bd7 391
b570e0ec 392#define OMAP443X_CLASS 0x44300044
76abab21 393#define OMAP4430_REV_ES1_0 OMAP443X_CLASS
ed6be0ba 394#define OMAP4430_REV_ES2_0 0x44301044
44169075 395
097c584c
PW
396/*
397 * omap_chip bits
398 *
399 * CHIP_IS_OMAP{2420,2430,3430} indicate that a particular structure is
400 * valid on all chips of that type. CHIP_IS_OMAP3430ES{1,2} indicates
401 * something that is only valid on that particular ES revision.
402 *
403 * These bits may be ORed together to indicate structures that are
404 * available on multiple chip types.
405 *
406 * To test whether a particular structure matches the current OMAP chip type,
407 * use omap_chip_is().
408 *
409 */
d41ad520
PW
410#define CHIP_IS_OMAP2420 (1 << 0)
411#define CHIP_IS_OMAP2430 (1 << 1)
412#define CHIP_IS_OMAP3430 (1 << 2)
413#define CHIP_IS_OMAP3430ES1 (1 << 3)
414#define CHIP_IS_OMAP3430ES2 (1 << 4)
415#define CHIP_IS_OMAP3430ES3_0 (1 << 5)
416#define CHIP_IS_OMAP3430ES3_1 (1 << 6)
f18af0a8 417#define CHIP_IS_OMAP3630ES1 (1 << 7)
c6a6e6e2 418#define CHIP_IS_OMAP4430ES1 (1 << 8)
b0a1a6ce
AG
419#define CHIP_IS_OMAP3630ES1_1 (1 << 9)
420#define CHIP_IS_OMAP3630ES1_2 (1 << 10)
ed6be0ba 421#define CHIP_IS_OMAP4430ES2 (1 << 11)
d41ad520
PW
422
423#define CHIP_IS_OMAP24XX (CHIP_IS_OMAP2420 | CHIP_IS_OMAP2430)
424
ed6be0ba
SS
425#define CHIP_IS_OMAP4430 (CHIP_IS_OMAP4430ES1 | \
426 CHIP_IS_OMAP4430ES2)
c6a6e6e2 427
d41ad520
PW
428/*
429 * "GE" here represents "greater than or equal to" in terms of ES
430 * levels. So CHIP_GE_OMAP3430ES2 is intended to match all OMAP3430
431 * chips at ES2 and beyond, but not, for example, any OMAP lines after
432 * OMAP3.
433 */
434#define CHIP_GE_OMAP3430ES2 (CHIP_IS_OMAP3430ES2 | \
435 CHIP_IS_OMAP3430ES3_0 | \
b0a1a6ce 436 CHIP_GE_OMAP3430ES3_1)
f18af0a8 437#define CHIP_GE_OMAP3430ES3_1 (CHIP_IS_OMAP3430ES3_1 | \
b0a1a6ce
AG
438 CHIP_IS_OMAP3630ES1 | \
439 CHIP_GE_OMAP3630ES1_1)
440#define CHIP_GE_OMAP3630ES1_1 (CHIP_IS_OMAP3630ES1_1 | \
441 CHIP_IS_OMAP3630ES1_2)
097c584c
PW
442
443int omap_chip_is(struct omap_chip_id oci);
097c584c 444void omap2_check_revision(void);
a9f82d10 445
8384ce07
SP
446/*
447 * Runtime detection of OMAP3 features
448 */
449extern u32 omap3_features;
450
451#define OMAP3_HAS_L2CACHE BIT(0)
452#define OMAP3_HAS_IVA BIT(1)
453#define OMAP3_HAS_SGX BIT(2)
454#define OMAP3_HAS_NEON BIT(3)
455#define OMAP3_HAS_ISP BIT(4)
7356f0b2 456#define OMAP3_HAS_192MHZ_CLK BIT(5)
ad0c63f1 457#define OMAP3_HAS_IO_WAKEUP BIT(6)
8384ce07
SP
458
459#define OMAP3_HAS_FEATURE(feat,flag) \
460static inline unsigned int omap3_has_ ##feat(void) \
461{ \
462 return (omap3_features & OMAP3_HAS_ ##flag); \
463} \
464
465OMAP3_HAS_FEATURE(l2cache, L2CACHE)
466OMAP3_HAS_FEATURE(sgx, SGX)
467OMAP3_HAS_FEATURE(iva, IVA)
468OMAP3_HAS_FEATURE(neon, NEON)
469OMAP3_HAS_FEATURE(isp, ISP)
7356f0b2 470OMAP3_HAS_FEATURE(192mhz_clk, 192MHZ_CLK)
ad0c63f1 471OMAP3_HAS_FEATURE(io_wakeup, IO_WAKEUP)
8384ce07 472
a9f82d10 473#endif