2008-01-30 Andrew Lunn * src/common/termiostty.c (termios_lookup): Add missing set of init flag. Pointed out by Rainer Arndt. 2008-01-30 Rainer Arndt * src/common/termiostty.c (ecosbaud2posixbaud[]): Add missing B1800 entry. 2006-08-31 Ilija Koco Andrew Lunn * cdl/termios.cdl: src/common/termiostty.c: added Termios TTY channel #3 * cdl/tty.cdl: src/common/tty.c: added TTY mode channel #3 2006-08-22 Peter Csordas * include/serialio.h (cyg_serial_baud_rate_t): Adding baud rate defines for 460800 and 921600 baud. 2006-08-25 Gary Thomas * cdl/io_serial.cdl: Set parent for more intuitive ConfigTool layout. 2006-05-09 Andrew Lunn * src/common/tty.c (tty_init): Fix compiler warning with diag_printf() arguments. 2005-09-02 Sebastien Couret * src/common/termiostty.c and * tests/serial_echo.c : Fix compiler warning on a signedness argument 2005-07-22 Andrew Lunn * src/common/tty.c (tty_write): * src/common/haldiag.c (haldiag_getc): Fixed pointer signness to avoid compiler warnings. * tests/*.c msglen should by an unsigned int to avoid compiler warnings. 2005-07-21 Andrew Lunn * src/common/termiostty.c: Removed errbuf from priv. It was never being used after being allocated and never freed. 2005-06-27 Andrew Lunn * src/common/serial.c (serial_select): Swap the DSR locks and mutex locks around to avoid deadlocks with the rest of the code which uses this order. 2005-06-17 Andreas Gaer * src/common/serial.c (serial_select): Lock DSRs inside serial_select() as the serial DSR calls functions manipulating the cbuf structs, leading to a race condition. Also use the mutex to avoid races between different threads. 2005-05-13 Peter Korsgaard * src/common/serial.c (serial_init): Fix compiler warnings about formats strings for diag_printf. 2004-11-30 Jani Monoses * cdl/io_serial.cdl : CYGPKG_IO_SERIAL_SELECT_SUPPORT requires CYGFUN_IO_FILEIO_SELECT specifically not just CYGPKG_FILEIO. The latter provides select support only in kernel configurations. 2004-04-22 Jani Monoses * cdl/io_serial.cdl : Invoke tail with stricter syntax that works in latest coreutils. 2004-01-12 Dan Jakubiec * src/common/serial.c: serial_write() was returning an incorrect result code in non-blocking mode when output was blocked. The previous code would return ENOERR with 0 bytes written. This was fixed to return EAGAIN. 2003-08-18 Jay Foster * src/common/serial.c: Fixed bug for XON/XOFF flow control that would cause multiple XON (or XOFF) characters to be sent for a single flow control state transition. Fixed bug in serial_write() that would cause output data to be discarded if using polled mode with flow control, and output was blocked due to flow control. Fixed bug in serial_data_xmt_req() that would not stop sending data when output was flow controlled off (hardware flow control). 2003-09-02 Eric Doenges * src/common/tty.c: Make tty_select prototype match implementation. * src/common/termiostty.c: Make termios_select prototype match implementation. 2003-09-02 Jonathan Larmour * src/common/serial.c: Make serial_select prototype match implementation. 2003-06-09 Nick Garnett * src/common/serial.c: Changed all calls to cyg_drv_cond_signal() to cyg_drv_cond_broadcast(). Removed comment asking whether this matters: it does. * include/serialio.h: Added includes of pkgconf files so that the ifdefs in this file work properly. * include/serial.h: Added include of devtab.h to fix compile error. 2003-05-21 Gary Thomas * src/common/serial.c (serial_get_config): Restart receiver after input queue flush if it had been throttled. Inspired by David Marqvar 2003-03-25 Jonathan Larmour * src/common/serial.c (serial_get_config): For both INPUT_FLUSH and OUTPUT_FLUSH keys, pass down to the hardware driver as well to allow it to flush FIFOs. Based on patch from Roland Cassebohm. 2003-03-20 Gary Thomas * src/common/serial.c: Only return -EAGAIN if no data moved. 2003-03-11 Gary Thomas * src/common/termiostty.c (termios_read): VMIN handling still wasn't quite correct. When VMIN > 0, at least VMIN characters should be read. 2003-02-24 Jonathan Larmour * cdl/io_serial.cdl: Fix doc link. 2003-02-14 Jonathan Larmour * src/common/termiostty.c: Support VMIN > 0 properly. 2002-12-10 Gary Thomas * src/common/tty.c (tty_write): Only return number of characters in original string which were written - don't include any CR/LF expansion characters. 2002-04-23 Jesper Skov * tests/serial3.c (serial_test): Use 19200 baud rate when board cannot handle 38400. * tests/serial5.c (serial_test): Same. 2002-02-19 Jesper Skov * cdl/io_serial.cdl: Removed termiostty.c build rule. * cdl/termios.cdl: Make termiostty.c building depending on actual requirements for its content. 2002-02-15 Jesper Skov * tests/flow1.c: Also try DSR/DTR flow control (presently unsupported by Linux though). * tests/flow2.c: Same. 2002-01-11 Jonathan Larmour * src/common/termiostty.c (termios_read): Don't return after VMIN, this was a stupid thing to do and decreases performance a lot. 2001-08-15 Gary Thomas * tests/ser_test_protocol.inl: Change NONE in 'cyg_verbosity_level_t' to be _NONE [unused] to avoid name clash with . 2000-12-08 Jonathan Larmour * src/common/serial.c: Fix CYGOPT_IO_SERIAL_FLOW_CONTROL_HW -> CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS typo when declaring callbacks Thanks to Brian Danilko for reporting. 2000-11-22 Jesper Skov * src/common/serial.c: Changed #ifdef to #if used on an interface option. 2000-11-06 Jonathan Larmour * src/common/tty.c (tty_write): Check buffer size appropriately since when doing \r\n expansion "size" may have been double incremented as a result. Thanks to Alex Mathews of Crosstor for the fix. 2000-10-20 Jonathan Larmour * src/common/serial.c: Include cyg/infra/cyg_ass.h for assertion support since we have assertions here! 2000-10-12 Jesper Skov * tests/ser_test_protocol.inl: Moved most testing parameters into device driver CDL. * cdl/io_serial.cdl: Added comment. 2000-10-06 Jesper Skov * src/common/serial.c (serial_rcv_char): Register overruns. * src/common/serial.c: Made block request functions return cause of failure. Necessary for the device driver to be able to fall-back to other transfer method efficiently. * include/serial.h: Added enum with failure types. 2000-10-03 Jesper Skov * tests/ser_test_protocol.inl: Moved testing parameters to device driver CDL for SH targets. 2000-09-29 Jesper Skov * include/serialio.h: Fix compiler warning and errors due to non-default flow control config. 2000-09-27 Jesper Skov * src/common/serial.c (serial_data_rcv_done, serial_data_xmt_done): Buffer pointers updated in _done instead of in _req to avoid race in xmt. Same change in rcv for consistency. * include/serial.h: Changed prototype accordingly. 2000-09-18 Jesper Skov * cdl/io_serial.cdl: Added interfaces to allow test tweaking. * tests/ser_test_protocol.inl: Use interfaces. Moved PID details to PID serial package. 2000-09-15 Jesper Skov * tests/ser_test_protocol.inl: Allow drivers to define testing parameters via CDL. 2000-09-13 Jesper Skov * include/serial.h (SERIAL_CALLBACKS): Fix typo. 2000-09-06 Jesper Skov * tests/ser_test_protocol.inl: Renamed some option names due to SH serial driver reorg. 2000-08-09 Jonathan Larmour * src/common/serial.c (serial_indicate_status): Treat flow control case conditionally 2000-08-08 Jonathan Larmour * src/common/serial.c (serial_data_rcv_req): Adjust nb in correct direction 2000-08-04 Jonathan Larmour * cdl/io_serial.cdl: Default software flow control to on (but keep flow control overall default off) * tests/flow1.c (cyg_start): Fix N_A_MSG -> NA_MSG typo * tests/flow2.c (cyg_start): Ditto 2000-08-03 Jonathan Larmour * cdl/io_serial.cdl: Should default flow control to off * src/common/serial.c (serial_data_xmt_req): Update cbuf->nb (serial_data_rcv_req): Update cbuf->nb 2000-08-01 Jonathan Larmour * cdl/io_serial.cdl: Add support for line status queries, software flow control, hardware flow control and POSIX termios * include/serial.h: Likewise. Also change prototype for set_config hardware operations to use keys to be more flexible. * include/serialio.h: Add lots of types and constants to support new line status and flow control config key queries * src/common/haldiag.c (haldiag_set_config): Use keys to be more flexible. * src/common/serial.c: Many changes to support software/hardware flow control (with low and high water points), line status and fix some omissions with select. Also fix bugs in block transfer functions resulting from EL/IX merge. * tests/flow1.c, tests/flow2.c: New tests for flow control * cdl/termios.cdl: Add to configure termios * src/termios.c: Add new POSIX Termios API * src/termiostty.c: Add POSIX Termios tty driver * tests/ser_test_protocol.inl (change_config): Add support for hardware and software flow control testing, indicated to the host by an extra CONFIG argument. * tests/serial3.c: Add flow control config * tests/serial5.c: Add flow control config 2000-07-31 Nick Garnett * src/common/serial.c: Changed BLOCKING control definitions to generic versions. 2000-07-03 Jesper Skov * src/common/serial.c (serial_data_rcv_req): Fix off-by-1 bug. 2000-06-23 Jesper Skov * tests/ser_test_protocol.inl: Added cq7708 definitions. 2000-06-19 Nick Garnett * include/serial.h: * src/common/serial.c: Added nb field to cbuf_t structure. This keeps track of the number of bytes currently in the buffer. Without this counter, there is no way to distinguish a totally full buffer from one that is totally empty, since in both cases put==get. 2000-06-15 Nick Garnett * include/serial.h: Added selinfo field to cbuf structure when select support is enabled. * src/common/serial.c: * src/common/tty.c: Added select support. * cdl/io_serial.cdl: Added CYGPKG_IO_SERIAL_SELECT_SUPPORT to enable select() support. Defaults to on. Also added component for loopback driver. * tests/ser_test_protocol.inl: Added test setup for loopback driver. 2000-05-28 Gary Thomas * tests/ser_test_protocol.inl: Rename NEC V85x drivers. 2000-05-25 Jesper Skov * tests/ser_test_protocol.inl: Added rules for REF4955. 2000-05-08 Jesper Skov * cdl/io_serial.cdl: active_if CYGPKG_IO 2000-05-05 Jonathan Larmour * src/common/serial.c (serial_get_config): Tidy below change a little 2000-05-05 Grant Edwards * src/common/serial.c (serial_get_config): Support CYG_IO_GET_CONFIG_SERIAL_BUFFER_INFO key to get buffer information * include/serialio.h: Add cyg_serial_buf_info_t 2000-05-04 Jesper Skov * cdl/io_serial.cdl: Only build tests when drivers enabled. 2000-05-02 Jesper Skov * src/common/serial.c (serial_set_config): Set proper parity for blocking options. (serial_get_config): Fix copy'n'paste buglet. 2000-05-01 Jesper Skov * src/common/serial.c: Added non-blocking config and operation for read/write calls. Added block transfer rcv/xmt callbacks. Added (disabled for now) check for rcv overflow. [need to add handling] * include/serial.h: Added non-blocking callbacks. * cdl/io_serial.cdl: Added non-blocking option. Added block transfer interface. 2000-04-17 Hugo Tyson * src/PKGconf.mak: remove; it's obsolete. 2000-04-13 Gary Thomas * src/common/serial.c (serial_write): Make safer - only call 'start_xmit' with DSRs disabled. 2000-04-11 Hugo Tyson * cdl/io_serial.cdl (CYGPKG_IO_SERIAL_DEVICES): New package which is a container and control for the real device drivers. 2000-04-11 Jesper Skov * cdl/io_serial.cdl: Bad hack to build separate test. * tests/serial_echo.c: Added. 2000-04-11 Hugo Tyson * cdl/ser_.... (driver-specific cdl files): Remove all these; they are no longer needed following the change below. They do exist in devs/serial/ARCH/PLATFORM/VERSION/cdl/ directories various instead. 2000-04-07 Hugo Tyson * 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-04-07 Jonathan Larmour * src/common/tty.c (tty_read): Correct handling of modes with newlines 2000-04-05 Jonathan Larmour * src/common/tty.c (tty_read): CRLF conversion should use \r\n not \n\r (tty_write): Similarly * include/ttyio.h: Update CYG_TTY_IN_FLAGS_CRLF and CYG_TTY_IN_FLAGS_CRLF to match 2000-03-31 Jesper Skov * cdl/ser_sh_edk7708.cdl: Limit legal baud rate range. * src/sh/sh_sci_serial.c: Use baud rate macro instead of hardwired constants. 2000-03-28 John Dallaway * cdl/io_serial.cdl, cdl/ser_arm_aeb.cdl, cdl/ser_arm_cma230.cdl, cdl/ser_arm_edb7xxx.cdl, cdl/ser_arm_pid.cdl, cdl/ser_i386_pc.cdl, cdl/ser_mips_jmr3904.cdl, cdl/ser_mips_vrc4373.cdl, cdl/ser_mn10300.cdl, cdl/ser_powerpc_cogent.cdl, cdl/ser_quicc_smc.cdl, cdl/ser_sh_edk7708.cdl, cdl/ser_sparclite_sleb.cdl, cdl/tty.cdl: Adjust documentation URLs. 2000-03-07 Jesper Skov * cdl/ser_mips_jmr3904.cdl: Rename devices to match CDL naming. 2000-02-29 Jonathan Larmour * include/serialio.h: Correct baud rate typo: 230400 rather than 234000. Thanks to Grant Edwards for the report. 2000-02-28 Gary Thomas * src/powerpc/quicc_smc_serial.c: Use standard 'diag_dump_buf()'. 2000-02-28 Jesper Skov * tests/ser_test_protocol.inl: Allow 115200 baud on Cogent again. Fixed interrupt problem. 2000-02-22 Jesper Skov * tests/ser_test_protocol.inl: Don't use 115200 baud on Cogent. Our slower boards can't keep up. 2000-02-17 Gary Thomas * cdl/ser_powerpc_cogent.cdl: Fix incorrect dependency. 2000-02-16 Nick Garnett * include/pkgconf/io_serial.h: Added configury for PC serial device drivers. * cdl/ser_i386_pc.cdl: * src/i386/pc_serial.c: * src/i386/pc_serial.h: Added these files to implement PC serial line drivers. * cdl/io_serial.cdl: Added CYGPKG_IO_SERIAL_I386_PC. * tests/ser_test_protocol.inl: Added support for PC serial line testing. 2000-02-11 Jesper Skov * src/sh/sh_sci_7708.inl (DEVTAB_ENTRY): * src/sparclite/sleb_sdtr.c: serial_devio => cyg_io_serial_devio 2000-02-10 Jonathan Larmour * src/mn10300/mn10300_serial.c: Ensure all CYG_HAL_MN10300_* preprocessor conditionals use the correct CYGPKG_HAL_MN10300_AM3* form now. 2000-02-03 Jesper Skov * src/powerpc/quicc_smc_serial.c: CYG_HAL_POWERPC_x->CYGPKG_... 2000-02-02 Jonathan Larmour * src/arm/aeb_serial.h: Rename lower case register macros to REG_ upper case macros * src/arm/aeb_serial.c: Update to reflect above 2000-01-31 Simon FitzMaurice * cdl/*.cdl: Adjust help URLs in line with new doc layout. 2000-01-28 Simon FitzMaurice * cdl/*.cdl: Adjust help URLs in line with new doc layout. 2000-01-28 Gary Thomas * src/common/tty.c (tty_read): Fix problem with backspace at start of line (size must be 'signed' for compare to work). 2000-01-19 Hugo Tyson * cdl/*.cdl: Add descriptions to a number of options &c which were lacking same, also tidied up other typos as noticed en passant. 2000-01-17 Gary Thomas * src/common/tty.c (tty_read): Avoid echoing "backspace/erase" at start of line. 2000-01-05 Gary Thomas * src/common/serial.c (serial_write): Avoid potential deadlock if transmit start actually sends enough characters to signal cond wait. 2000-01-03 Gary Thomas * include/serial.h: Fix namespace pollution - serial_devio => cyg_io_serial_devio serial_callbacks => cyg_io_serial_callbacks * src/mips/tx3904_serial.c: * src/mips/vrc4373_serial.c: * src/mn10300/mn10300_serial.c: * src/powerpc/quicc_smc_serial.c: * src/powerpc/cogent_serial_with_ints.c: * src/sparclite/sleb_sdtr.c: * src/arm/aeb_serial.c: * src/arm/pid_serial_with_ints.c: * src/arm/edb7xxx_serial.c: * src/arm/cma230_serial.c: * src/arm/ebsa285_serial.c: * src/common/haldiag.c: * src/common/serial.c: Fix namespace pollution - serial_devio => cyg_io_serial_devio 1999-12-06 Gary Thomas * src/arm/pid_serial_with_ints.c (pid_serial_DSR): Add loop to handle case where an interrupt represents multiple events. 1999-11-19 Gary Thomas * src/powerpc/quicc_smc_serial.c: Channel select for SMC2 was wrong. 1999-11-18 Gary Thomas * include/pkgconf/io_serial.h: Remove mention of 7209/7212. 1999-11-03 John Dallaway * cdl/io_serial.cdl: Define build options. 1999-10-26 Jesper Skov * tests/serial5.c (serial_test): Reduce speed in thumb mode. * src/arm/pid_serial.h: Added BE support. * src/PKGconf.mak: Use CYGPKG_<> instead of CYG_<> to control what needs to be compiled. 1999-10-25 Gary Thomas * 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). * src/arm/cl7211_serial.c (cl7211_serial_rx_DSR): Need to handle all input (empty input FIFO) otherwise characters get dropped. 1999-10-15 Jesper Skov * tests/ser_test_protocol.inl: Removed AEB rev C change. Was bogus. 1999-10-11 Nick Garnett * tests/ser_test_protocol.inl: Added configury for VR4300 testing. * src/mips/vrc4373_serial.c: Added Bi-endian support. * include/pkgconf/io_serial.h: Adjusted default baud rates to 38400. 1999-10-06 Jesper Skov * tests/ser_test_protocol.inl: Run tests on AEB rev C as well. 1999-09-28 Hugo Tyson * src/powerpc/quicc_smc_serial.c (quicc_smc_serial_init): Correct value supplied for interrupt priority - it may be unused, but it is asserted for range. Initialize the diagnostic channel if on an MBX and if NOT using SMC1 ourselves, to ensure that diag output and built-in stubs work correctly; otherwise reset the quicc and ignore SMC1 as before. Fix various warnings, mostly about casting/arg-passing/assigning away volatile. 1999-08-31 Jesper Skov * tests/ser_test_protocol.inl: Define dummy crash ID. 1999-08-30 Jesper Skov * tests/ser_test_protocol.inl: Added crash information which should help track down repeating errors. 1999-08-20 Jesper Skov * tests/README: Added. 1999-08-18 Jesper Skov * tests/tty1.c: * tests/tty2.c: * tests/serial1.c: * tests/serial2.c: * tests/serial3.c: * tests/serial4.c: * tests/serial5.c: * tests/PKGconf.mak: Require kernel and kernel C API. 1999-08-17 Nick Garnett * src/mn10300/mn10300_serial.c: Added a simple implementation of a receive FIFO to try and reduce the overhead of receiving bytes. 1999-08-16 Jonathan Larmour * src/PKGconf.mak: * src/mn10300/mn10300_serial.c: * tests/ser_test_protocol.inl: Rename all am32 -> am31 1999-08-12 Nick Garnett Imported following changes from development branch: 1999-08-11 Nick Garnett * tests/serial5.c: Modified config test for boards that need a lower speed for this test. * tests/ser_test_protocol.inl: Removed 14400 baud tests for all MN10300 variants. The MN10300 cannot currently do this speed. * src/mn10300/mn10300_serial.c: Tidied up the transmit interrupt enable/disable code to be variant specific. * include/pkgconf/io_serial.h: Undid Jonathan's change, since the same options are used for all MN10300 variants. 1999-08-10 Jonathan Larmour * include/pkgconf/io_serial.h: Reparent CYGPKG_IO_SERIAL_MN10300 from under CYGPKG_HAL_MN10300 to CYGPKG_HAL_MN10300_AM32_STDEVAL1 since it's stdeval1 specific 1999-08-04 Nick Garnett * tests/ser_test_protocol.inl: Changed names of MN10300 defines tested. Added AM33 definitions. * src/mn10300/mn10300_serial.c: Modified driver to work on am33 too. This simply requires some alternate definitions of things like register addresses and some bits in them plus some extra parameterization of some register values. * src/PKGconf.mak: Added am33 to list of architectures supporting serial lines. 1999-07-28 Gary Thomas * include/pkgconf/io_serial.h: Update descriptions to be more generic (CL7x11 instead of CL7211). 1999-07-28 Jonathan Larmour * include/pkgconf/io_serial.h: Correct typos in CDL description for serial port 2 driver 1999-07-26 Hugo Tyson * src/arm/ebsa285_serial.c: New file: device driver for the serial device of the Intel StrongARM EBSA-285 evaluation board. * include/pkgconf/io_serial.h (CYGPKG_IO_SERIAL_ARM_EBSA285): Config for it. * src/PKGconf.mak (EXTRAS_COMPILE): Compile it. * tests/ser_test_protocol.inl (TEST_SER_DEV): Enable testing of it. 1999-07-08 Jesper Skov * tests/ser_test_protocol.inl (change_config): Changed implementation. 1999-06-27 Gary Thomas * src/powerpc/quicc_smc_serial.c (quicc_smc_serial_init): More robust initialization, with data cache disabled. This seems to fix the random failures described below. * tests/ser_test_protocol.inl: Add configuration for QUICC/MBX860. Added some delays in the configuration change code to make QUICC happy [didn't help much although the manual says they are required]. * src/powerpc/quicc_smc_serial.h (UART_BITRATE): Rewrote macro to match what the Linux driver uses - still doesn't work well, though. * src/powerpc/quicc_smc_serial.c: Lots of changes trying to get the serial driver working and robust. At this point it works quite well, using the default buffer sizes. Changing from the defaults seem to easily break it though, certainly on input. Also, changing the baud rate seems to not work reliably. * src/common/serial.c: Add some tracing/debug info to try and debug problems with QUICC serial driver. These are hard disabled with "XX_" prepended to "CYGDBG_DIAG_BUF". Enabling them gives information about how/when data are delivered from the serial driver. * include/pkgconf/io_serial.h: Adjust limits and defaults on number and size of buffers with values that seem to work. 1999-06-21 Jesper Skov * src/sh/sh_sci_serial.c: Rearranged inclusion of .inl file a bit to avoid compiler warnings. 1999-06-21 Gary Thomas * include/pkgconf/io_serial.h: Fix CDL for number of buffers. * src/powerpc/quicc_smc_serial.c: Force number of buffers = 1. 1999-06-20 Gary Thomas * include/pkgconf/io_serial.h: Some clean up (removed commented obsolete CDL parenting structure). Add support for Motorola PowerPC QUICC/SMC. * src/arm/cma230_serial.c: * src/arm/cl7211_serial.c: * src/arm/aeb_serial.c: * src/arm/pid_serial_with_ints.c: Use #include to get 'diag_printf()' prototypes. 1999-06-17 Gary Thomas * src/arm/cl7211_serial.c (cl7211_serial_start_xmit): Fix race which cause xmitter to get stuck. 1999-06-16 Jesper Skov * src/sh/sh_serial.c: [removed] * src/sh/sh_sci_serial.c: [added] * src/sh/sh_sci_7708.inl: [added] * include/pkgconf/io_serial.h: * src/PKGconf.mak (EXTRAS_COMPILE): * tests/ser_test_protocol.inl: Renamed CDL options and restructered driver. Fixed CDL typo. 1999-06-04 Jesper Skov * include/pkgconf/io_serial.h: Fixed CDL string for BAUD rate option. 1999-06-04 Gary Thomas * tests/ser_test_protocol.inl: Disable testing at 115200 for Cogent CMA230 (ARM). * src/arm/cma230_serial.c: Fix interrupt for port B. 1999-05-31 Jesper Skov * src/sh/sh_serial.c: Fixed receive interrupts and added handler for error interrupts. 1999-05-28 Jesper Skov * io/serial/current/src/PKGconf.mak: * io/serial/current/tests/ser_test_protocol.inl: * include/pkgconf/io_serial.h: Renamed SH platform package to edk7708. 1999-05-27 Jesper Skov * tests/ser_test_protocol.inl: Added ability to change options in host software. 1999-05-27 Jonathan Larmour * src/mn10300/mn10300_serial.c (mn10300_serial_config_port): Wait for the serial device to become acquiescent before disabling it. This prevents cygmon's outgoing characters getting corrupted due to transmission being disabled. Fix for PR 20047 1999-05-26 Gary Thomas * include/pkgconf/io_serial.h: * tests/ser_test_protocol.inl: Add Cogent CMA230 setup. * src/arm/cma230_serial.c: Make names compatible with Cogent PowerPC board. 1999-05-26 Gary Thomas * tests/ser_test_protocol.inl: Add Cirrus Logic CL7211 setup. 1999-05-26 Jesper Skov * src/sh/sh_serial.c: Added more baud rate values. Disabled interrupt driven receive. Fixed config_port to enable proper interrupt flags. 1999-05-25 Jonathan Larmour * tests/ser_test_protocol.inl: Change all mentions of CYGPKG_HAL_TX39_JMR3904 to CYGPKG_HAL_MIPS_TX39_JMR3904 1999-05-25 Jonathan Larmour * src/PKGconf.mak (EXTRAS_COMPILE): Change CYG_HAL_TX39 to CYG_HAL_MIPS_TX39 1999-05-25 Jesper Skov * tests/ser_test_protocol.inl: Added sh entry. 1999-05-24 Jesper Skov * src/PKGconf.mak: * include/pkgconf/io_serial.h: * src/sh/sh_serial.c: Added sh driver. 1999-05-18 Jesper Skov PR 19926 * src/sparclite/sleb_sdtr.c (sleb_sdtr_rx_DSR): Only read chan if there is one. 1999-05-18 Jesper Skov PR 19926 * src/arm/cl7211_serial.c (cl7211_serial_rx_DSR): Only read char if there is one. 1999-05-16 Gary Thomas * src/arm/cl7211_serial.c: Clean up, first working version. 1999-05-14 Jesper Skov * tests/ser_test_protocol.inl: Removed workaround for spurious Cogent reads. * src/arm/aeb_serial.c: * src/arm/aeb_serial.h: * src/arm/pid_serial_with_ints.c: * src/arm/pid_serial.h: * src/powerpc/cogent_serial.h: * src/powerpc/cogent_serial_with_ints.c: Check for receive interrupt before reading. 1999-05-13 Nick Garnett The follow changes were made in a branch an have now been merged: 1999-04-21 Gary Thomas * src/mips/vrc4373_serial.c: Small changes to get working with interrupts. 1999-04-20 John Dallaway * include/pkgconf/io_serial.h: Fix CYGPKG_IO_SERIAL_TX39_JMR3904 parent attribute. 1999-05-11 Gary Thomas * src/arm/cl7211_serial.c: Fix compile problems from merged code. 1999-05-05 Jesper Skov * tests/ser_test_protocol.inl: Tidied up a bit and added description of protocol. 1999-05-05 Jesper Skov * src/common/serial.c (serial_write, serial_read): Clear abort flag at entry. 1999-05-05 Jesper Skov * tests/serial4.c (serial_test): Handle config fails correctly. * tests/ser_test_protocol.inl: Better change_config handling. Simple recovery and negotiation isn't timing dependant. 1999-05-05 Jesper Skov * tests/timeout.inl: Updated with the below changes. 1999-05-05 Gary Thomas * misc/timeout.inl (timeout): Timeouts are relative, but alarms need absolute time values. 1999-05-04 Jesper Skov PR 20018 * tests/serial1.c (serial_test): Always PASS, regardless of configuration. 1999-05-04 Jesper Skov * tests/ser_test_protocol.inl: Reverse order of configurations - run tests with slow baud rate first. Only check CYG_KERNEL_DIAG_GDB_SERIAL_DIRECT for SLEB on RAM startup. 1999-05-04 Jesper Skov * src/mn10300/mn10300_serial.c: Use interrupt enable/disable feature of serial port2 to allow coexistence with CygMon/hal_diag. * tests/ser_test_protocol.inl: Use port2 for MN10300. 1999-04-28 Bart Veer * src/PKGconf.mak (EXTRAS_COMPILE): Use the new rules for generating libextras.a 1999-04-26 Gary Thomas * include/pkgconf/io_serial.h: Add support for Cirrus Logic CL7211. 1999-04-20 Gary Thomas * src/arm/aeb_serial.c: * src/arm/pid_serial_with_ints.c: Fix default baud rate if unbuffered. 1999-04-20 Jesper Skov * tests/ser_test_protocol.inl: Added some comments. Disabled 38400 for SLEB. Only run test on SLEB if CygMon isn't used for diag output. 1999-04-15 Jesper Skov PR 19752 * tests/serial3.c: * tests/serial5.c: Run these tests at a lower baud rate on ARM AEB. 1999-04-14 Jesper Skov PR 19839 * src/mn10300/mn10300_serial.c: Fix compiler warnings. 1999-04-14 Bart Veer * include/pkgconf/io_serial.h: Reparent the board-specific serial devices below the actual boards. 1999-04-13 Jesper Skov * tests/ser_test_protocol.inl: NA when run from simulator. 1999-04-12 Jesper Skov * tests/ser_test_protocol.inl: Disabled 115200 for MN10300. Reclaim interrupt vectors from CygMon when testing on SLEB. 1999-04-09 Gary Thomas * include/serial.h: Change SERIAL_CHANNEL setup so all channels have serial callbacks, regardless of buffering. 1999-04-09 Jesper Skov * src/common/tty.c: * include/pkgconf/io_serial.h: Added new ttydiag device layered on top of haldiag, so that tty0 can be layered on top of ser0. 1999-04-08 Jesper Skov * tests/tty1.c: [added] * tests/tty2.c: [added] * tests/PKGconf.mak: * tests/ser_test_protocol.inl: Added two simple TTY tests. 1999-04-07 Hugo Tyson * src/sparclite/sleb_sdtr.h: Include cyg/hal/hal_io.h for I/O macros instead of hal_diag.h where they had evolved before. 1999-04-06 Jesper Skov * tests/serial4.c (serial_test): * tests/serial3.c (serial_test): Reduce packet sizes. 1999-03-31 Jesper Skov * tests/ser_test_protocol.inl: Added remaining targets to the test. 1999-03-31 Gary Thomas * src/sparclite/sleb_sdtr.c (sleb_sdtr_start_xmit): Fix timing race when enabling xmit interrupts. 1999-03-26 Gary Thomas * src/sparclite/sleb_sdtr.c: Change how the port is set up. The transmitter is now always enabled, just the interrupts are masked/unmasked to control it. This lets the serial driver cooperate with Cygmon on the port used for GDB. Note that currently serial input does not work for CON1 since Cygmon is taking all of the receive interrupts for itself. (sleb_sdtr_tx_DSR): Need to keep track whether xmit interrupt should be enabled - otherwise it can get enabled incorrectly and we get interrupted to death! 1999-03-26 Jesper Skov * tests/ser_test_protocol.inl: Send a DONE message after a no-echo binary packet. 1999-03-26 Hugo Tyson * tests/serial5.c: * tests/serial4.c: * tests/serial3.c: * tests/serial2.c: * tests/serial1.c: Make these build when no kernel present; include of testcase was the wrong side of the ifdef. 1999-03-26 Jesper Skov * tests/serial5.c: * tests/serial4.c: * tests/serial3.c: * tests/serial2.c: * tests/serial1.c: Moved NOP check to ser_test_protocol open call. * tests/ser_test_protocol.inl: Make sure the proper device is selected for testing. Do NOP check in open call. 1999-03-25 Gary Thomas * include/pkgconf/io_serial.h: * misc/console.c: * src/arm/aeb_serial.c: * src/arm/pid_serial_with_ints.c: * src/common/tty.c: * src/mips/tx3904_serial.c: * src/mn10300/mn10300_serial.c: * src/powerpc/cogent_serial_with_ints.c: * src/sparclite/sleb_sdtr.c: Update CDL to follow naming conventions. * src/mips/tx3904_serial.c (tx3904_serial_config_port): Make sure port is enabled (CDL) before using it. * src/mn10300/mn10300_serial.c (mn10300_serial_config_port): * src/powerpc/cogent_serial_with_ints.c (cogent_serial_config_port): * src/arm/aeb_serial.c (aeb_serial_config_port): * 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/sparclite/sleb_sdtr.c (sleb_sdtr_config_port): Using wrong config data. * include/serialio.h: Add macros to support baud rate from CDL. * include/pkgconf/io_serial.h: * src/mn10300/mn10300_serial.c: * src/mips/tx3904_serial.c (tx3904_serial_ISR): * src/sparclite/sleb_sdtr.c: * src/powerpc/cogent_serial_with_ints.c: * src/arm/pid_serial_with_ints.c: * src/arm/aeb_serial.c: Add configury for baud rate and buffer size. 1999-03-24 Nick Garnett * src/mips/tx3904_serial.c: Now uses CYGHWR_HAL_MIPS_CPU_FREQ_ACTUAL to get CPU frequency. This is a little more accurate than using CYGHWR_HAL_MIPS_CPU_FREQ. 1999-03-24 Gary Thomas * include/serialio.h (CYGNUM_SERIAL_BAUD_MIN/MAX): Add for completeness. * src/arm/aeb_serial.c (aeb_serial_stop_xmit): * src/arm/pid_serial_with_ints.c (pid_serial_stop_xmit): Fix typo in comment. 1999-03-24 Jesper Skov * tests/ser_test_protocol.inl: Weeded out configs TX39 doesn't like. * src/powerpc/cogent_serial.h: Added copyright header. * tests/ser_test_protocol.inl: * tests/serial1.c: * tests/serial2.c: * tests/serial3.c: * tests/serial4.c: * tests/serial5.c: Don't try to run tests when no IO device has been specified. 1999-03-23 Jesper Skov * misc/serial1.c, misc/serial2.c, misc/serial3.c, misc/serial4.c, * misc/serial5.c, misc/ser_test_protocol.inl Deleted. 1999-03-23 Jesper Skov * misc/PKGconf.mak: * tests/timeout.inl: * tests/PKGconf.mak: * tests/serial1.c: * tests/serial2.c: * tests/serial3.c: * tests/serial4.c: * tests/serial5.c: * tests/ser_test_protocol.inl: Moved the serial tests from the misc directory to the tests directory. 1999-03-23 Nick Garnett * src/mn10300/mn10300_serial.c: Now initially mask TX interrupts at initialization and unmask/remask in start/stop xmit routines. This has no real effect on the hardware, but the simulator does not implement the LCR_TXE bit properly, resulting in spurious TX interrupts during diagnostic output. This was the cause of the slow output reported in PR 19559. 1999-03-23 Gary Thomas * include/pkgconf/io_serial.h: Fix "display" strings to have appropriate case - mostly lower case. 1999-03-22 Hugo Tyson * misc/console.c: * misc/serial.c: * misc/serial1.c: * misc/serial2.c: * misc/serial3.c: * misc/serial4.c: * misc/serial5.c: Use CYGNUM_HAL_STACK_SIZE_TYPICAL for the stack size instead of CYGNUM_HAL_MINIMUM_STACK_SIZE. 1999-03-22 Gary Thomas * src/mn10300/mn10300_serial.c: * src/mips/tx3904_serial.c: Add CDL configury. * include/pkgconf/io_serial.h: Update CDL to add device name configurability for all devices. * src/sparclite/sleb_sdtr.c: * src/powerpc/cogent_serial_with_ints.c: * src/arm/aeb_serial.c: * src/arm/pid_serial_with_ints.c: Use CDL configured device names. 1999-03-22 Jesper Skov * misc/serial1.c: * misc/serial2.c: * misc/serial3.c: * misc/serial4.c: * misc/serial5.c: Requires kernel as well. 1999-03-22 Jesper Skov * src/sparclite/sleb_sdtr.c: Moved include statement to avoid warnings. 1999-03-19 Jesper Skov * misc/ser_test_protocol.inl: * misc/serial5.c: * misc/PKGconf.mak: Replace complex and not very stable duplex test with a simpler test that works better. Added serial5 using that test. 1999-03-19 Jesper Skov * misc/PKGconf.mak: * misc/serial1.c: * misc/serial2.c: Added API test and made serial2 do simple string output. 1999-03-19 Jesper Skov * src/powerpc/cogent_serial_with_ints.c: Changed ToDo comment. 1999-03-19 Jesper Skov * src/powerpc/cogent_serial_with_ints.c: * src/arm/aeb_serial.c: * src/arm/pid_serial_with_ints.c: Moved include statement to avoid warnings. 1999-03-19 Gary Thomas * include/pkgconf/io_serial.h: More CDL problems. 1999-03-18 Gary Thomas * include/pkgconf/io_serial.h: Add CDL for SPARClite SLEB. * src/powerpc/cogent_serial_with_ints.c: * src/arm/pid_serial_with_ints.c: * src/arm/aeb_serial.c: Update device names to match CDL. * include/pkgconf/io_serial.h: Change names for serial ports to be CYGPKG_IO_SERIAL___. 1999-03-18 Jesper Skov * misc/ser_test_protocol.inl: * misc/serial2.c: First stab at the duplex binary test. Still much fun to be had... 1999-03-18 Jesper Skov * misc/ser_test_protocol.inl: Added timeout for PING. 1999-03-18 Gary Thomas * src/common/serial.c: Change ABORT functionality to be DSR safe. (serial_get_config): Fix typo! * include/pkgconf/io_serial.h: Small change in CDL to make serial devices tied to the platform and not the serial I/O package. This means that only the devices appropriate to a given platform can be enabled. * misc/serial.c: Better use of alarms - only trigger at the time of the next timeout. Moved timeout functions to new file "timeout.inl". * src/common/serial.c (serial_get_config): Add support for CYG_IO_GET_CONFIG_SERIAL_INPUT_FLUSH and CYG_IO_GET_CONFIG_SERIAL_ABORT. * misc/serial.c: Add simple timeout mechanisms. 1999-03-17 Gary Thomas * src/powerpc/cogent_serial_with_ints.c: * src/arm/aeb_serial.c: * src/arm/pid_serial_with_ints.c: Conditionalize based on CDL. * include/pkgconf/io_serial.h: Add some CDL configury - not perfect because of current ~CDL limitations. 1999-03-17 Jesper Skov * misc/serial2.c: Cleaned up a bit. Used for hacking new tests. 1999-03-17 Jesper Skov * misc/PKGconf.mak: * misc/ser_test_protocol.inl: * misc/serial2.c: * misc/serial3.c: * misc/serial4.c: Put testing protocol implementation in a separate file. Split the tests in serial2 into separate files. 1999-03-16 Nick Garnett * src/mn10300/mn10300_serial.c: Fixed some compiler warnings. 1999-03-15 Gary Thomas * include/pkgconf/io_serial.h: Change default configurations. No serial drivers enabled for PID port A or AEB. * src/sparclite/sleb_sdtr.c: * src/powerpc/cogent_serial_with_ints.c: * src/arm/aeb_serial.c: * src/arm/pid_serial_with_ints.c: * src/common/haldiag.c: * src/common/tty.c: * src/common/serial.c: Add 'CYGDBG_IO_INIT' for control of init messages. * src/powerpc/cogent_serial_with_ints.c: * src/sparclite/sleb_sdtr.c: * src/arm/aeb_serial.c: * src/arm/pid_serial_with_ints.c: Don't include 1999-03-15 Jesper Skov * misc/serial2.c (serial_test): Fix use of strlen. Fix DONE part of binary protocol. 1999-03-12 Jesper Skov * misc/serial2.c: Play a bit with timing. Think I broke it :( Added DONE to BINARY packet. Proper call to DRAIN. 1999-03-12 Nick Garnett * src/mips/tx3904_serial.c: Tidied away some debugging code. 1999-03-12 Jesper Skov * misc/serial2.c: Removed bogus config changes. 1999-03-12 Jesper Skov * misc/serial2.c (serial_test): Check for ser_filter on host (PING packet). 1999-03-11 Jesper Skov * src/powerpc/cogent_serial_with_ints.c: Added note. * misc/serial2.c: Added (almost) proper configuration handling. Run tests on varying configurations. 1999-03-11 Nick Garnett * src/mips/tx3904_serial.c: Many changes to get working. * misc/console.c (console_test): Fixed compiler warning. * misc/serial2.c: Added device name for TX39 testing. Fixed some bugs in Tcyg_io_write() macro. 1999-03-10 Jesper Skov * misc/serial2.c: Added target specific test device name. 1999-03-10 John Dallaway * include/pkgconf/io_serial.h: Correct CDL description spelling. 1999-03-10 Jesper Skov * src/powerpc/cogent_serial_with_ints.c: * misc/console.c: Fixed compiler warnings. 1999-03-10 Gary Thomas * include/pkgconf/io_serial.h: Improve CDL descriptions. 1999-03-10 Jesper Skov * misc/serial2.c (serial_test): Do some more tests with changed baud rates. 1999-03-09 Jesper Skov * misc/serial2.c (serial_test): Added workaround for spurious byte problem. Added a few more tests to run. * src/powerpc/cogent_serial_with_ints.c (cogent_serial_config_port): Remove interrupt enabling. 1999-03-09 Nick Garnett * src/PKGconf.mak: * src/mips/tx3904_serial.c: Added initial version of TX39 device driver. Currently untested but eliminates PR19445. 1999-03-09 Jesper Skov * misc/serial2.c: DRAIN function works now. 1999-03-09 Jesper Skov * include/pkgconf/io_serial.h: Only enable one serial driver per default. 1999-03-08 Jesper Skov * misc/serial2.c (serial_test): Be a bit more aggressive. * src/powerpc/cogent_serial_with_ints.c: Check that configuration is sensible. 1999-03-08 Jesper Skov * src/powerpc/cogent_serial_with_ints.c: Added support for both ports. * include/pkgconf/io_serial.h: Added simple defines for cogent serial ports. No CDL yet. 1999-03-08 Jesper Skov * misc/serial.c: Removed PID references. Fixed compiler warnings. 1999-03-08 Jesper Skov * src/powerpc/cogent_serial_with_ints.c: Cleaned up a bit. Actually works now. 1999-03-08 Gary Thomas * src/common/serial.c: Change in cyg_drv_cond_wait() behaviour means DSR lock should be left alone. 1999-03-08 Jesper Skov PR 19400 * src/powerpc/cogent_serial_with_ints.c (cogent_serial_init): Set valid interrupt priority. 1999-03-05 Nick Garnett * src/mn10300/mn10300_serial.c (mn10300_serial_init): Added extra test to avoid initializing serial 2 when CYGMON is present. Include hal_intr.h explicitly for use in non-kernel configurations. * src/common/serial.c: Added extra test before calls to cyg_drv_cond_wait() to avoid race condition. This is not, however, a complete solution to this problem. A better solution will be forthcoming. * include/serial.h: Changed include files used to permit non-kernel configurations to be built. 1999-03-05 Jesper Skov * src/common/haldiag.c: Removed diag_printf declaration. 1999-03-05 Jonathan Larmour * src/mn10300/mn10300_serial.c: Change CYG_VECTOR_* to CYGNUM_HAL_INTERRUPT_* to get it to compile! 1999-03-05 Gary Thomas * src/powerpc/cogent_serial_with_ints.c (cogent_serial_config_port): Fix renaming of interrupt vectors. 1999-03-05 Gary Thomas * src/arm/pid_serial_with_ints.c: Fix interrupt vectors. 1999-03-03 Gary Thomas * 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. // // 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#### //===========================================================================