1 2008-07-08 Uwe Kindler <uwe_kindler@web.de>
3 * cdl/ser_generic_16x5x.cdl
4 (CYGINT_IO_SERIAL_GENERIC_16X5X_CHAN_INTPRIO): New interface
5 for devices that support per channel interrupt priorities.
7 * src/ser_16x5x.c Added int_prio to pc_serial_info type.
8 serial_config_port(): uses macro
9 CYG_IO_SERIAL_GENERIC_16X5X_CHAN_BAUD_GENERATOR() to get the baud
10 devisor from platform if device suppports per channel baudrate
11 clocks, pc_serial_init(): Use interrupt priority from int_prio
12 data field if device implements
13 CYGINT_IO_SERIAL_GENERIC_16X5X_CHAN_INTPRIO
15 2007-06-22 Alexander Aganichev <aaganichev@gmail.com>
17 * cdl/ser_generic_16x5x.cdl
18 (CYGPKG_IO_SERIAL_GENERIC_16X5X_XMIT_REQUIRE_PRIME): New option.
20 * src/ser_16x5x.c (pc_serial_start_xmit): Allow platform to define
21 CYGPKG_IO_SERIAL_GENERIC_16X5X_XMIT_REQUIRE_PRIME if enabling THRE
22 interrupt does not generate interrupt unless bytes are posted to the
25 2006-11-27 Jonathan Larmour <jifl@eCosCentric.com>
27 * src/ser_16x5x.c (serial_config_port): Add
28 CYGPRI_IO_SERIAL_GENERIC_16X5X_PLF_INIT_HOOK
29 in case devices need extra initialization.
31 2006-02-07 Daniel NĂ©ri <daniel.neri@sigicom.se>
33 * cdl/ser_generic_16x5x.cdl
34 (CYGNUM_IO_SERIAL_GENERIC_16X5X_FIFO_TX_SIZE): New option.
36 * src/ser_16x5x.c (serial_config_port, pc_serial_putc,
37 pc_serial_DSR): At TX interrupt, write up to
38 CYGNUM_IO_SERIAL_GENERIC_16X5X_FIFO_TX_SIZE bytes to the transmit
39 FIFO. This makes better use of the FIFO, since the LSR_THE flag
40 resets when the FIFO is non-empty (not when it's full, as this
41 code previously assumed).
43 2003-09-19 Gary Thomas <gary@mlbassoc.com>
45 * src/ser_16x5x.c (pc_serial_init):
46 Allow platform to define CYG_IO_SERIAL_GENERIC_16X5X_BAUD_GENERATOR
47 if the baud rate clock (values) cannot be known at compile time. In
48 this case, the baud rate generator values are provided by platform
49 specific code, computed when the device is first initialized.
51 2003-07-16 Jonathan Larmour <jifl@eCosCentric.com>
53 * src/ser_16x5x.c (CYG_IO_SERIAL_GENERIC_16X5X_INT_PRIORITY): Add
54 so that the calling hardware-specific drivers can override priorities.
55 Clarify flow control comment.
57 2003-03-18 Gary Thomas <gary@mlbassoc.com>
59 * src/ser_16x5x.c (pc_serial_set_config):
60 Flag for CYG_IO_SET_CONFIG_SERIAL_HW_RX_FLOW_THROTTLE is 32 bits.
62 2003-02-24 Jonathan Larmour <jifl@eCosCentric.com>
64 * cdl/ser_generic_16x5x.cdl: Remove irrelevant doc link.
66 2001-06-19 Jesper Skov <jskov@redhat.com>
68 * cdl/ser_generic_16x5x.cdl: Only define
69 CYGDAT_IO_SERIAL_DEVICE_HEADER when necessary.
71 2001-06-18 Jonathan Larmour <jlarmour@redhat.com>
73 * src/ser_16x5x.c (pc_serial_set_config): Fix length check typo
75 2001-06-18 Jesper Skov <jskov@masala.cambridge.redhat.com>
77 * src/ser_16x5x.c (LCR_PE): Set correct bits (from Boris V. Guzhov)
79 2001-06-08 Jonathan Larmour <jlarmour@redhat.com>
81 * src/ser_16x5x.c: Support FIFOs better by detecting what we've got,
82 and only acting if we have a _working_ FIFO.
83 Assert on unhandled serial interrupt type.
85 2001-03-13 Jonathan Larmour <jlarmour@redhat.com>
87 * cdl/ser_generic_16x5x.cdl: Rename
88 CYGPKG_IO_SERIAL_GENERIC_16X5X_FIFO_OPTIONS to
89 CYGPKG_IO_SERIAL_GENERIC_16X5X_FIFO and make it a boolean. Clarify
90 descriptions a little.
92 * src/ser_16x5x.c (serial_config_port): Only program FCR if FIFO
94 Don't bother with intermediate _fifo_thresh.
97 2001-03-13 Jesper Skov <jskov@redhat.com>
99 * cdl/ser_generic_16x5x.cdl: Removed the default value.
101 2001-03-09 Julian Smart <julians@redhat.com>
102 Removed default value for flavor none in
103 CYGPKG_IO_SERIAL_GENERIC_16X5X_FIFO_OPTIONS since it
104 causes an assert in libcdl
106 2001-03-05 Jesper Skov <jskov@redhat.com>
107 2001-02-15 Dave Airlie <airlied@parthus.com>
109 * src/ser_16x5x.c (serial_config_port): Add support for setting
110 a FIFO RX Threshold via CDL
112 * cdl/ser_generic_16x5x.cdl: Add support for setting a FIFO
115 2001-01-24 Dave Airlie <airlied@parthus.com>
117 * src/ser_16x5x.c (pc_serial_DSR): Allow RX timeouts to be interpreted
120 2000-12-19 Dave Airlie <airlied@parthus.com>
122 * src/ser_16x5x.c: Add defines for FIFO control register
123 (serial_config_port): Use these defines.
125 2000-12-07 Jesper Skov <jskov@redhat.com>
127 * src/ser_16x5x.c (ISR_LS): Corrected value. Spotted by Dave Airlie.
129 2000-09-18 Jesper Skov <jskov@redhat.com>
131 * src/ser_16x5x.c: Allow clients to specify register
132 stepping. Rename a type. Fix compile error.
134 2000-09-14 Jesper Skov <jskov@redhat.com>
136 * src/ser_16x5x.c: Moved ARM/PID driver to provide generic 16x5x
137 driver. Rewritten to use HAL IO macros. Still needs some polish
138 and configury to properly support all the various target
139 controllers that may only have a partial set of the features.
140 * cdl/ser_generic_16x5x.cdl: Same.
142 * Removed non-PID related ChangeLog entries.
144 ----------------------------------------------------------------------------
145 2000-08-24 Jonathan Larmour <jlarmour@redhat.co.uk>
147 * src/pid_serial_with_ints.c (pid_serial_DSR): Remove accidental
148 OVERRUNERR check duplication
150 2000-08-01 Jonathan Larmour <jlarmour@redhat.co.uk>
152 * src/pid_serial_with_ints.c: Throughout, add support for line status
153 and modem status callbacks, hardware RTS/CTS and DSR/DTR flow control
154 (pid_serial_set_config): Now use keys to make
157 * src/pid_serial.h: Add more line status, interrupt status and modem
158 status register definitions
160 * cdl/ser_arm_pid.cdl: Implements flow control and line status
163 2000-06-22 Hugo Tyson <hmt@cygnus.co.uk>
165 * cdl/<yournamehere>.cdl: Remove the comment on the empty
166 include_files directive; the tools now support this correctly.
167 This keeps internal include files internal.
169 2000-06-09 Jesper Skov <jskov@redhat.com>
171 * src/pid_serial_with_ints.c:
173 Cleaned up defines and made DSR handle all received characters.
174 (Dave Airlie (airlied at parthus dot com))
176 2000-04-11 Hugo Tyson <hmt@cygnus.co.uk>
178 * cdl/ser_arm_pid.cdl: Change the parent from CYGPKG_IO_SERIAL
179 (which is enabled most of the time) to CYGPKG_IO_SERIAL_DEVICES
180 (which is not...) thus allowing convenient control independent of
181 platform. Also enable all individual devices by default, now, so
182 that they can be enabled simply by enabling the above new parent.
184 2000-04-07 Hugo Tyson <hmt@cygnus.co.uk>
186 * ecos.db: Re-organize device packages. This is a massive change
187 involving deleting all the sources for serial and ethernet drivers
188 from where they used to live in
189 packages/io/serial/current/src/ARCH/PLATFORM.[ch]
190 packages/net/drivers/eth/PLATFORM/current/src/...
191 and reinstating them in
192 packages/devs/serial/ARCH/PLATFORM/current/src/...
193 packages/devs/eth/ARCH/PLATFORM/current/src/...
195 All these new packages are properly defined in ecos.db, and are
196 all of type "hardware" so that a "target" can grab them.
198 This directory layout is descriptive of the devices we have right
199 now, arch and platform are separate levels just to make it easier
200 to navigate in the filesystem and similar to the HAL structure in
203 It is *not* prescriptive of future work; for example, the mythical
204 common highly-portable 16550 serial driver which works on many
205 targets would be called "devs/serial/s16550/current", or a serial
206 device for a particular board (cogent springs to mind) that can
207 work with different CPUs fitted is "devs/serial/cogent/current".
209 Changelogs have been preserved and replicated over all the new
210 packages, so that no history is lost.
212 The contents of individual source files are unchanged; they build
213 in just the same emvironment except for a very few cases where the
214 config file name changed in this movement.
216 Targets in ecos.db have been redefined to bring in all relevant
217 hardware packages including net and serial drivers (but the newly
218 included packages are only active if their desired parent is
221 The names of CDL options (and their #defines of course) stay the
222 same for the serial drivers, for backward compatibility.
224 * templates/*/current.ect: these have had CYGPKG_IO_SERIAL added
225 rather than it being in (almost) all target definitions.
227 2000-01-03 Gary Thomas <gthomas@cygnus.co.uk>
229 * src/arm/pid_serial_with_ints.c: Fix namespace pollution -
230 serial_devio => cyg_io_serial_devio
232 1999-12-06 Gary Thomas <gthomas@cygnus.co.uk>
234 * src/arm/pid_serial_with_ints.c (pid_serial_DSR): Add loop to handle
235 case where an interrupt represents multiple events.
237 1999-10-26 Jesper Skov <jskov@cygnus.co.uk>
239 * src/arm/pid_serial.h: Added BE support.
241 1999-10-25 Gary Thomas <gthomas@cygnus.co.uk>
243 * src/arm/pid_serial.h (ISR_RxTO): Define - character received but
244 not handled "promptly".
246 * src/arm/pid_serial_with_ints.c (pid_serial_DSR): Handle rcv
247 interrupts properly (can't ignore them even with TO bit set).
249 1999-06-20 Gary Thomas <gthomas@cygnus.co.uk>
251 * src/arm/pid_serial_with_ints.c: Use #include to get 'diag_printf()'
254 1999-05-14 Jesper Skov <jskov@cygnus.co.uk>
256 * src/arm/pid_serial_with_ints.c:
257 * src/arm/pid_serial.h:
258 Check for receive interrupt before reading.
260 1999-04-20 Gary Thomas <gthomas@cygnus.co.uk>
262 * src/arm/pid_serial_with_ints.c: Fix default baud rate if unbuffered.
264 1999-03-25 Gary Thomas <gthomas@cygnus.co.uk>
266 * src/arm/pid_serial_with_ints.c:
267 Update CDL to follow naming conventions.
269 * src/arm/pid_serial_with_ints.c (pid_serial_config_port): Change
270 so that the physical port is not modified unless the provided
271 configuration is valid.
273 * src/arm/pid_serial_with_ints.c:
274 Add configury for baud rate and buffer size.
276 1999-03-24 Gary Thomas <gthomas@cygnus.co.uk>
278 * src/arm/pid_serial_with_ints.c (pid_serial_stop_xmit): Fix typo
281 1999-03-22 Gary Thomas <gthomas@cygnus.co.uk>
283 * src/arm/pid_serial_with_ints.c: Use CDL configured device names.
285 1999-03-19 Jesper Skov <jskov@lassi.cygnus.co.uk>
287 * src/arm/pid_serial_with_ints.c:
288 Moved include statement to avoid warnings.
290 1999-03-18 Gary Thomas <gthomas@cygnus.co.uk>
292 * src/arm/pid_serial_with_ints.c:
293 Update device names to match CDL.
295 1999-03-17 Gary Thomas <gthomas@cygnus.co.uk>
297 * src/arm/pid_serial_with_ints.c: Conditionalize based on CDL.
299 1999-03-15 Gary Thomas <gthomas@cygnus.co.uk>
301 * src/arm/pid_serial_with_ints.c: Add 'CYGDBG_IO_INIT' for control
304 * src/arm/pid_serial_with_ints.c: Don't include <cyg/kernel/kapi.h>
306 1999-03-05 Gary Thomas <gthomas@cygnus.co.uk>
308 * src/arm/pid_serial_with_ints.c: Fix interrupt vectors.
310 1999-03-03 Gary Thomas <gthomas@cygnus.co.uk>
312 * serial/current/src/arm/pid_serial_with_ints.c:
313 New [somewhat] configurable drivers for PID.
315 //===========================================================================
316 //####ECOSGPLCOPYRIGHTBEGIN####
317 // -------------------------------------------
318 // This file is part of eCos, the Embedded Configurable Operating System.
319 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
320 // Copyright (C) 2006 eCosCentric Limited.
322 // eCos is free software; you can redistribute it and/or modify it under
323 // the terms of the GNU General Public License as published by the Free
324 // Software Foundation; either version 2 or (at your option) any later version.
326 // eCos is distributed in the hope that it will be useful, but WITHOUT ANY
327 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
328 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
331 // You should have received a copy of the GNU General Public License along
332 // with eCos; if not, write to the Free Software Foundation, Inc.,
333 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
335 // As a special exception, if other files instantiate templates or use macros
336 // or inline functions from this file, or you compile this file and link it
337 // with other works to produce a work based on this file, this file does not
338 // by itself cause the resulting work to be covered by the GNU General Public
339 // License. However the source code for this file must still be made available
340 // in accordance with section (3) of the GNU General Public License.
342 // This exception does not invalidate any other reasons why a work based on
343 // this file might be covered by the GNU General Public License.
345 // Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
346 // at http://sources.redhat.com/ecos/ecos-license/
347 // -------------------------------------------
348 //####ECOSGPLCOPYRIGHTEND####
349 //===========================================================================