diff options
author | Ahmad Fatoum <a.fatoum@pengutronix.de> | 2019-12-04 13:56:59 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-12-09 11:37:35 +0100 |
commit | 5451508c4ff5d8f1d0c115963508b2ca7120141a (patch) | |
tree | 77881a6b10a15e3f27e4ba30a59e6f41c6f2d9ef /commands | |
parent | e28d922e5a9330cf02bd97900f3e856695f871d6 (diff) | |
download | barebox-5451508c4ff5d8f1d0c115963508b2ca7120141a.tar.gz barebox-5451508c4ff5d8f1d0c115963508b2ca7120141a.tar.xz |
serial: add support for PCI NS16550 UARTs
This ports over the Linux v5.4 8250_pci driver. Unlike Linux, the
barebox ns16550 implementation provides less hooks for covering all the
quirky behavior of all the different 8250-"compatible" hardware blocks.
The barebox driver matches against all serial port the Linux driver does,
but for hardware with quirks that can't be expressed in the current barebox
n16550 API, the probe fails with -ENOSYS and an appropriate message
telling that the quirk handling is missing. This should make future
extension of the driver straight-forward.
Unlike the kernel variant of the driver, most ->exit quirk callbacks can
be dropped in barebox as they often disable IRQs, which we do in the
->init anyway.
This was tested with the EFI PCI driver on qemu with the options:
-device pci-serial,chardev=cdev0 -chardev file,id=cdev0,path=COM
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'commands')
0 files changed, 0 insertions, 0 deletions