diff options
author | Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com> | 2008-02-15 08:41:06 +0100 |
---|---|---|
committer | Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com> | 2008-03-31 08:17:01 +0200 |
commit | 724ce5ee15ff4c4f3035110b683b990a3b33c832 (patch) | |
tree | 7b07d25bf64d2e6dad4495c847d1b24d9d5dca43 /include/asm-arm/arch-ns9xxx/system.h | |
parent | 3a581349b961f225893103a0fbbd065a831c5184 (diff) | |
download | talos-obmc-linux-724ce5ee15ff4c4f3035110b683b990a3b33c832.tar.gz talos-obmc-linux-724ce5ee15ff4c4f3035110b683b990a3b33c832.zip |
ns9xxx: prepare for adding support for Digi ns921x processors
The hardware team changed some things that were taken as being common to
all ns9xxx processors up to now.
This patch addresses:
- irqs: s/IRQ_/IRQ_NS9360_/
- system module registers: some registers are still general, their
definition lives now in include/asm-arm/arch-ns9xxx/regs-sys-common.h.
The ns9360 specific ones are in .../regs-sys-ns9360.h
As a result ns9360_systemclock cannot be static inline any more as its
definition needs regs-sys-ns9360.h. This becomes a real problem when
adding support for ns9215 as this will need regs-sys-ns9215.h and
including both files will not work. For the same reason
ns9360_reset() is now non-inline and gpio functions live in their own
file.
- register mapping: s/ns9xxx_map_io/ns9360_map_io/
- timer registers: move time.c to time-ns9360.c;
s/ns9xxx_timer/ns9360_timer/
Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
Diffstat (limited to 'include/asm-arm/arch-ns9xxx/system.h')
-rw-r--r-- | include/asm-arm/arch-ns9xxx/system.h | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/include/asm-arm/arch-ns9xxx/system.h b/include/asm-arm/arch-ns9xxx/system.h index c1082bd8977c..1348073afe48 100644 --- a/include/asm-arm/arch-ns9xxx/system.h +++ b/include/asm-arm/arch-ns9xxx/system.h @@ -1,7 +1,7 @@ /* * include/asm-arm/arch-ns9xxx/system.h * - * Copyright (C) 2006 by Digi International Inc. + * Copyright (C) 2006,2007 by Digi International Inc. * All rights reserved. * * This program is free software; you can redistribute it and/or modify it @@ -12,8 +12,8 @@ #define __ASM_ARCH_SYSTEM_H #include <asm/proc-fns.h> -#include <asm/arch-ns9xxx/regs-sys.h> -#include <asm/mach-types.h> +#include <asm/arch-ns9xxx/processor.h> +#include <asm/arch-ns9xxx/processor-ns9360.h> static inline void arch_idle(void) { @@ -22,11 +22,12 @@ static inline void arch_idle(void) static inline void arch_reset(char mode) { - u32 reg; - - reg = __raw_readl(SYS_PLL) >> 16; - REGSET(reg, SYS_PLL, SWC, YES); - __raw_writel(reg, SYS_PLL); +#ifdef CONFIG_PROCESSOR_NS9360 + if (processor_is_ns9360()) + ns9360_reset(mode); + else +#endif + BUG(); BUG(); } |