2008-07-08  Uwe Kindler <uwe_kindler@web.de>

	* cdl/ser_generic_16x5x.cdl
	(CYGINT_IO_SERIAL_GENERIC_16X5X_CHAN_INTPRIO): New interface
	for devices that support per channel interrupt priorities.
	
	* src/ser_16x5x.c Added int_prio to pc_serial_info type.
	serial_config_port(): uses macro
	CYG_IO_SERIAL_GENERIC_16X5X_CHAN_BAUD_GENERATOR() to get the baud
	devisor from platform if device suppports per channel baudrate
	clocks, pc_serial_init(): Use interrupt priority from int_prio
	data field if device implements
	CYGINT_IO_SERIAL_GENERIC_16X5X_CHAN_INTPRIO

2007-06-22  Alexander Aganichev  <aaganichev@gmail.com>

	* cdl/ser_generic_16x5x.cdl
	(CYGPKG_IO_SERIAL_GENERIC_16X5X_XMIT_REQUIRE_PRIME): New option.

	* src/ser_16x5x.c (pc_serial_start_xmit): Allow platform to define
	CYGPKG_IO_SERIAL_GENERIC_16X5X_XMIT_REQUIRE_PRIME if enabling THRE
	interrupt does not generate interrupt unless bytes are posted to the
	FIFO.

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

	* src/ser_16x5x.c (serial_config_port): Add
	CYGPRI_IO_SERIAL_GENERIC_16X5X_PLF_INIT_HOOK
        in case devices need extra initialization.

2006-02-07  Daniel Néri  <daniel.neri@sigicom.se>

	* cdl/ser_generic_16x5x.cdl
	(CYGNUM_IO_SERIAL_GENERIC_16X5X_FIFO_TX_SIZE): New option.

	* src/ser_16x5x.c (serial_config_port, pc_serial_putc,
	pc_serial_DSR): At TX interrupt, write up to
	CYGNUM_IO_SERIAL_GENERIC_16X5X_FIFO_TX_SIZE bytes to the transmit
	FIFO. This makes better use of the FIFO, since the LSR_THE flag
	resets when the FIFO is non-empty (not when it's full, as this
	code previously assumed).

2003-09-19  Gary Thomas  <gary@mlbassoc.com>

	* src/ser_16x5x.c (pc_serial_init): 
	Allow platform to define CYG_IO_SERIAL_GENERIC_16X5X_BAUD_GENERATOR 
	if the baud rate clock (values) cannot be known at compile time.  In 
	this case, the baud rate generator values are provided by platform 
	specific code, computed when the device is first initialized.

2003-07-16  Jonathan Larmour  <jifl@eCosCentric.com>

	* src/ser_16x5x.c (CYG_IO_SERIAL_GENERIC_16X5X_INT_PRIORITY): Add
	so that the calling hardware-specific drivers can override priorities.
	Clarify flow control comment.

2003-03-18  Gary Thomas  <gary@mlbassoc.com>

	* src/ser_16x5x.c (pc_serial_set_config): 
	Flag for CYG_IO_SET_CONFIG_SERIAL_HW_RX_FLOW_THROTTLE is 32 bits.
	
2003-02-24  Jonathan Larmour  <jifl@eCosCentric.com>

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

2001-06-19  Jesper Skov  <jskov@redhat.com>

	* cdl/ser_generic_16x5x.cdl: Only define
	CYGDAT_IO_SERIAL_DEVICE_HEADER when necessary.

2001-06-18  Jonathan Larmour  <jlarmour@redhat.com>

	* src/ser_16x5x.c (pc_serial_set_config): Fix length check typo

2001-06-18  Jesper Skov  <jskov@masala.cambridge.redhat.com>

	* src/ser_16x5x.c (LCR_PE): Set correct bits (from Boris V. Guzhov)

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

	* src/ser_16x5x.c: Support FIFOs better by detecting what we've got,
	and only acting if we have a _working_ FIFO.
	Assert on unhandled serial interrupt type.

