ARM: ux500: update ASIC detection for U5500
This adds a few CPU identification functions for the U5500 variants. Contains portions of code written by Rabin Vincent. Cc: Rabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
Родитель
41c34ae49e
Коммит
d5608bbf81
|
@ -10,20 +10,21 @@
|
|||
#ifndef __MACH_HARDWARE_H
|
||||
#define __MACH_HARDWARE_H
|
||||
|
||||
/* macros to get at IO space when running virtually
|
||||
/*
|
||||
* Macros to get at IO space when running virtually
|
||||
* We dont map all the peripherals, let ioremap do
|
||||
* this for us. We map only very basic peripherals here.
|
||||
*/
|
||||
#define U8500_IO_VIRTUAL 0xf0000000
|
||||
#define U8500_IO_PHYSICAL 0xa0000000
|
||||
|
||||
/* this macro is used in assembly, so no cast */
|
||||
/* This macro is used in assembly, so no cast */
|
||||
#define IO_ADDRESS(x) \
|
||||
(((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + U8500_IO_VIRTUAL)
|
||||
|
||||
/* typesafe io address */
|
||||
#define __io_address(n) __io(IO_ADDRESS(n))
|
||||
/* used by some plat-nomadik code */
|
||||
/* Used by some plat-nomadik code */
|
||||
#define io_p2v(n) __io_address(n)
|
||||
|
||||
#include <mach/db8500-regs.h>
|
||||
|
@ -36,6 +37,5 @@ extern void __iomem *_PRCMU_BASE;
|
|||
|
||||
#define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x)
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
#endif /* __MACH_HARDWARE_H */
|
||||
|
|
|
@ -46,6 +46,30 @@ static inline bool __attribute_const__ cpu_is_u5500(void)
|
|||
return dbx500_partnumber() == 0x5500;
|
||||
}
|
||||
|
||||
/*
|
||||
* 5500 revisions
|
||||
*/
|
||||
|
||||
static inline bool __attribute_const__ cpu_is_u5500v1(void)
|
||||
{
|
||||
return cpu_is_u5500() && (dbx500_revision() & 0xf0) == 0xA0;
|
||||
}
|
||||
|
||||
static inline bool __attribute_const__ cpu_is_u5500v2(void)
|
||||
{
|
||||
return (dbx500_id.revision & 0xf0) == 0xB0;
|
||||
}
|
||||
|
||||
static inline bool __attribute_const__ cpu_is_u5500v20(void)
|
||||
{
|
||||
return cpu_is_u5500() && ((dbx500_revision() & 0xf0) == 0xB0);
|
||||
}
|
||||
|
||||
static inline bool __attribute_const__ cpu_is_u5500v21(void)
|
||||
{
|
||||
return cpu_is_u5500() && (dbx500_revision() == 0xB1);
|
||||
}
|
||||
|
||||
/*
|
||||
* 8500 revisions
|
||||
*/
|
||||
|
|
Загрузка…
Ссылка в новой задаче