2008-02-05  Jonathan Larmour  <jifl@eCosCentric.com>

	* src/at91_serial.c (at91_serial_set_config): Be sure to
	only clear unsupported flags.

2007-10-11  Nick Garnett  <nickg@ecoscentric.com>

	* src/at91_serial.h (AT91_US_IER_CTSIC, AT91_US_CSR_CTS): Add
	definitions of these values if they have not been supplied by the
	HAL. 

	* src/at91_serial.c (at91_serial_config_port) 
	(at91_serial_set_config, at91_serial_set_config, at91_serial_ISR) 
	(at91_serial_DSR): Switch from hardware implementation of RTS/CTS
	flow control to software implementation using explicit RTS control
	and CTS change interrupts. The hardware implementation seems to
	get stuck somewhere. Also the receiver has no threshold or FIFO
	so can lose data if the sender doesn't react immediately to RTS
	off, which it may not do.

2007-10-10  Nick Garnett  <nickg@ecoscentric.com>

	* cdl/ser_arm_at91.cdl: Add SAM9 to HAL requirements.

	* src/at91_serial.c (at91_serial_config_port) 
	(at91_serial_set_config): Move flow control enable/disable to
	at91_serial_set_config(), which is where it belongs.

2007-06-21  Jonathan Larmour  <jifl@eCosCentric.com>

	* cdl/ser_arm_at91.cdl: Correct the requirement on the tty/termios
	dev names for serial4 - options can be enabled when inactive.
	* src/at91_serial.c (at91_serial_config_port): Enable RTS by default.
	(at91_serial_set_config): Use generic AT91 defines, not AT91RM9200
	HAL specific ones.

2007-06-01  Jim Seymour <jim@cipher.com>

	* src/at91_serial.c (at91_serial_DSR): Remove CYG_FAIL if receive
	buffer fills up; eliminate compiler warning when setting "end"
	pointer.

2007-03-02  Nick Garnett  <nickg@ecoscentric.com>

	* src/at91_serial.h (AT91_US_WRITE_IDR): Define
	AT91_US_WRITE_IDR() and AT91_US_WRITE_IER() if not already defined
	by the HAL.

2007-01-18  Jonathan Larmour  <jifl@eCosCentric.com>

	* cdl/ser_arm_at91.cdl: Fix AT91RM9200 descriptions.

2006-12-19  John Dallaway  <jld@ecoscentric.com>

	* cdl/ser_arm_at91.cdl: Trigger CDL rules on active device name
	CDL options rather than parent CDL components to avoid unhelpful
	inferences.

2006-11-29  Jonathan Larmour  <jifl@eCosCentric.com>

	* cdl/ser_arm_at91.cdl: Only set tty4 or termios4 name when
	the relevant option is not just active but enabled.

2006-10-11  Nick Garnett  <nickg@ecoscentric.com>

	* cdl/ser_arm_at91.cdl: Add requires commands to make tty and
	termio devices use "/dev/dbg" for tty4.

2006-10-10  Nick Garnett  <nickg@ecoscentric.com>

	* cdl/ser_arm_at91.cdl: Rationalized CDL to choose which devices
	are present. Default baud rates to virtual vector console baud
	rate. Serial device mapping changed so that UARTs 0..3 map to
	"/dev/ser0..3" and the DEBUG port, if present, is treated as
	SERIAL4, but given the name "/dev/dbg".

2006-10-05  Nick Garnett  <nickg@ecoscentric.com>

	* src/at91_serial.h: Added default versions of PDC access macros.

	* src/at91_serial.c: Extended some #if tests to allow for up to 5
	serial devices. Macroized all accesses to PDC registers.

	* cdl/ser_arm_at91.cdl: Removed bogus comment.

2006-10-02  Jonathan Larmour  <jifl@eCosCentric.com>

	* src/at91_serial.c (at91_serial_config_port): Remove anoncvs merge
	cruft.

2006-03-05  Oliver Munz  <munz@speag.ch>

	* src/at91_serial.c (at91_serial_ISR): Only call the DSR if there
	is work to do.
	
2006-02-28  Andrew Lunn  <andrew.lunn@ascom.ch>
            Oliver Munz  <munz@speag.ch>

	* src/at91_serial.c (at91_serial_config_port): Enable the DMA
	if the control register exists.
	
2006-02-19  Andrew Lunn  <andrew.lunn@ascom.ch>

	* src/at91_serial.c (at91_serial_lookup): Enable the peripheral
	clock at lookup time to keep the power usage low.

