aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ic
Commit message (Collapse)AuthorAgeFilesLines
* sys/dev: further adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-277-1/+15
| | | | | | | | | | | | | | | Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Notes: svn path=/head/; revision=326255
* sys/dev: further adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-204-0/+8
| | | | | | | | | | | | | | | | | Mainly focus on files that use BSD 3-Clause license. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Special thanks to Wind River for providing access to "The Duke of Highlander" tool: an older (2014) run over FreeBSD tree was useful as a starting point. Notes: svn path=/head/; revision=326022
* spdx: initial adoption of licensing ID tags.Pedro F. Giffuni2017-11-181-0/+2
| | | | | | | | | | | | | | | | | | | | The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Special thanks to Wind River for providing access to "The Duke of Highlander" tool: an older (2014) run over FreeBSD tree was useful as a starting point. Initially, only tag files that use BSD 4-Clause "Original" license. RelNotes: yes Differential Revision: https://reviews.freebsd.org/D13133 Notes: svn path=/head/; revision=325966
* Renumber copyright clause 4Warner Losh2017-02-283-3/+3
| | | | | | | | | | | | Renumber cluase 4 to 3, per what everybody else did when BSD granted them permission to remove clause 3. My insistance on keeping the same numbering for legal reasons is too pedantic, so give up on that point. Submitted by: Jan Schaumann <jschauma@stevens.edu> Pull Request: https://github.com/freebsd/freebsd/pull/96 Notes: svn path=/head/; revision=314436
* - Remove i8255.h because it's pc98 device.Yoshihiro Takahashi2017-01-292-174/+0
| | | | | | | | - rsa.h is for both RSA-DV/S ISA and RSA-98III CBUS, but there is no RSA-DV/S support. So it can be removed. Notes: svn path=/head/; revision=312944
* Remove pc98 support completely.Yoshihiro Takahashi2017-01-282-276/+0
| | | | | | | | | I thank all developers and contributors for pc98. Relnotes: yes Notes: svn path=/head/; revision=312910
* Add receiver timeout interrupt enable bit implemented in someRuslan Bukin2016-11-191-1/+6
| | | | | | | | | | system on chips. Submitted by: kan Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=308841
* Add support for UART found in the Ingenic XBurst system on chips.Ruslan Bukin2016-11-171-0/+3
| | | | | | | | | | These CPUs has non-standard UART enable bit hidden in the UART FIFO Control Register. Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=308750
* sys/dev: minor spelling fixes.Pedro F. Giffuni2016-05-031-1/+1
| | | | | | | Most affect comments, very few have user-visible effects. Notes: svn path=/head/; revision=298955
* - Add support for Advantech PCI-1602 Rev. B1 and PCI-1603 cards. [1]Marius Strobl2016-01-101-0/+2
| | | | | | | | | | | | | | | - Add a description of Advantech PCI-1602 Rev. A boards. [1] - Properly set up REG_ACR also for PCI-1602 Rev. A based on what the Advantech-supplied Linux driver does. - Additionally use the macros of <dev/ic/ns16550.h> to replace existing magic values and get rid of trivial comments. - Fix the style of some comments. PR: 205359 [1] Submitted by: Jan Mikkelsen (original patch) [1] Notes: svn path=/head/; revision=293642
* This should have been GC'd 6 years ago when ar(4) was removed.Warner Losh2015-02-171-372/+0
| | | | Notes: svn path=/head/; revision=278880
* Wait for DesignWare UART transfers completion before accessing line controlZbigniew Bodek2013-10-261-0/+1
| | | | | | | | | | | | | | | | When using DW UART with BUSY detection it is necessary to wait until all serial transfers are finished before manipulating the line control. LCR will not be affected when UART is busy. In addition, if Divisor Latch Access Bit is being set in order to modify UART divisors: 1. We will get BUSY interrupt if interrupts are enabled. 2. Because LCR will not be affected the THR and (even worse) IER contents will be corrupted. This will lead to console hang. Approved by: cognet (mentor) Notes: svn path=/head/; revision=257170
* Add support for A10 uart.Ganbold Tsagaankhuu2013-03-011-0/+1
| | | | | | | | | | | | | | | A10 uart is derived from Synopsys DesignWare uart and requires to read Uart Status Register when IIR_BUSY has detected. Also this change includes FDT check, where it checks device specific properties defined in dts and sets the busy_detect variable. broken_txfifo is also needed to be set in order to make it work for A10 uart case. Reviewed by: marcel@ Approved by: gonzo@ Notes: svn path=/head/; revision=247519
* Merge from projects/mips to head by hand:Warner Losh2010-01-111-0/+5
| | | | | | | Defintions for cavium uart (do they belong here?) Notes: svn path=/head/; revision=202062
* add %b formats for various registersSam Leffler2009-06-211-0/+12
| | | | Notes: svn path=/head/; revision=194600
* - Cleanup i8251 related defines.Yoshihiro Takahashi2008-09-072-48/+101
| | | | | | | - Move i8255 related defines into a separate file. Notes: svn path=/head/; revision=182835
* unifdef PC98Yoshihiro Takahashi2008-08-291-2/+0
| | | | Notes: svn path=/head/; revision=182442
* Support for Freescale QUad Integrated Communications Controller.Rafal Jaworowski2008-03-031-0/+111
| | | | | | | | | | | | | | | | The QUICC engine is found on various Freescale parts including MPC85xx, and provides multiple generic time-division serial channel resources, which are in turn muxed/demuxed by the Serial Communications Controller (SCC). Along with core QUICC/SCC functionality a uart(4)-compliant device driver is provided which allows for serial ports over QUICC/SCC. Approved by: cognet (mentor) Obtained from: Juniper MFp4: e500 Notes: svn path=/head/; revision=176772
* Fix style nits. No md5 changes in .o's. ;-)Jung-uk Kim2006-09-081-23/+23
| | | | Notes: svn path=/head/; revision=162165
* Enhanced floppy controllers have Data Rate Select Register (DSR) at 0x3f4.Jung-uk Kim2006-07-061-0/+6
| | | | | | | | | | | | Use it to reset controller and to select data rate. According to Intel 80277AA datasheet, software reset behaves the same as DOR reset except that it is self clearing. National Semiconductor PC8477B datasheet says the same. As a side effect, we no longer use Configuration Control Register (CCR) at 0x3f7 for these controllers, which is often missing in modern hardware. Notes: svn path=/head/; revision=160137
* Allow uart(4)'s ns8250 driver to work with devices whose regshift is > 0.Benno Rice2006-05-231-1/+2
| | | | | | | | | | | | | | | | - Rename REG_DL to REG_DLL and REG_DLH. - Always treat DLL and DLH as two separate 8-bit registers instead of one 16-bit register. Additionally, remove the probe for the high 4 bits of IER being 0 and don't assume we can always read/write 0 to/from those bits. These changes allow uart(4) to drive the UARTs on the Intel XScale PXA255. Reviewed by: marcel Notes: svn path=/head/; revision=158844
* MFp4:Marcel Moolenaar2006-02-241-3/+6
| | | | | | | | Add CHAN_A & CHAN_B for channel register offsets. While here, fix a comment. Notes: svn path=/head/; revision=155967
* Register definitions for the ancient via6522. This 20+ year-old chipPeter Grehan2005-12-021-0/+105
| | | | | | | | still exists as a cell in the Macio asic on Apples, and is used to communicate through the shift register with the external PMU microcontroller. Notes: svn path=/head/; revision=153030
* Typo.Gleb Smirnoff2005-10-231-1/+1
| | | | | | | | PR: misc/87679 Submitted by: Alan Amesbury <amesbury umn.edu> Notes: svn path=/head/; revision=151580
* cosmetic change.Yoshihiro Takahashi2005-05-141-1/+1
| | | | Notes: svn path=/head/; revision=146215
* - Move bus dependent defines to {isa,cbus}_dmareg.h.Yoshihiro Takahashi2005-05-141-23/+0
| | | | | | | | | - Use isa/isareg.h rather than <arch>/isa/isa.h. Tested on: i386, pc98 Notes: svn path=/head/; revision=146214
* - Move timerreg.h to <arch>/include and split i8253 specific defines intoYoshihiro Takahashi2005-05-141-0/+78
| | | | | | | | | | | | i8253reg.h, and add some defines to control a speaker. - Move PPI related defines from i386/isa/spkr.c into ppireg.h and use them. - Move IO_{PPI,TIMER} defines into ppireg.h and timerreg.h respectively. - Use isa/isareg.h rather than <arch>/isa/isa.h. Tested on: i386, pc98 Notes: svn path=/head/; revision=146211
* Since we are quite unlikely to ever face another platform whichPoul-Henning Kamp2005-02-061-0/+22
| | | | | | | | | | | | uses the i8237 without trying to emulate the PC architecture move the register definitions for the i8237 chip into the central include file for the chip, except for the PC98 case which is magic. Add new isa_dmatc() function which tells us as cheaply as possible if the terminal count has been reached for a given channel. Notes: svn path=/head/; revision=141391
* Start each of the license/copyright comments with /*-, minor shuffle of linesWarner Losh2005-01-065-5/+5
| | | | Notes: svn path=/head/; revision=139749
* This file was repocopied from sys/dev/uart/uart_dev_z8530.h.Marcel Moolenaar2004-11-211-3/+3
| | | | Notes: svn path=/head/; revision=137955
* This file was repocopied from sys/dev/uart/uart_dev_sab82532.h.Marcel Moolenaar2004-11-211-0/+5
| | | | Notes: svn path=/head/; revision=137954
* o Remove the com_thr, com_rhr, com_isr and com_lctl defines. They areMarcel Moolenaar2004-11-201-28/+59
| | | | | | | | | | | | | | | | | | | | not used and aliases for other defines. o Add REG_DATA as an alias for com_data. Likewise for other register defines. o Add LCR_SBREAK and make CFCR_SBREAK an alias for it. Likewise for the other LCR register bits that are known with the CFCR prefix. o Add MCR_IE and make MCR_IENABLE an alias for it. o Add LSR_TEMT and make LSR_TSRE an alias for it. o Add LSR_THRE and make LSR_TXRDY as alias for it. o Add FCR_ENABLE and make FIFO_ENABLE as alias for it. Likewise for the other FCR register bits that are known with the FIFO prefix. o Add EFR_CTS and make EFR_AUTOCTS an alias for it. o Add EFR_RTS and make EFR_AUTORTS an alias for it. This is a first step in cleaning up the definitions in this file. Notes: svn path=/head/; revision=137948
* Remove advertising clause from University of California Regent'sWarner Losh2004-04-073-12/+0
| | | | | | | | | | license, per letter dated July 22, 1999 and email from Peter Wemm, Alan Cox and Robert Watson. Approved by: core, peter, alc, rwatson Notes: svn path=/head/; revision=128019
* Add a header for the i8259A register definitions. This is based onJohn Baldwin2004-01-061-0/+86
| | | | | | | | | | | | | additions to sys/amd64/isa/icu.h from PIIX4 and other datasheets. I tweaked a few comments based on the NetBSD header of the same name when I merged the constants to sys/i386/isa/icu.h, but the vast majority of this file was created independently by Peter and not taken from any existing files. Submitted by: peter Notes: svn path=/head/; revision=124184
* Added definitions of most of the interesting 16950 register numbersBruce Evans2003-09-161-0/+41
| | | | | | | | | | and some of their bits (i.e., fifo trigger levels, frequency multipliers and divisors, and bits to select the registers for these). This attempts to completely describe the 16950's complicated register selects for 16950-specific registers only. Notes: svn path=/head/; revision=120124
* Added definitions for some 16650 features (mostly misfeatures). ThisBruce Evans2003-09-161-0/+7
| | | | | | | completes defining the 16650 register numbers but not all of their bits. Notes: svn path=/head/; revision=120123
* Fixed a minor error in the description of the EFR and a major error inBruce Evans2003-09-161-8/+17
| | | | | | | | | | | | | | | the description of the data latch registers (they were described as readonly). Added some better and worse aliases for standard registers, mostly taken from the 16950 data sheet. Define deprecated aliases in terms of the preferred one. Don't define com_efr in terms of com_fifo. It is unrelated (in a different bank). Notes: svn path=/head/; revision=120122
* Sorted register numbers together with the correspoding register bits.Bruce Evans2003-09-161-33/+35
| | | | | | | | | | | Merged comments to match (put them at the right of the #defines instead of duplicating them). Sorted the resulting sections on UART type and register bank. Added a comment for each bank. Notes: svn path=/head/; revision=120119
* Moved the definitions of the bits in the ns*50 registers from sioreg.hBruce Evans2003-09-161-0/+85
| | | | | | | | | | | to ns16550.h. The organization of these files was sort of backwards. The bits in the registers have no driver or bus dependencies but they but the offsets of the registers in bus space are very bus-dependent. However, it does no harm to keep the definitions of the register offsets in ns16550.h provided they are thought of as internal ns*50 offsets. Notes: svn path=/head/; revision=120116
* The uart(4) driver is an universal driver for various UART hardware.Marcel Moolenaar2003-09-062-0/+572
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It improves on sio(4) in the following areas: o Fully newbusified to allow for memory mapped I/O. This is a must for ia64 and sparc64, o Machine dependent code to take full advantage of machine and firm- ware specific ways to define serial consoles and/or debug ports. o Hardware abstraction layer to allow the driver to be used with various UARTs, such as the well-known ns8250 family of UARTs, the Siemens sab82532 or the Zilog Z8530. This is especially important for pc98 and sparc64 where it's common to have different UARTs, o The notion of system devices to unkludge low-level consoles and remote gdb ports and provides the mechanics necessary to support the keyboard on sparc64 (which is UART based). o The notion of a kernel interface so that a UART can be tied to something other than the well-known TTY interface. This is needed on sparc64 to present the user with a device and ioctl handling suitable for a keyboard, but also allows us to cleanly hide an UART when used as a debug port. Following is a list of features and bugs/flaws specific to the ns8250 family of UARTs as compared to their support in sio(4): o The uart(4) driver determines the FIFO size and automaticly takes advantages of larger FIFOs and/or additional features. Note that since I don't have sufficient access to 16[679]5x UARTs, hardware flow control has not been enabled. This is almost trivial to do, provided one can test. The downside of this is that broken UARTs are more likely to not work correctly with uart(4). The need for tunables or knobs may be large enough to warrant their creation. o The uart(4) driver does not share the same bumpy history as sio(4) and will therefore not provide the necessary hooks, tweaks, quirks or work-arounds to deal with once common hardware. To that extend, uart(4) supports a subset of the UARTs that sio(4) supports. The question before us is whether the subset is sufficient for current hardware. o There is no support for multiport UARTs in uart(4). The decision behind this is that uart(4) deals with one EIA RS232-C interface. Packaging of multiple interfaces in a single chip or on a single expansion board is beyond the scope of uart(4) and is now mostly left for puc(4) to deal with. Lack of hardware made it impossible to actually implement such a dependency other than is present for the dual channel SAB82532 and Z8350 SCCs. The current list of missing features is: o No configuration capabilities. A set of tunables and sysctls is being worked out. There are likely not going to be any or much compile-time knobs. Such configuration does not fit well with current hardware. o No support for the PPS API. This is partly dependent on the ability to configure uart(4) and partly dependent on having sufficient information to implement it properly. As usual, the manpage is present but lacks the attention the software has gotten. Notes: svn path=/head/; revision=119815
* - Clean up function calling conventions.Matthew N. Dodd2003-03-281-0/+2
| | | | | | | | | - Be consistent about what we call our softc. - Minor formatting. - Add some register definitions gleaned from NetBSD/Linux. Notes: svn path=/head/; revision=112734
* Move the com_scr register address definition over with the other seven.Poul-Henning Kamp2002-09-221-0/+1
| | | | | | | Approved by: bde Notes: svn path=/head/; revision=103795
* Oops, forgot to commit one file in the fd driver mega update. Here itJoerg Wunsch2001-12-161-17/+22
| | | | | | | | | is, some more constants for NE765 & Co. Pointed out by: silby, Dave Cornejo <dave@dogwood.com> Notes: svn path=/head/; revision=88010
* Moved the wd33c93 specific file to sys/dev/ic.Yoshihiro Takahashi2001-06-141-0/+165
| | | | Notes: svn path=/head/; revision=78209
* Move the files from i386/isa/ic/ to dev/ic/.Yoshihiro Takahashi2001-06-102-0/+236
| | | | Notes: svn path=/head/; revision=77962
* Added ESP98 specific register (merged from i386/isa/ic/esp.h).Yoshihiro Takahashi2001-06-101-0/+1
| | | | Notes: svn path=/head/; revision=77961
* Removed unneeded pc98 code (merged from i386/isa/ic/ns16550.h).Yoshihiro Takahashi2001-06-101-14/+0
| | | | Notes: svn path=/head/; revision=77960
* Add $FreeBSD$Peter Wemm2000-05-011-0/+2
| | | | Notes: svn path=/head/; revision=59874
* $Id$ -> $FreeBSD$Peter Wemm1999-08-287-7/+7
| | | | Notes: svn path=/head/; revision=50477
* Fixed 10 out of 40 lines of -Wcast-qual warnings/errors. 3 lines wereBruce Evans1999-05-131-4/+11
| | | | | | | | for old confusion of `volatile char *' with `volatile caddr_t'. 7 lines were for not being careful about aligning pointers to volatiles. Notes: svn path=/head/; revision=47108