opnsense-src/sys/dev/uart
Ian Lepore 2cb357c5cd Handle fifo size differences between older and newer revs of pl011 hardware.
Starting with rev 5 (which is inexplicably indicated by a version number
of '3' in the Peripheral ID register), the pl011 doubled the size of the
rx and tx fifos, to 32 bytes, so read the ID register and set the size
variables in the softc accordingly.

An interesting wrinkle in this otherwise-simple concept is that the
bcm2835 SoC, used in Raspberry Pi systems among others, has the rev 5
pl011 hardware, but somehow also has the older 16-byte fifos.  We check
the FDT data to see if the hardware is part of a bcm283x system and use
the smaller size if so.

Thanks to jchandra@ for pointing out that newer hardware has bigger fifos.
2017-03-08 18:53:32 +00:00
..
uart.h Allow setting access-width for UART registers. 2017-02-27 20:08:42 +00:00
uart_bus.h Allow setting access-width for UART registers. 2017-02-27 20:08:42 +00:00
uart_bus_acpi.c Allow setting access-width for UART registers. 2017-02-27 20:08:42 +00:00
uart_bus_ebus.c Allow setting access-width for UART registers. 2017-02-27 20:08:42 +00:00
uart_bus_fdt.c Allow setting access-width for UART registers. 2017-02-27 20:08:42 +00:00
uart_bus_isa.c Allow setting access-width for UART registers. 2017-02-27 20:08:42 +00:00
uart_bus_pccard.c Allow setting access-width for UART registers. 2017-02-27 20:08:42 +00:00
uart_bus_pci.c Allow setting access-width for UART registers. 2017-02-27 20:08:42 +00:00
uart_bus_puc.c Allow setting access-width for UART registers. 2017-02-27 20:08:42 +00:00
uart_bus_scc.c Allow setting access-width for UART registers. 2017-02-27 20:08:42 +00:00
uart_core.c Allow setting access-width for UART registers. 2017-02-27 20:08:42 +00:00
uart_cpu.h Allow setting access-width for UART registers. 2017-02-27 20:08:42 +00:00
uart_cpu_acpi.h Add support to find the arm64 serial using the ACPI tables. This uses the 2016-11-21 19:26:58 +00:00
uart_cpu_arm64.c Allow setting access-width for UART registers. 2017-02-27 20:08:42 +00:00
uart_cpu_fdt.c Allow setting access-width for UART registers. 2017-02-27 20:08:42 +00:00
uart_cpu_fdt.h Allow setting access-width for UART registers. 2017-02-27 20:08:42 +00:00
uart_cpu_powerpc.c Check all compatible strings on uart devices in powerpc 2016-08-28 21:31:21 +00:00
uart_cpu_sparc64.c
uart_cpu_x86.c
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 sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
uart_dev_msm.c Cleanup unnecessary semicolons from the kernel. 2016-04-10 23:07:00 +00:00
uart_dev_msm.h Add uart driver for Qualcomm MSM 7000/8000 series chips. 2014-10-02 08:12:42 +00:00
uart_dev_ns8250.c Add support for UART found in the Ingenic XBurst system on chips. 2016-11-17 14:41:22 +00:00
uart_dev_ns8250.h Introduce grab and ungrab upcalls. When the kernel desires to grab the 2014-01-19 19:39:13 +00:00
uart_dev_pl011.c Handle fifo size differences between older and newer revs of pl011 hardware. 2017-03-08 18:53:32 +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_snps.c Allow setting access-width for UART registers. 2017-02-27 20:08:42 +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 Introduce grab and ungrab upcalls. When the kernel desires to grab the 2014-01-19 19:39:13 +00:00
uart_kbd_sun.c sys: use our nitems() macro when param.h is available. 2016-04-21 19:40:10 +00:00
uart_kbd_sun.h
uart_kbd_sun_tables.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 Remove slightly used const values that can be replaced with nitems(). 2016-04-21 15:38:28 +00:00
uart_tty.c - Make the code consistent with itself style-wise and bring it closer 2016-01-25 22:58:06 +00:00