summaryrefslogtreecommitdiff
path: root/sys/dev/ic
Commit message (Collapse)AuthorAgeFilesLines
* Copy releng/7.2 to release/7.2.0 for FreeBSD 7.2-RELEASE.release/7.2.0_cvsKen Smith2009-05-0116-16/+16
| | | | | | Approved by: re (implicit) This commit was manufactured to restore the state of the 7.2-RELEASE image.
* 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
* Implemented sending of BREAKs. This is quite complicated because theBruce Evans1998-12-171-1/+6
| | | | | | | | | | | hardware is interrupt-driven to a fault and sending a BREAK requires mode switching. Always running in the BREAK-capable mode as in PR 8318 would double the overhead for sending \0's. Reminded by: PR 8318 Notes: svn path=/head/; revision=41903
* Use [u]intptr_t instead of [unsigned] long to convert and/or representBruce Evans1998-08-101-2/+2
| | | | | | | | | | pointers. This finishes fixing conversions between pointers and integers of possibly different sizes in GENERIC. Notes: svn path=/head/; revision=38232
* Support compiling with `gcc -ansi'.Bruce Evans1998-04-151-4/+4
| | | | Notes: svn path=/head/; revision=35210
* Enable the FIFO on enhanced floppy controllers. This reduces theTor Egge1997-09-171-1/+2
| | | | | | | | | | | number of dma overruns/underruns for systems under heavy dma load. As a side effect, broken enhanced floppy controllers that sometimes don't detect dma overruns/underruns will give less errors. Reviewed by: j@uriah.heep.sax.de (J Wunsch) Notes: svn path=/head/; revision=29543
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notPeter Wemm1997-02-227-7/+7
| | | | | | | ready for it yet. Notes: svn path=/head/; revision=22975
* Make the long-awaited change from $Id$ to $FreeBSD$Jordan K. Hubbard1997-01-147-7/+7
| | | | | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise. Notes: svn path=/head/; revision=21673
* A #define really don't need a ; at the end.John Hay1996-10-281-2/+2
| | | | Notes: svn path=/head/; revision=19235
* Another round of merge/update.Satoshi Asami1996-09-121-2/+15
| | | | | | | | | | | | (1) Add PC98 support to apm_bios.h and ns16550.h, remove pc98/pc98/ic (2) Move PC98 specific code out of cpufunc.h (to pc98.h) (3) Let the boot subtrees look more alike Submitted by: The FreeBSD(98) Development Team <freebsd98-hackers@jp.freebsd.org> Notes: svn path=/head/; revision=18265
* Changes to the Digi/Arnet SYNC driver:Peter Wemm1996-03-171-1/+7
| | | | | | | | | | | | | | | | | | | | | 1. Create 2 x 8k transmit buffer blocks in place of the 16k block previously. With this change the speed as tested with ttcp on a 2Mbit link went up from 206kbyte/s to 236kbyte/s. 2. Change the rest of the functions to also have the definition of the return value on a sepperate line. 3. Remove some unused variables. 4. Add code to recover from DMA underruns. 5. Reorder ar_get_packets() to handle errors better. 6. Only allocate a mbuf cluster if the data is more than the mbuf. (and in a second diff in addition to the above) 7. Stops the occasional DMA underruns that occurred when 2 channels are running at 2Mbit/s. Submitted by: John Hay <jhay@mikom.csir.co.za> Notes: svn path=/head/; revision=14643
* Oops, this should have been committed with the other Hayes ESP changes.Bruce Evans1995-12-291-0/+76
| | | | Notes: svn path=/head/; revision=13105
* This driver supports the Arnet SYNC/570i ISA cards that is based on thePeter Wemm1995-11-211-0/+366
| | | | | | | | | | | | | | | | | | | | HD64570 chip. Both the 2 and 4 port cards is supported and auto detected. Line speeds of up to 2Mbps is possible. At this speed about 85% of the bandwidth is usable with 486DX processors. The standard FreeBSD sppp code is used for the link level layer. The default protocol used is PPP. The Cisco HDLC protocol can be used by adding "link2" to the ifconfig line in /etc/sysconfig or where ever ifconfig is run. At the moment only the V.35 and X.21 interfaces is supported. The others may need tweaks to the clock selection code. Submitted by: John Hay <jhay@mikom.csir.co.za> Notes: svn path=/cvs2svn/branches/JHAY/; revision=12437
* Staticized an inline function. All inlines in kernel headers should beBruce Evans1995-11-181-2/+2
| | | | | | | | static. The function shouldn't be here anyway. It is driver dependent, while `ic' files are supposed to only depend on the IC. Notes: svn path=/head/; revision=12360
* Cleanup, make things static.Poul-Henning Kamp1995-10-311-3/+3
| | | | Notes: svn path=/head/; revision=11961
* Rewrite:Bruce Evans1995-07-051-88/+165
| | | | | | | | | | | | | | - use pseudo-dma - provide the same features and interface as sio - support multiple boards - fix bugs. Some compile-time configuration constants are set to support higher speeds and Cyclom-16Y's at a 30% relative cost in efficiency. Cyclom-16Y support is untested. Notes: svn path=/head/; revision=9406
* Next version, many bugs fixedAndrey A. Chernov1995-06-141-43/+42
| | | | Notes: svn path=/head/; revision=9232
* Remove trailing whitespace.Rodney W. Grimes1995-05-301-2/+2
| | | | Notes: svn path=/head/; revision=8876
* RISCom/8 driverAndrey A. Chernov1995-05-121-0/+197
| | | | Notes: svn path=/head/; revision=8471