freebsd-dev/sys/dev/uart
Ian Lepore fdfbb3f5b1 Restore uart PPS signal capture polarity to its historical norm, and add an
option to invert the polarity in software. Also add an option to capture
very narrow pulses by using the hardware's MSR delta-bit capability of
latching line state changes.

This effectively reverts the mistake I made in r286595 which was based on
empirical measurements made on hardware using TTL-level signaling, in which
the logic levels are inverted from RS-232. Thus, this re-syncs the polarity
with the requirements of RFC 2783, which is writen in terms of RS-232
signaling.

Narrow-pulse mode uses the ability of most ns8250 and similar chips to
provide a delta indication in the modem status register. The hardware is
able to notice and latch the change when the pulse width is shorter than
interrupt latency, which results in the signal no longer being asserted by
time the interrupt service code runs. When running in this mode we get
notified only that "a pulse happened" so the driver synthesizes both an
ASSERT and a CLEAR event (with the same timestamp for each). When the pulse
width is about equal to the interrupt latency the driver may intermittantly
see both edges of the pulse. To prevent generating spurious events, the
driver implements a half-second lockout period after generating an event
before it will generate another.

Differential Revision:	https://reviews.freebsd.org/D4477
2016-01-12 18:42:00 +00:00
..
uart_bus_acpi.c
uart_bus_ebus.c
uart_bus_fdt.c Add support for the uart classes to set their default register shift value. 2015-04-11 17:16:23 +00:00
uart_bus_isa.c
uart_bus_pccard.c Create a generic PCCARD_PNP_INFO from the MODULE_PNP_INFO building 2015-12-11 05:27:56 +00:00
uart_bus_pci.c Add ID for Intel Panther Point KT Controller 2015-09-13 12:08:25 +00:00
uart_bus_puc.c
uart_bus_scc.c
uart_bus.h Restore uart PPS signal capture polarity to its historical norm, and add an 2016-01-12 18:42:00 +00:00
uart_core.c Restore uart PPS signal capture polarity to its historical norm, and add an 2016-01-12 18:42:00 +00:00
uart_cpu_fdt.c Allow us to set the console device tree node. This is needed as not all 2015-09-08 16:06:04 +00:00
uart_cpu_fdt.h Remove the extra copy of uart_fdt_get_clock and uart_fdt_get_shift. While 2015-04-04 09:57:52 +00:00
uart_cpu_pc98.c
uart_cpu_powerpc.c
uart_cpu_sparc64.c
uart_cpu_x86.c
uart_cpu.h Add support for the uart classes to set their default register shift value. 2015-04-11 17:16:23 +00:00
uart_dbg.c
uart_dev_imx.c Add support for the uart classes to set their default register shift value. 2015-04-11 17:16:23 +00:00
uart_dev_imx.h Remove a duplicate definition. 2015-12-05 15:09:19 +00:00
uart_dev_lpc.c Add support for the uart classes to set their default register shift value. 2015-04-11 17:16:23 +00:00
uart_dev_msm.c Add support for the uart classes to set their default register shift value. 2015-04-11 17:16:23 +00:00
uart_dev_msm.h
uart_dev_ns8250.c Restore uart PPS signal capture polarity to its historical norm, and add an 2016-01-12 18:42:00 +00:00
uart_dev_ns8250.h
uart_dev_pl011.c Add support for the uart classes to set their default register shift value. 2015-04-11 17:16:23 +00:00
uart_dev_quicc.c Add support for the uart classes to set their default register shift value. 2015-04-11 17:16:23 +00:00
uart_dev_sab82532.c Add support for the uart classes to set their default register shift value. 2015-04-11 17:16:23 +00:00
uart_dev_ti8250.c Switch TI platform support code from using FreeBSD's custom-baked DTS 2015-05-22 03:16:18 +00:00
uart_dev_z8530.c Add support for the uart classes to set their default register shift value. 2015-04-11 17:16:23 +00:00
uart_if.m
uart_kbd_sun_tables.h
uart_kbd_sun.c
uart_kbd_sun.h
uart_ppstypes.h Restore uart PPS signal capture polarity to its historical norm, and add an 2016-01-12 18:42:00 +00:00
uart_subr.c Move the uart_class definitions and fdt compat data into the individual 2015-03-07 15:24:15 +00:00
uart_tty.c Provide the tty-layer mutex when initializing the pps api. This allows 2015-08-08 20:11:47 +00:00
uart.h Move the uart_class definitions and fdt compat data into the individual 2015-03-07 15:24:15 +00:00