at91: Add ARCH_ID and basic cpu macros definition for 5series chips family.
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
This commit is contained in:
parent
91a2f4d3cd
commit
9baeb7e47a
1 changed files with 28 additions and 0 deletions
|
@ -27,6 +27,7 @@
|
||||||
#define ARCH_ID_AT91SAM9G45 0x819b05a0
|
#define ARCH_ID_AT91SAM9G45 0x819b05a0
|
||||||
#define ARCH_ID_AT91SAM9G45MRL 0x819b05a2 /* aka 9G45-ES2 & non ES lots */
|
#define ARCH_ID_AT91SAM9G45MRL 0x819b05a2 /* aka 9G45-ES2 & non ES lots */
|
||||||
#define ARCH_ID_AT91SAM9G45ES 0x819b05a1 /* 9G45-ES (Engineering Sample) */
|
#define ARCH_ID_AT91SAM9G45ES 0x819b05a1 /* 9G45-ES (Engineering Sample) */
|
||||||
|
#define ARCH_ID_AT91SAM9X5 0x819a05a0
|
||||||
#define ARCH_ID_AT91CAP9 0x039A03A0
|
#define ARCH_ID_AT91CAP9 0x039A03A0
|
||||||
|
|
||||||
#define ARCH_ID_AT91SAM9XE128 0x329973a0
|
#define ARCH_ID_AT91SAM9XE128 0x329973a0
|
||||||
|
@ -55,6 +56,12 @@ static inline unsigned long at91_cpu_fully_identify(void)
|
||||||
#define ARCH_EXID_AT91SAM9G46 0x00000003
|
#define ARCH_EXID_AT91SAM9G46 0x00000003
|
||||||
#define ARCH_EXID_AT91SAM9G45 0x00000004
|
#define ARCH_EXID_AT91SAM9G45 0x00000004
|
||||||
|
|
||||||
|
#define ARCH_EXID_AT91SAM9G15 0x00000000
|
||||||
|
#define ARCH_EXID_AT91SAM9G35 0x00000001
|
||||||
|
#define ARCH_EXID_AT91SAM9X35 0x00000002
|
||||||
|
#define ARCH_EXID_AT91SAM9G25 0x00000003
|
||||||
|
#define ARCH_EXID_AT91SAM9X25 0x00000004
|
||||||
|
|
||||||
static inline unsigned long at91_exid_identify(void)
|
static inline unsigned long at91_exid_identify(void)
|
||||||
{
|
{
|
||||||
return at91_sys_read(AT91_DBGU_EXID);
|
return at91_sys_read(AT91_DBGU_EXID);
|
||||||
|
@ -143,6 +150,27 @@ static inline unsigned long at91cap9_rev_identify(void)
|
||||||
#define cpu_is_at91sam9m11() (0)
|
#define cpu_is_at91sam9m11() (0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_ARCH_AT91SAM9X5
|
||||||
|
#define cpu_is_at91sam9x5() (at91_cpu_identify() == ARCH_ID_AT91SAM9X5)
|
||||||
|
#define cpu_is_at91sam9g15() (cpu_is_at91sam9x5() && \
|
||||||
|
(at91_exid_identify() == ARCH_EXID_AT91SAM9G15))
|
||||||
|
#define cpu_is_at91sam9g35() (cpu_is_at91sam9x5() && \
|
||||||
|
(at91_exid_identify() == ARCH_EXID_AT91SAM9G35))
|
||||||
|
#define cpu_is_at91sam9x35() (cpu_is_at91sam9x5() && \
|
||||||
|
(at91_exid_identify() == ARCH_EXID_AT91SAM9X35))
|
||||||
|
#define cpu_is_at91sam9g25() (cpu_is_at91sam9x5() && \
|
||||||
|
(at91_exid_identify() == ARCH_EXID_AT91SAM9G25))
|
||||||
|
#define cpu_is_at91sam9x25() (cpu_is_at91sam9x5() && \
|
||||||
|
(at91_exid_identify() == ARCH_EXID_AT91SAM9X25))
|
||||||
|
#else
|
||||||
|
#define cpu_is_at91sam9x5() (0)
|
||||||
|
#define cpu_is_at91sam9g15() (0)
|
||||||
|
#define cpu_is_at91sam9g35() (0)
|
||||||
|
#define cpu_is_at91sam9x35() (0)
|
||||||
|
#define cpu_is_at91sam9g25() (0)
|
||||||
|
#define cpu_is_at91sam9x25() (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_ARCH_AT91CAP9
|
#ifdef CONFIG_ARCH_AT91CAP9
|
||||||
#define cpu_is_at91cap9() (at91_cpu_identify() == ARCH_ID_AT91CAP9)
|
#define cpu_is_at91cap9() (at91_cpu_identify() == ARCH_ID_AT91CAP9)
|
||||||
#define cpu_is_at91cap9_revB() (at91cap9_rev_identify() == ARCH_REVISION_CAP9_B)
|
#define cpu_is_at91cap9_revB() (at91cap9_rev_identify() == ARCH_REVISION_CAP9_B)
|
||||||
|
|
Loading…
Reference in a new issue