From: John Bowler <jbowler@acm.org>
To: "'Deepak Saxena'" <dsaxena@plexity.net>,
"'Andrew Morton'" <akpm@osdl.org>
Cc: <linux-arm-kernel@lists.arm.linux.org.uk>,
<linux-kernel@vger.kernel.org>
Subject: RE: [PATCH]: 2.6.14-rc5 arch-ixp4xx/system.h: ensure flash is readable before reboot
Date: Wed, 26 Oct 2005 08:50:13 -0700 [thread overview]
Message-ID: <004201c5da44$f4f8e230$1001a8c0@kalmiopsis> (raw)
In-Reply-To:
My apologies - I made a mistake when I split up the NSLU2 patch set.
The way the flash reset part is written makes it dependent on the
the NSLU2 header file (which defines the flash base address).
The modified version of the patch which I have attached is
independent of the other (not yet submitted) patches (i.e. it will
compile correctly without the other patches.)
Signed-off-by: John Bowler <jbowler@acm.org>
# On NSLU2 ensure that the flash is readable on system boot.
--- linux-2.6.13/include/asm-arm/arch-ixp4xx/system.h 2005-08-28 16:41:01.000000000 -0700
+++ linux-2.6.13/include/asm-arm/arch-ixp4xx/system.h 2005-10-26 07:43:11.763839457 -0700
@@ -10,6 +10,7 @@
*/
#include <asm/hardware.h>
+#include <asm/mach-types.h>
static inline void arch_idle(void)
{
@@ -22,6 +23,23 @@ static inline void arch_idle(void)
static inline void arch_reset(char mode)
{
+#if (defined CONFIG_MACH_NSLU2) && (defined NSLU2_FLASH_BASE)
+ /* On NSLU2 machines the flash is sometimes left in a non-read
+ * mode, such that attempting a read will cause problems - such as
+ * a hang. This will prevent both hard and soft reboot since the
+ * first thing done is to read the first instruction from the flash!
+ * Therefore issue a flash reset command here.
+ */
+ if ( machine_is_nslu2()) {
+ /* Use the physical address here and write the reset command
+ * to the command address (not technically necessary). See
+ * <linux/mtd/cfi.h> for how to calculate this for other
+ * systems. The NSLU2 has one bank of 16 bit flash.
+ */
+ *(__u16*)(NSLU2_FLASH_BASE+0xAA/*command*/) = 0x00ff/*reset*/;
+ }
+#endif
+
if ( 1 && mode == 's') {
/* Jump into ROM at address 0 */
cpu_reset(0);
@@ -39,4 +57,3 @@ static inline void arch_reset(char mode)
*IXP4XX_OSWE = IXP4XX_WDT_RESET_ENABLE | IXP4XX_WDT_COUNT_ENABLE;
}
}
-
next reply other threads:[~2005-10-26 16:21 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-10-26 15:50 John Bowler [this message]
[not found] <200509092252.00361.robin.farine@terminus.org>
2005-10-25 18:13 ` John Bowler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='004201c5da44$f4f8e230$1001a8c0@kalmiopsis' \
--to=jbowler@acm.org \
--cc=akpm@osdl.org \
--cc=dsaxena@plexity.net \
--cc=linux-arm-kernel@lists.arm.linux.org.uk \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®