diff options
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; |