Home | History | Annotate | Download | only in ic
History log of /src/sys/dev/ic/comreg.h
RevisionDateAuthorComments
 1.28  06-Oct-2022  riastradh com(4): Add include guards.
 1.27  28-Sep-2020  jmcneill Auto-detect DW APB UART FIFO length and print the FIFO length when enabled
instead of just "working fifo".
 1.26  29-Oct-2017  jmcneill Make all of the COM_xxx type options runtime selectable. Kernel configs
with the existing options (COM_16650, COM_16750, COM_AWIN, COM_HAYESP, and
COM_PXA2X0) will select the correct type in com_attach_subr. New code
should specify the com type by passing COM_TYPE_xxx to comcnattach and/or
setting sc_type.
 1.25  27-May-2016  bouyer The UART in the allwiner SoCs is not full-compatible with the 16550, and
it's not a 16750 either. Like the 16750 it has the IIR_BUSY interrupt,
which is triggered when writing to LCR while the chip
can't accept it. But unlike the 16750, it has a specific register,
HALT, to allow writing to the LCR and divisor registers, and then
commit the changes.
Tested on an A20 SoC, changing the baud rate while keeping the
tty device open and incoming data.
 1.24  07-Mar-2015  macallan more Ingenic support:
- make sure we always set FIFO_UART_ON
- deal with the absence of DCD support
- enable the TX FIFO timeout interrupt
- set COM_HW_NOIEN
- pretend the FIFO is only 16 bytes deep ( supposed to be 64 but I get
overruns with that )
now this works as CI20 console
 1.23  22-Nov-2014  macallan branches: 1.23.2;
deal with quirk in Ingenic UARTs
( they have a bit in the FIFO control register which turns the entire
port off if not set )
 1.22  03-Oct-2013  kiyohara branches: 1.22.4;
Revirt 'Move the Marvell extension to com_mv.c' at Sun Sep 1 04:51:24 UTC 2013.
build test only.
 1.21  03-Sep-2013  jmcneill no EFR on tl16c750, use AFE bit on MCR reg instead for flow control
 1.20  01-Sep-2013  kiyohara Add support 16750 64Byte FIFO. But not test.
 1.19  01-Sep-2013  kiyohara Move the Marvell extension to com_mv.c.
 1.18  20-Apr-2013  rkujawa branches: 1.18.4;
Add support for 16750 style UARTs. Activated by defining COM_16750.

Obtained from Marvell, Semihalf.
 1.17  28-May-2011  matt branches: 1.17.4; 1.17.14;
Allow COM_TOLERANCE to be tweakable. If comspeed returns an invalid
rate, don't use that error value to set the speed.
 1.16  20-Jul-2010  jklos branches: 1.16.2;
Add support for 16650's prescaler from Frank Wille. Tested with
IOblix on Amiga.
 1.15  28-Apr-2008  matt branches: 1.15.18; 1.15.20; 1.15.22;
More forgotten changes from matt-armv6.
 1.14  11-Dec-2005  christos branches: 1.14.46; 1.14.70; 1.14.72; 1.14.74;
merge ktrace-lwp.
 1.13  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.12  05-Jun-2003  scw branches: 1.12.2;
Add support, via a kernel config file option, for the 16550-compatible
com ports found on Intel PXA2x0 processors.

Re-arrange the code which detects the FIFO configuration to defer
printing until _after_ com_fifo is cleared. Some supposedly compatible
chips clear the Tx/Rx FIFOs when this happens, resulting in previous
output being lost.
 1.11  19-Oct-1997  fvdl Add 16650 hardware flowcontrol support. Basically PR 3844 from
Dave Huang <khym@bga.com>, with added check for broken early versions
of the 16650, taken from the Linux driver.

This should be extended to use, for example, higher trigger levels for
the bigger 16650 FIFO, and its capability for using a smaller divisor
and thus higher speeds. But this patch is very useful for 16650 users
already.
 1.10  15-Oct-1997  thorpej branches: 1.10.2;
Garbage-collect some old i386 console stuff that is no longer used, and
add a comment about something to be fixed later.
 1.9  06-Sep-1996  mycroft branches: 1.9.10;
