summaryrefslogtreecommitdiff
path: root/sys/dev/ic
AgeCommit message (Collapse)Author
2023-11-26sys: Remove ancient SCCS tags.Warner Losh
Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl script. Sponsored by: Netflix
2023-11-08UART: Remove ingenic xburst (mips) code from ns8250 driverOskar Holmlund
Since ingenic JZ4780 SOC support has been removed there is no need to support ingenic quirks in the UART driver. Invert of commit b192bae67ea835b7e431225bad375b5d5fe4297f Reviewed by: imp, manu Approved by: imp, manu (mentor) Differential Revision: https://reviews.freebsd.org/D42497
2023-08-16sys: Remove $FreeBSD$: one-line .h patternWarner Losh
Remove /^\s*\*+\s*\$FreeBSD\$.*$\n/
2023-08-16sys: Remove $FreeBSD$: two-line .h patternWarner Losh
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
2023-05-12spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSDWarner Losh
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
2021-11-25esp: RemoveWarner Losh
Belatedly remove esp(4). It was tagged as gone in 13, but was overlooked until now. Sponsored by: Netflix Reviewed by: scottl Differential Revision: https://reviews.freebsd.org/D33115
2020-12-26scc(4)/uart(4): Remove obsolete support for Siemens SAB 82532Marius Strobl
It's no longer used since 58aa35d42975c298ca0adba705c042596303c9f5 and r357455 respectively.
2020-06-14[PowerPC] Fix scc z8530 driverBrandon Bergren
Parts of the z8530 driver were still using the SUN channel spacing. This was invalid on PowerMac and QEMU, where the attachment was to escc, not escc-legacy. This means the driver has apparently NEVER worked properly on Macintosh hardware. Add documentation for the channel spacing details, and change to using driver-specific initialization instead of hardcoded spacing so either spacing can be used. Fixes boot hang in QEMU when using the serial console, and fixes use on Xserve serial (and presumably PowerMacs that have a Stealth Serial port or similar) Reviewed by: jhibbits Sponsored by: Tag1 Consulting, Inc. Differential Revision: https://reviews.freebsd.org/D24661 Notes: svn path=/head/; revision=362179
2017-11-27sys/dev: further adoption of SPDX licensing ID tags.Pedro F. Giffuni
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
2017-11-20sys/dev: further adoption of SPDX licensing ID tags.Pedro F. Giffuni
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
2017-11-18spdx: initial adoption of licensing ID tags.Pedro F. Giffuni
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
2017-02-28Renumber copyright clause 4Warner Losh
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
2017-01-29- Remove i8255.h because it's pc98 device.Yoshihiro Takahashi
- 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
2017-01-28Remove pc98 support completely.Yoshihiro Takahashi
I thank all developers and contributors for pc98. Relnotes: yes Notes: svn path=/head/; revision=312910
2016-11-19Add receiver timeout interrupt enable bit implemented in someRuslan Bukin
system on chips. Submitted by: kan Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=308841
2016-11-17Add support for UART found in the Ingenic XBurst system on chips.Ruslan Bukin
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
2016-05-03sys/dev: minor spelling fixes.Pedro F. Giffuni
Most affect comments, very few have user-visible effects. Notes: svn path=/head/; revision=298955
2016-01-10- Add support for Advantech PCI-1602 Rev. B1 and PCI-1603 cards. [1]Marius Strobl
- 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
2015-02-17This should have been GC'd 6 years ago when ar(4) was removed.Warner Losh
Notes: svn path=/head/; revision=278880
2013-10-26Wait for DesignWare UART transfers completion before accessing line controlZbigniew Bodek
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
2013-03-01Add support for A10 uart.Ganbold Tsagaankhuu
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
2010-01-11Merge from projects/mips to head by hand:Warner Losh
Defintions for cavium uart (do they belong here?) Notes: svn path=/head/; revision=202062
2009-06-21add %b formats for various registersSam Leffler
Notes: svn path=/head/; revision=194600
2008-09-07- Cleanup i8251 related defines.Yoshihiro Takahashi
- Move i8255 related defines into a separate file. Notes: svn path=/head/; revision=182835
2008-08-29unifdef PC98Yoshihiro Takahashi
Notes: svn path=/head/; revision=182442
2008-03-03Support for Freescale QUad Integrated Communications Controller.Rafal Jaworowski
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
2006-09-08Fix style nits. No md5 changes in .o's. ;-)Jung-uk Kim
Notes: svn path=/head/; revision=162165
2006-07-06Enhanced floppy controllers have Data Rate Select Register (DSR) at 0x3f4.Jung-uk Kim
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
2006-05-23Allow uart(4)'s ns8250 driver to work with devices whose regshift is > 0.Benno Rice
- 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
2006-02-24MFp4:Marcel Moolenaar
Add CHAN_A & CHAN_B for channel register offsets. While here, fix a comment. Notes: svn path=/head/; revision=155967
2005-12-02Register definitions for the ancient via6522. This 20+ year-old chipPeter Grehan
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
2005-10-23Typo.Gleb Smirnoff
PR: misc/87679 Submitted by: Alan Amesbury <amesbury umn.edu> Notes: svn path=/head/; revision=151580
2005-05-14cosmetic change.Yoshihiro Takahashi
Notes: svn path=/head/; revision=146215
2005-05-14- Move bus dependent defines to {isa,cbus}_dmareg.h.Yoshihiro Takahashi
- Use isa/isareg.h rather than <arch>/isa/isa.h. Tested on: i386, pc98 Notes: svn path=/head/; revision=146214
2005-05-14- Move timerreg.h to <arch>/include and split i8253 specific defines intoYoshihiro Takahashi
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
2005-02-06Since we are quite unlikely to ever face another platform whichPoul-Henning Kamp
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
2005-01-06Start each of the license/copyright comments with /*-, minor shuffle of linesWarner Losh
Notes: svn path=/head/; revision=139749
2004-11-21This file was repocopied from sys/dev/uart/uart_dev_z8530.h.Marcel Moolenaar
Notes: svn path=/head/; revision=137955
2004-11-21This file was repocopied from sys/dev/uart/uart_dev_sab82532.h.Marcel Moolenaar
Notes: svn path=/head/; revision=137954
2004-11-20o Remove the com_thr, com_rhr, com_isr and com_lctl defines. They areMarcel Moolenaar
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
2004-04-07Remove advertising clause from University of California Regent'sWarner Losh
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
2004-01-06Add a header for the i8259A register definitions. This is based onJohn Baldwin
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
2003-09-16Added definitions of most of the interesting 16950 register numbersBruce Evans
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
2003-09-16Added definitions for some 16650 features (mostly misfeatures). ThisBruce Evans
completes defining the 16650 register numbers but not all of their bits. Notes: svn path=/head/; revision=120123
2003-09-16Fixed a minor error in the description of the EFR and a major error inBruce Evans
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
2003-09-16Sorted register numbers together with the correspoding register bits.Bruce Evans
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
2003-09-16Moved the definitions of the bits in the ns*50 registers from sioreg.hBruce Evans
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
2003-09-06The uart(4) driver is an universal driver for various UART hardware.Marcel Moolenaar
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
2003-03-28- Clean up function calling conventions.Matthew N. Dodd
- Be consistent about what we call our softc. - Minor formatting. - Add some register definitions gleaned from NetBSD/Linux. Notes: svn path=/head/; revision=112734
2002-09-22Move the com_scr register address definition over with the other seven.Poul-Henning Kamp
Approved by: bde Notes: svn path=/head/; revision=103795