linux-mips
[Top] [All Lists]

Re: QUESTION YAMON's uart3 of au1100

To: Nyauyama <ichinoh@mb.neweb.ne.jp>
Subject: Re: QUESTION YAMON's uart3 of au1100
From: Pete Popov <ppopov@embeddedalley.com>
Date: Sat, 15 Jan 2005 19:01:46 -0800
Cc: linux-mips@linux-mips.org
In-reply-to: <41E9D047.4010603@mb.neweb.ne.jp>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <41E9D047.4010603@mb.neweb.ne.jp>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20040913
Nyauyama wrote:
> Hello!
> 
> I have a question about initialization of YAMON's uart3 of au1100.
> BFC00000(BOOTLOC) is read by processing delay3.
> Why BFC00000?

Looks like just an arbitrary ad-hoc delay routine (delay3) that
reads from uncached space and throws away the value (just a delay).

What's the problem you're having?

Pete

> 
> 
> #define BOOTLOC (*(volatile unsigned int *)0xbfc00000)
> int delay3(int n)
> {
> int i, j, v;
> for( i = 0; i < n; ++i )
> {
> for( j = 0; j < 1000; ++j )
> v += BOOTLOC;
> }
> return v;
> }
> void init_uart3()
> {
> uart3.uart_module_control = UART_CE; // disable the module, enable the
> clocks
> delay3(100); // 100 ms delay
> uart3.uart_module_control = UART_CE | UART_ME; // enable the module
> delay3(100); // delay another 100 ms
> uart3.uart_interrupt_enable = 0; // disable interrupts
> uart3.uart_fifo_control = UART_TR | UART_RR; // reset the receiver and
> transmitter
> uart3.uart_line_control = UART_WORD_8 | UART_NO_PARITY | UART_STOP_1;
> uart3.uart_clock_divider = 156;
> setbrg3(396000000,2); // set baud rate for default cpu clock
> delay3(100);
> }
> 
> Regards,
> Nyauyama.
> 
> 
> 


<Prev in Thread] Current Thread [Next in Thread>