Wrap the definitions of CONADDR and CONUNIT in #ifndef.
 1.8  05-Feb-1996  scottr branches: 1.8.4;
Document this file better, mostly from John Vinopal
<banshee@gabriella.resort.com>. Closes PR #1864.
 1.7  15-Oct-1995  mycroft Use SET(), CLR(), and ISSET() macros.
Rename CFCR to LCR, and cache its value.
Check MSR before transmitting, for better flow control.
Preserve LCR_SBREAK inside comparam().
 1.6  28-Jun-1995  cgd note that most of dev/ic's contents have changed names
 1.5  29-Jan-1995  cgd use chip headers in /dev/ic
 1.4  27-Oct-1994  cgd new RCS ID format.
 1.3  08-Mar-1994  mycroft Major cleanup and many bugs fixed; based in part on Brad Huntting's version
for BSD/386. More to be done when the low-level interrupt system is replaced.
 1.2  22-May-1993  cgd branches: 1.2.4;
add rcsids to everything and clean up headers
 1.1  21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1  21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.2.4.2  17-Oct-1993  mycroft Minor cleanup.
 1.2.4.1  30-Sep-1993  mycroft clock.c: Remove unnecessary casts.
com.c: Update for new config. Add bis() and bic() macros like BSDI's.
Add comspeed() and tiocm_xxx2mcr() from BSDI.
comreg.h: Add COM_FREQ, COM_TOLERANCE, and COM_NPORTS.
fd.c: Remove casts and clean up fdioctl().
[lm]ms.c: Add necessary gunk to [lm]ms_softc and remove casts.
 1.8.4.1  10-Dec-1996  mycroft From trunk:
Allow CONADDR and CONUNIT to be overridden in the config file.
 1.9.10.1  15-Oct-1997  thorpej Sync w/ trunk.
 1.10.2.2  16-Oct-1997  thorpej Sync w/ trunk.
 1.10.2.1  15-Oct-1997  thorpej file comreg.h was added on branch marc-pcmcia on 1997-10-16 00:04:14 +0000
 1.12.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.12.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.12.2.1  03-Aug-2004  skrll Sync with HEAD
 1.14.74.2  11-Aug-2010  yamt sync with head.
 1.14.74.1  16-May-2008  yamt sync with head.
 1.14.72.1  18-May-2008  yamt sync with head.
 1.14.70.1  02-Jun-2008  mjf Sync with HEAD.
 1.14.46.1  29-Oct-2007  matt Add support for OMAP specific com type.
 1.15.22.2  31-May-2011  rmind sync with head
 1.15.22.1  05-Mar-2011  rmind sync with head
 1.15.20.1  17-Aug-2010  uebayasi Sync with HEAD.
 1.15.18.1  14-Feb-2014  matt defparam COM_TOLERANCE
 1.16.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.17.14.3  03-Dec-2017  jdolecek update from HEAD
 1.17.14.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.17.14.1  23-Jun-2013  tls resync from head
 1.17.4.1  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.18.4.1  18-May-2014  rmind sync with head
 1.22.4.1  22-Jun-2016  snj Pull up following revision(s) (requested by bouyer in ticket #1178):
sys/arch/arm/allwinner/files.awin: revision 1.36
sys/conf/files: revision 1.1159
sys/dev/ic/com.c: revision 1.339
sys/dev/ic/comreg.h: revision 1.25
sys/dev/ic/comvar.h: revision 1.82
sys/dev/ic/ns16550reg.h: revision 1.11
The UART in the allwiner SoCs is not full-compatible with the 16550, and
it's not a 16750 either. Like the 16750 it has the IIR_BUSY interrupt,
which is triggered when writing to LCR while the chip
can't accept it. But unlike the 16750, it has a specific register,
HALT, to allow writing to the LCR and divisor registers, and then
commit the changes.
Tested on an A20 SoC, changing the baud rate while keeping the
tty device open and incoming data.
 1.23.2.2  29-May-2016  skrll Sync with HEAD
 1.23.2.1  06-Apr-2015  skrll Sync with HEAD

RSS XML Feed