=================================================================== RCS file: /cvs/funnyos/arch/sam7s64/config.c,v retrieving revision 1.9 retrieving revision 1.11 diff -u -r1.9 -r1.11 --- funnyos/arch/sam7s64/config.c 2007/11/24 10:12:44 1.9 +++ funnyos/arch/sam7s64/config.c 2007/11/24 17:10:07 1.11 @@ -1,5 +1,5 @@ /* - * $Id: config.c,v 1.9 2007/11/24 10:12:44 nbrk Exp $ + * $Id: config.c,v 1.11 2007/11/24 17:10:07 nbrk Exp $ */ #include #include @@ -20,7 +20,7 @@ extern void (*putchar)(char); -extern void sausart_0_putchar(char ch); +extern void sausart_early_putchar(char ch); /* amount of physical memory, in Bytes */ uint32_t physmem = 16384 /* 16KB :) */; @@ -71,6 +71,9 @@ /* set FLASH to high-speed */ *AT91C_MC_FMR = AT91C_MC_FWS_0FWS; + /* enable user RESET (magic button on board) */ + *AT91C_RSTC_RMR = AT91C_RSTC_URSTEN | AT91C_RSTC_KEY; + /* * Initialize oscillators. * Taken from Atmel's examples. @@ -119,7 +122,8 @@ ; /* enable clock to PIO and USART0 */ - *AT91C_PMC_PCER = AT91C_ID_PIOA | AT91C_ID_US0 AT91C_ID_PDC; + //*AT91C_PMC_PCER = AT91C_ID_PIOA | AT91C_ID_US0; + *AT91C_PMC_PCER = AT91C_ALL_INT; *AT91C_PIOA_PER = (1 << 17 | 1 << 18); *AT91C_PIOA_OER = (1 << 17 | 1 << 18); @@ -130,11 +134,6 @@ *AT91C_PIOA_PDR = AT91C_PA5_RXD0 | /* Enable RxD0 Pin */ AT91C_PA6_TXD0; /* Enalbe TxD0 Pin */ - *AT91C_US0_CR = AT91C_US_RSTRX | /* Reset Receiver */ - AT91C_US_RSTTX | /* Reset Transmitter */ - AT91C_US_RXDIS | /* Receiver Disable */ - AT91C_US_TXDIS; /* Transmitter Disable */ - *AT91C_US0_MR = AT91C_US_USMODE_NORMAL | /* Normal Mode */ AT91C_US_CLKS_CLOCK | /* Clock = MCK */ AT91C_US_CHRL_8_BITS | /* 8-bit Data */ @@ -143,14 +142,14 @@ *AT91C_US0_BRGR = 48054857 / 16 / 9600; /* Baud Rate Divisor */ + /* enable DMA transfers on USART0 */ + *AT91C_US0_PTCR = AT91C_PDC_TXTEN | AT91C_PDC_RXTEN; + *AT91C_US0_CR = AT91C_US_RXEN | /* Receiver Enable */ AT91C_US_TXEN; /* Transmitter Enable */ /* redefine putchar */ - putchar = sausart_0_putchar; -// putchar(0); -// putchar(0x46); -// putchar(0x46); + putchar = sausart_early_putchar; }