2001-03-13  Jonathan Larmour  <jlarmour@redhat.com>

	* cdl/ser_generic_16x5x.cdl: Rename 
	CYGPKG_IO_SERIAL_GENERIC_16X5X_FIFO_OPTIONS to
	CYGPKG_IO_SERIAL_GENERIC_16X5X_FIFO and make it a boolean. Clarify
	descriptions a little.

	* src/ser_16x5x.c (serial_config_port): Only program FCR if FIFO
	support requested.
	Don't bother with intermediate _fifo_thresh.
	Detabify.

2001-03-13  Jesper Skov  <jskov@redhat.com>

	* cdl/ser_generic_16x5x.cdl: Removed the default value.

2001-03-09  Julian Smart  <julians@redhat.com>
	Removed default value for flavor none in
	CYGPKG_IO_SERIAL_GENERIC_16X5X_FIFO_OPTIONS since it
	causes an assert in libcdl

2001-03-05  Jesper Skov  <jskov@redhat.com>
	2001-02-15  Dave Airlie <airlied@parthus.com>

        * src/ser_16x5x.c (serial_config_port): Add support for setting
        a FIFO RX Threshold via CDL

        * cdl/ser_generic_16x5x.cdl: Add support for setting a FIFO
          RX threshold via CDL

2001-01-24  Dave Airlie  <airlied@parthus.com>

	* src/ser_16x5x.c (pc_serial_DSR): Allow RX timeouts to be interpreted
	as RXs.

2000-12-19   Dave Airlie <airlied@parthus.com>

	* src/ser_16x5x.c: Add defines for FIFO control register
	(serial_config_port): Use these defines.

2000-12-07  Jesper Skov  <jskov@redhat.com>

	* src/ser_16x5x.c (ISR_LS): Corrected value. Spotted by Dave Airlie.

2000-09-18  Jesper Skov  <jskov@redhat.com>

	* src/ser_16x5x.c: Allow clients to specify register
	stepping. Rename a type. Fix compile error.

2000-09-14  Jesper Skov  <jskov@redhat.com>

	* src/ser_16x5x.c: Moved ARM/PID driver to provide generic 16x5x
	driver. Rewritten to use HAL IO macros. Still needs some polish
	and configury to properly support all the various target
	controllers that may only have a partial set of the features.  
	* cdl/ser_generic_16x5x.cdl: Same.

	* Removed non-PID related ChangeLog entries.
	
----------------------------------------------------------------------------
2000-08-24  Jonathan Larmour  <jlarmour@redhat.co.uk>

	* src/pid_serial_with_ints.c (pid_serial_DSR): Remove accidental
	OVERRUNERR check duplication

2000-08-01  Jonathan Larmour  <jlarmour@redhat.co.uk>

	* src/pid_serial_with_ints.c: Throughout, add support for line status
	and modem status callbacks, hardware RTS/CTS and DSR/DTR flow control
	(pid_serial_set_config): Now use keys to make
	more flexible.

	* src/pid_serial.h: Add more line status, interrupt status and modem
	status register definitions

	* cdl/ser_arm_pid.cdl: Implements flow control and line status
	interfaces

2000-06-22  Hugo Tyson  <hmt@cygnus.co.uk>

	* cdl/<yournamehere>.cdl: Remove the comment on the empty
	include_files directive; the tools now support this correctly.
	This keeps internal include files internal.

2000-06-09  Jesper Skov  <jskov@redhat.com>

	* src/pid_serial_with_ints.c: 
	* src/pid_serial.h: 
	Cleaned up defines and made DSR handle all received characters.
	(Dave Airlie (airlied at parthus dot com))

2000-04-11  Hugo Tyson  <hmt@cygnus.co.uk>

	* cdl/ser_arm_pid.cdl: Change the parent from CYGPKG_IO_SERIAL
	(which is enabled most of the time) to CYGPKG_IO_SERIAL_DEVICES
	(which is not...) thus allowing convenient control independent of
	platform.  Also enable all individual devices by default, now, so
	that they can be enabled simply by enabling the above new parent.

