diff options
| -rw-r--r-- | include/asm-arm/arch-ixp4xx/cpu.h | 31 | ||||
| -rw-r--r-- | include/asm-arm/arch-ixp4xx/hardware.h | 7 | ||||
| -rw-r--r-- | include/asm-arm/arch-ixp4xx/ixp4xx-regs.h | 43 |
3 files changed, 33 insertions, 48 deletions
diff --git a/include/asm-arm/arch-ixp4xx/cpu.h b/include/asm-arm/arch-ixp4xx/cpu.h new file mode 100644 index 000000000000..d2523b326c6c --- /dev/null +++ b/include/asm-arm/arch-ixp4xx/cpu.h | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | /* | ||
| 2 | * include/asm-arm/arch-ixp4xx/cpu.h | ||
| 3 | * | ||
| 4 | * IXP4XX cpu type detection | ||
| 5 | * | ||
| 6 | * Copyright (C) 2007 MontaVista Software, Inc. | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or modify | ||
| 9 | * it under the terms of the GNU General Public License version 2 as | ||
| 10 | * published by the Free Software Foundation. | ||
| 11 | * | ||
| 12 | */ | ||
| 13 | |||
| 14 | #ifndef __ASM_ARCH_CPU_H__ | ||
| 15 | #define __ASM_ARCH_CPU_H__ | ||
| 16 | |||
| 17 | extern unsigned int processor_id; | ||
| 18 | /* Processor id value in CP15 Register 0 */ | ||
| 19 | #define IXP425_PROCESSOR_ID_VALUE 0x690541c0 | ||
| 20 | #define IXP435_PROCESSOR_ID_VALUE 0x69054040 | ||
| 21 | #define IXP465_PROCESSOR_ID_VALUE 0x69054200 | ||
| 22 | #define IXP4XX_PROCESSOR_ID_MASK 0xfffffff0 | ||
| 23 | |||
| 24 | #define cpu_is_ixp42x() ((processor_id & IXP4XX_PROCESSOR_ID_MASK) == \ | ||
| 25 | IXP425_PROCESSOR_ID_VALUE) | ||
| 26 | #define cpu_is_ixp43x() ((processor_id & IXP4XX_PROCESSOR_ID_MASK) == \ | ||
| 27 | IXP435_PROCESSOR_ID_VALUE) | ||
| 28 | #define cpu_is_ixp46x() ((processor_id & IXP4XX_PROCESSOR_ID_MASK) == \ | ||
| 29 | IXP465_PROCESSOR_ID_VALUE) | ||
| 30 | |||
| 31 | #endif /* _ASM_ARCH_CPU_H */ | ||
diff --git a/include/asm-arm/arch-ixp4xx/hardware.h b/include/asm-arm/arch-ixp4xx/hardware.h index 24bc5883fa56..a0acde3b8862 100644 --- a/include/asm-arm/arch-ixp4xx/hardware.h +++ b/include/asm-arm/arch-ixp4xx/hardware.h | |||
| @@ -27,11 +27,8 @@ | |||
| 27 | 27 | ||
| 28 | #define pcibios_assign_all_busses() 1 | 28 | #define pcibios_assign_all_busses() 1 |
| 29 | 29 | ||
| 30 | #if defined(CONFIG_CPU_IXP46X) && !defined(__ASSEMBLY__) | 30 | #ifndef __ASSEMBLER__ |
| 31 | extern unsigned int processor_id; | 31 | #include <asm/arch/cpu.h> |
| 32 | #define cpu_is_ixp465() ((processor_id & 0xffffffc0) == 0x69054200) | ||
| 33 | #else | ||
| 34 | #define cpu_is_ixp465() (0) | ||
| 35 | #endif | 32 | #endif |
| 36 | 33 | ||
| 37 | /* Register locations and bits */ | 34 | /* Register locations and bits */ |
diff --git a/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h b/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h index deb989950c52..5d949d763a91 100644 --- a/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h +++ b/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h | |||
| @@ -607,47 +607,4 @@ | |||
| 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 | |||
| 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 | |||
| 640 | static inline int cpu_is_ixp46x(void) | ||
| 641 | { | ||
| 642 | #ifdef CONFIG_CPU_IXP46X | ||
| 643 | extern unsigned int processor_id; | ||
| 644 | |||
| 645 | if ((processor_id & IXP4XX_PROCESSOR_ID_MASK) == | ||
| 646 | IXP465_PROCESSOR_ID_VALUE ) | ||
| 647 | return 1; | ||
| 648 | #endif | ||
| 649 | return 0; | ||
| 650 | } | ||
| 651 | #endif | ||
| 652 | |||
| 653 | #endif | 610 | #endif |
