From 348922bb1cf72c4812256ee4b0317ac492d78ddb Mon Sep 17 00:00:00 2001 From: liamstask Date: Tue, 8 Dec 2009 01:11:29 +0000 Subject: * [AT91SAM7] wait for hardware reset before setting up the clock, otherwise USB doesn't come up successfully git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1382 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/platforms/AT91SAM7/hal_lld.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'os/hal/platforms') diff --git a/os/hal/platforms/AT91SAM7/hal_lld.c b/os/hal/platforms/AT91SAM7/hal_lld.c index 876e60e78..6da681fcd 100644 --- a/os/hal/platforms/AT91SAM7/hal_lld.c +++ b/os/hal/platforms/AT91SAM7/hal_lld.c @@ -97,6 +97,12 @@ void hal_lld_init(void) { */ void at91sam7_clock_init(void) { + /* wait for reset */ + while((AT91C_BASE_RSTC->RSTC_RSR & (AT91C_RSTC_SRCMP | AT91C_RSTC_NRSTL)) != AT91C_RSTC_NRSTL) + ; + /* enable reset */ + AT91C_BASE_RSTC->RSTC_RMR = ((0xA5 << 24) | AT91C_RSTC_URSTEN); + /* Flash Memory: 1 wait state, about 50 cycles in a microsecond.*/ AT91C_BASE_MC->MC_FMR = (AT91C_MC_FMCN & (50 << 16)) | AT91C_MC_FWS_1FWS; -- cgit v1.2.3