opnsense-src/sys/dev/uart
Marcin Wojtas 63f3afe497 uart_dev_ns8250: Switch ACPI UART subtype for Marvell SoCs
DBG2 ACPI table description [1] specifies three subtypes
related to 16550 UART:
0x0 - 16550 compatible
0x1 - 16550 subset
0x12 - 16550 compatible with parameters defined in Generic Address Structure (GAS)

It turned out however, that the Windows OS treats 0x0 subtype as
legacy x86 UART with 8-bit access. ARM SoCs can use types 0x1 (16550 with
fixed mmio32 access) or 0x12 (16550 with fully respected GAS contents).

Switch Marvell SoCs ACPI UART subtype to 0x1 - thanks to that the same firmware
can run properly with UART output in FreeBSD, Windows 10, Linux and ESXI
hypervisor. Tests showed the older firmware versions that use 0x0
UART subtype in SPCR table continue to display output properly.

[1] https://docs.microsoft.com/en-us/windows-hardware/drivers/bringup/acpi-debug-port-table

Obtained from: Semihalf
Sponsored by: ARM
Differential revision: https://reviews.freebsd.org/D30386
MFC after: 2 weeks

(cherry picked from commit 9cf66a0458)
2022-03-07 12:19:29 +01:00
..
uart.h scc(4)/uart(4): Remove obsolete support for Siemens SAB 82532 2020-12-26 13:48:06 +01:00
uart_bus.h Export a sysctl count of RX FIFO overrun events. 2020-04-13 20:59:09 +00:00
uart_bus_acpi.c uart: clean up empty lines in .c and .h files 2020-09-01 21:50:00 +00:00
uart_bus_fdt.c Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2022-02-08 15:00:55 -05:00
uart_bus_isa.c Regularize my copyright notice 2019-12-04 16:56:11 +00:00
uart_bus_pci.c uart: Add PCI ID for intel 100 Series/C230 Series AMT 2021-09-28 09:56:50 -07:00
uart_bus_puc.c Regularize my copyright notice 2019-12-04 16:56:11 +00:00
uart_bus_scc.c scc(4)/uart(4): Remove obsolete support for Siemens SAB 82532 2020-12-26 13:48:06 +01:00
uart_core.c uart: Remove CTLFLAG_NEEDGIANT from sysctl. 2022-01-08 20:24:01 -05:00
uart_cpu.h
uart_cpu_acpi.c Fix AccessWidth and BitWidth parsing in SPCR table 2020-06-24 12:15:27 +00:00
uart_cpu_acpi.h Use ACPI SPCR on x86 2019-05-23 19:55:53 +00:00
uart_cpu_arm64.c Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2022-02-08 15:00:55 -05:00
uart_cpu_fdt.c Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2022-02-08 15:00:55 -05:00
uart_cpu_fdt.h uart: allow UART_DEV_DBGPORT for fdt consoles 2020-12-02 21:01:52 +00:00
uart_cpu_powerpc.c uart: clean up empty lines in .c and .h files 2020-09-01 21:50:00 +00:00
uart_cpu_x86.c Use ACPI SPCR on x86 2019-05-23 19:55:53 +00:00
uart_dbg.c
uart_dev_imx.c Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2022-02-08 15:00:55 -05:00
uart_dev_imx.h Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2022-02-08 15:00:55 -05:00
uart_dev_lowrisc.c Add support for the UART device found in lowRISC system-on-a-chip. 2018-10-12 15:19:41 +00:00
uart_dev_lowrisc.h Add support for the UART device found in lowRISC system-on-a-chip. 2018-10-12 15:19:41 +00:00
uart_dev_msm.c
uart_dev_msm.h
uart_dev_mu.c uart: clean up empty lines in .c and .h files 2020-09-01 21:50:00 +00:00
uart_dev_mvebu.c uart: clean up empty lines in .c and .h files 2020-09-01 21:50:00 +00:00
uart_dev_ns8250.c uart_dev_ns8250: Switch ACPI UART subtype for Marvell SoCs 2022-03-07 12:19:29 +01:00
uart_dev_ns8250.h uart: clean up empty lines in .c and .h files 2020-09-01 21:50:00 +00:00
uart_dev_pl011.c uart: clean up empty lines in .c and .h files 2020-09-01 21:50:00 +00:00
uart_dev_quicc.c uart: clean up empty lines in .c and .h files 2020-09-01 21:50:00 +00:00
uart_dev_snps.c Remove "all rights reserved" from copyright for the file that Jared McNeill 2019-12-03 21:05:33 +00:00
uart_dev_ti8250.c Move Ti AM335x to dev/extres/clk framework. 2020-07-30 14:45:05 +00:00
uart_dev_z8530.c
uart_if.m
uart_ppstypes.h
uart_subr.c uart: Improve console specification parsing 2021-01-14 17:47:04 -07:00
uart_tty.c Some devices take undesired actions when RTS and DTR are 2019-06-12 18:07:04 +00:00