2005-08-18  Jonathan Larmour  <jifl@eCosCentric.com>

	* src/at91_serial.c (at91_serial_DSR): Warning cleanup.
	* cdl/ser_arm_at91.cdl: For AT91RM9200, use better heuristics
	based on HAL CDL, to determine which ports to activate by
	default. And thus which to use for testing.

2005-02-17  Nick Garnett  <nickg@ecoscentric.com>

	* cdl/ser_arm_at91.cdl: The last change messed things up for the
	CSB337 slightly, which only has the debug port and UART1 on
	connectors. Fixed by causing SERIAL2 to be enabled, but called
	/dev/ser1, for the CSB337.

2004-12-13  Nick Garnett  <nickg@ecoscentric.com>

	* src/at91_serial.c: 
	* cdl/ser_arm_at91.cdl: Added support for additional serial
	devices on AT91RM9200 parts.

2004-11-10  Sebastian Block <sebastianblock@gmx.net>

        * src/at91_serial.c: Added third port
        
2004-06-15  John Dallaway  <jld@ecoscentric.com>

	* cdl/ser_arm_at91.cdl: Make CYGPRI_SER_TEST_TTY_DEV configurable.

2004-02-20  Nick Garnett  <nickg@ecoscentric.com>

	* src/at91_serial.h: 
	* src/at91_serial.c:
	* cdl/ser_arm_at91.cdl: 
	Modified to also support serial devices on the AT91RM9200. The
	devices are mostly compatible, but it has been necessary to deal
	with the MMU and cache issues that do not arise on the ARM7 AT91s.

2004-01-26  Andrew Lunn  <andrew.lunn@ascom.ch>

	* src/at91_serial.c (at91_serial_getc_polled) 
	* src/ay91_serial.c (at91_serial_putc_polled):
	Only define these functions if polled IO is configured so
	avoiding compiler warnings.

2004-01-16  Thomas Koeller  <thomas.koeller@baslerweb.com>

	* src/at91_serial.c: If both a transmitter and a receiver
	interrupt arrive at the same time, process the receiver
	interrupt first.

2003-11-21  Thomas Koeller  <thomas.koeller@baslerweb.com>

	* src/at91_serial.c: Fix endless loop that would occur if
	high-level driver was not ready to accept data received.

2003-11-07  Thomas Koeller  <thomas.koeller@baslerweb.com>

	* src/at91_serial.c:
	* cdl/ser_arm_at91.cdl: Major rewrite to achieve reliable
	operation at higher baud rates.

2003-10-16  Nick Garnett  <nickg@balti.calivar.com>

	* src/at91_serial.c (at91_serial_config_port): Added update of
	channel configuration, which was missing.

2003-02-24  Jonathan Larmour  <jifl@eCosCentric.com>

	* cdl/ser_arm_at91.cdl: Remove irrelevant doc link.

2001-09-20  Jesper Skov  <jskov@redhat.com>

	* src/at91_serial.c (at91_serial_init): Use valid interrupt priority.

2001-09-10  Jonathan Larmour  <jlarmour@redhat.com>

        * cdl/ser_arm_at91.cdl:        
        Fix 234000->230400 typo.

2001-08-14  Jonathan Larmour  <jlarmour@redhat.com>

	* src/at91_serial.c (at91_serial_stop_xmit): Write to IDR, not IER.
	(at91_serial_ISR): Return CYG_ISR_HANDLED.

2001-07-24  Gary Thomas  <gthomas@redhat.com>

	* src/at91_serial.h: 
	* src/at91_serial.c: 
	* cdl/ser_arm_at91.cdl: New file(s) - initial package.

//===========================================================================
// ####GPLCOPYRIGHTBEGIN####                                                
// -------------------------------------------                              
// This file is part of eCos, the Embedded Configurable Operating System.   
// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
// Copyright (C) 2004, 2005, 2006, 2007, 2008 eCosCentric Limited           
//
// This program is free software; you can redistribute it and/or modify     
// it under the terms of the GNU General Public License as published by     
// the Free Software Foundation; either version 2 or (at your option) any   
// later version.                                                           
//
// This program is distributed in the hope that it will be useful, but      
// WITHOUT ANY WARRANTY; without even the implied warranty of               
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU        
// General Public License for more details.                                 
//
// You should have received a copy of the GNU General Public License        
// along with this program; if not, write to the                            
// Free Software Foundation, Inc., 51 Franklin Street,                      
// Fifth Floor, Boston, MA  02110-1301, USA.                                
// -------------------------------------------                              
// ####GPLCOPYRIGHTEND####                                                  
//===========================================================================
