aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-arm/arch-ixp4xx
diff options
context:
space:
mode:
authorVladimir Barinov <vbarinov@ru.mvista.com>2007-04-11 11:32:46 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2007-04-21 15:52:01 -0400
commit53b2e01be55f3c140e2704cf8d5f99ddba0ff823 (patch)
tree5f7002388ce6e46d3038a935869c2c5d0ccbc60e /include/asm-arm/arch-ixp4xx
parent45fba0846f5a5a48ed3c394aa4f8ca93699e7655 (diff)
[ARM] 4320/1: ixp4xx: cpu type detection stuff cleanup
Move IXP4XX cpu detection stuff in a separate include file and remove unused definition. Signed-off-by: Vladimir Barinov <vbarinov@ru.mvista.com> Signed-off-by: Ruslan Sushko <rsushko@ru.mvista.com> Signed-off-by: Deepak Saxena <dsaxena@mvista.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include/asm-arm/arch-ixp4xx')
-rw-r--r--include/asm-arm/arch-ixp4xx/cpu.h31
-rw-r--r--include/asm-arm/arch-ixp4xx/hardware.h7
-rw-r--r--include/asm-arm/arch-ixp4xx/ixp4xx-regs.h43
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
17extern 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__
31extern 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__
617static 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
628static 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
640static 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