diff options
author | Ruslan V. Sushko <rsushko@ru.mvista.com> | 2007-04-06 10:00:31 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2007-04-21 15:51:55 -0400 |
commit | 45fba0846f5a5a48ed3c394aa4f8ca93699e7655 (patch) | |
tree | 9c5b34c26fbb3364f2cb4dc80501abaf31458a1b /include/asm-arm/arch-ixp4xx/ixp4xx-regs.h | |
parent | 25735d10ba477d5128b1e5ccef42062bea429075 (diff) |
[ARM] 4311/1: ixp4xx: add KIXRP435 platform
Add Intel KIXRP435 Reference Platform based on IXP43x processor.
Fixed after review : access to cp15 removed in identification functions,
used access to global processor_id instead
Signed-off-by: Vladimir Barinov <vbarinov@ru.mvista.com>
Signed-off-by: Ruslan Sushko <rsushko@ru.mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include/asm-arm/arch-ixp4xx/ixp4xx-regs.h')
-rw-r--r-- | include/asm-arm/arch-ixp4xx/ixp4xx-regs.h | 36 |
1 files changed, 32 insertions, 4 deletions
diff --git a/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h b/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h index ed35e5c94f40..deb989950c52 100644 --- a/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h +++ b/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h | |||
@@ -607,15 +607,43 @@ | |||
607 | 607 | ||
608 | #define DCMD_LENGTH 0x01fff /* length mask (max = 8K - 1) */ | 608 | #define DCMD_LENGTH 0x01fff /* length mask (max = 8K - 1) */ |
609 | 609 | ||
610 | /* Processor id value in CP15 Register 0 */ | ||
611 | #define IXP425_PROCESSOR_ID_VALUE 0x690541c0 | ||
612 | #define IXP435_PROCESSOR_ID_VALUE 0x69054040 | ||
613 | #define IXP465_PROCESSOR_ID_VALUE 0x69054200 | ||
614 | #define IXP4XX_PROCESSOR_ID_MASK 0xfffffff0 | ||
615 | |||
610 | #ifndef __ASSEMBLY__ | 616 | #ifndef __ASSEMBLY__ |
617 | static inline int cpu_is_ixp42x(void) | ||
618 | { | ||
619 | extern unsigned int processor_id; | ||
620 | |||
621 | if ((processor_id & IXP4XX_PROCESSOR_ID_MASK) == | ||
622 | IXP425_PROCESSOR_ID_VALUE ) | ||
623 | return 1; | ||
624 | |||
625 | return 0; | ||
626 | } | ||
627 | |||
628 | static inline int cpu_is_ixp43x(void) | ||
629 | { | ||
630 | #ifdef CONFIG_CPU_IXP43X | ||
631 | extern unsigned int processor_id; | ||
632 | |||
633 | if ((processor_id & IXP4XX_PROCESSOR_ID_MASK) == | ||
634 | IXP435_PROCESSOR_ID_VALUE ) | ||
635 | return 1; | ||
636 | #endif | ||
637 | return 0; | ||
638 | } | ||
639 | |||
611 | static inline int cpu_is_ixp46x(void) | 640 | static inline int cpu_is_ixp46x(void) |
612 | { | 641 | { |
613 | #ifdef CONFIG_CPU_IXP46X | 642 | #ifdef CONFIG_CPU_IXP46X |
614 | unsigned int processor_id; | 643 | extern unsigned int processor_id; |
615 | |||
616 | asm("mrc p15, 0, %0, cr0, cr0, 0;" : "=r"(processor_id) :); | ||
617 | 644 | ||
618 | if ((processor_id & 0xffffff00) == 0x69054200) | 645 | if ((processor_id & IXP4XX_PROCESSOR_ID_MASK) == |
646 | IXP465_PROCESSOR_ID_VALUE ) | ||
619 | return 1; | 647 | return 1; |
620 | #endif | 648 | #endif |
621 | return 0; | 649 | return 0; |