Any read materials to understand uart device driver architecture in FreeBSD.
Rajesh Kumar
rajfbsd at gmail.com
Fri Jul 13 08:57:28 UTC 2018
Hi,
I am trying to understand the uart device drivers architecture in FreeBSD.
I see the following set of file in sys/dev/uart.
a) uart_bus_xxxx -> one file each for acpi, pci, isa bus etc.,
b) uart_core - uart common routines
c) uart_cpu_xxxx -> one file each for x86, powerpc etc.,
d) uart_dev_xxxx -> I assume this is one file each for seperate uart IP's.
e) some other files.
Questions :
a) Is there any good read materials to understand the uart driver
architecutre (from code perspective) in FreeBSD?
b) If I need to write a new uart driver for a uart IP, what are the things
to do? I assume i need to have a seperate uart_dev_* file and need to add
that device ID in appropriate uart_bus_* file? what other things I need to
take care?
c) In uart_bus_acpi.c and uart_bus_isa.c, I see the definitions of
acpi_ns8250_ids and isa_ns8250_ids list. Where are those ID's derived
from? I understand PNP ID, ACPI ID and PCI Vendor and Device ID, but not
sure about those above mentioned IDs?
Thanks,
Rajesh.
More information about the freebsd-drivers
mailing list