reset: fix reset halt bug
commit8465e9944291a03a216fa15e0d7ed6eb9d44ba92
authorGary Carlson <gcarlson@carlson-minot.com>
Wed, 19 May 2010 03:59:07 +0000 (18 20:59 -0700)
committerØyvind Harboe <oyvind.harboe@zylin.com>
Wed, 19 May 2010 05:37:07 +0000 (19 07:37 +0200)
tree47ddedef0642fc8b24482019016a6fe21f1b2364
parentb80d0501b66002cba1b3bc97a027d4f79932f20d
reset: fix reset halt bug

I was finally able to figure out the cause of this problem.  There are two
parts to the patch.  The first patch modifies the configuration file I
originally generated for the Atmel AT91SAM9G20 board and achieves the
following:

+++ Splits the reset-init handler into a reset-start handler for some of the
initial configuration activities and keeps the remainder in the reset-init
handler as was the case before.  This was the real issue that was causing
the timing problems I identified before.  This solution was confirmed with
an o-scope on actual target hardware.

+++ Adds a new instruction in the reset-start handler to disable fast memory
accesses in the reset-start handler.  When the target jtag clock is started
out at 2 kHz during system clock initialization, memory writes (i.e.
register write to enable external reset pin -- basically to RSTC_MR) are
naturally slow and cause GDB keep-alive issues (refer to PATCH 2/2 for
additional fixes).

+++ Modifies the configuration file to use srst_only reset action. The
reset-start/reset-init handler split also now allows the correct behavior to
be used in the configuration file (previously had to use both SRST and TRST
even though only SRST is actually used and connected on the evaluation
board).

+++ Adds external NandFlash configuration support to take advantage of flash
driver added earlier.  Doesn't fix any bugs but adds functionality that was
marked as TBD before and thrown in when I did other work on the
configuration file.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
tcl/board/at91sam9g20-ek.cfg