2000-04-07  Hugo Tyson  <hmt@cygnus.co.uk>

	* ecos.db: Re-organize device packages.  This is a massive change
	involving deleting all the sources for serial and ethernet drivers
	from where they used to live in
	    packages/io/serial/current/src/ARCH/PLATFORM.[ch]
	    packages/net/drivers/eth/PLATFORM/current/src/...
	and reinstating them in
	    packages/devs/serial/ARCH/PLATFORM/current/src/...
	    packages/devs/eth/ARCH/PLATFORM/current/src/...

	All these new packages are properly defined in ecos.db, and are
	all of type "hardware" so that a "target" can grab them.
	
	This directory layout is descriptive of the devices we have right
	now, arch and platform are separate levels just to make it easier
	to navigate in the filesystem and similar to the HAL structure in
	the filesystem.

	It is *not* prescriptive of future work; for example, the mythical
	common highly-portable 16550 serial driver which works on many
	targets would be called "devs/serial/s16550/current", or a serial
	device for a particular board (cogent springs to mind) that can
	work with different CPUs fitted is "devs/serial/cogent/current".

	Changelogs have been preserved and replicated over all the new
	packages, so that no history is lost.

	The contents of individual source files are unchanged; they build
	in just the same emvironment except for a very few cases where the
	config file name changed in this movement.

	Targets in ecos.db have been redefined to bring in all relevant
	hardware packages including net and serial drivers (but the newly
	included packages are only active if their desired parent is
	available.)
	
	The names of CDL options (and their #defines of course) stay the
	same for the serial drivers, for backward compatibility.

	* templates/*/current.ect: these have had CYGPKG_IO_SERIAL added
	rather than it being in (almost) all target definitions.
	
2000-01-03  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm/pid_serial_with_ints.c: Fix namespace pollution -
	serial_devio => cyg_io_serial_devio

1999-12-06  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm/pid_serial_with_ints.c (pid_serial_DSR): Add loop to handle
	case where an interrupt represents multiple events.

1999-10-26  Jesper Skov  <jskov@cygnus.co.uk>

	* src/arm/pid_serial.h: Added BE support.

1999-10-25  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm/pid_serial.h (ISR_RxTO): Define - character received but
	not handled "promptly".

	* src/arm/pid_serial_with_ints.c (pid_serial_DSR): Handle rcv
	interrupts properly (can't ignore them even with TO bit set).

1999-06-20  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm/pid_serial_with_ints.c: Use #include to get 'diag_printf()'
	prototypes.

1999-05-14  Jesper Skov  <jskov@cygnus.co.uk>

	* src/arm/pid_serial_with_ints.c: 
	* src/arm/pid_serial.h: 
	Check for receive interrupt before reading.

1999-04-20  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm/pid_serial_with_ints.c: Fix default baud rate if unbuffered.

1999-03-25  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm/pid_serial_with_ints.c: 
	Update CDL to follow naming conventions.

	* src/arm/pid_serial_with_ints.c (pid_serial_config_port): Change
	so that the physical port is not modified unless the provided
	configuration is valid.

	* src/arm/pid_serial_with_ints.c: 
	Add configury for baud rate and buffer size.

1999-03-24  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm/pid_serial_with_ints.c (pid_serial_stop_xmit): Fix typo
	in comment.

1999-03-22  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm/pid_serial_with_ints.c: Use CDL configured device names.

1999-03-19  Jesper Skov  <jskov@lassi.cygnus.co.uk>

	* src/arm/pid_serial_with_ints.c: 
	Moved include statement to avoid warnings.

1999-03-18  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm/pid_serial_with_ints.c: 
	Update device names to match CDL.

1999-03-17  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm/pid_serial_with_ints.c: Conditionalize based on CDL.

1999-03-15  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm/pid_serial_with_ints.c: Add 'CYGDBG_IO_INIT' for control
	of init messages.

	* src/arm/pid_serial_with_ints.c: Don't include <cyg/kernel/kapi.h>

1999-03-05  Gary Thomas  <gthomas@cygnus.co.uk>

	* src/arm/pid_serial_with_ints.c: Fix interrupt vectors.

1999-03-03  Gary Thomas  <gthomas@cygnus.co.uk>

	* serial/current/src/arm/pid_serial_with_ints.c: 
	New [somewhat] configurable drivers for PID.

//===========================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
// Copyright (C) 2006 eCosCentric Limited.
//
// eCos 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.
//
// eCos 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 eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//===========================================================================
