Any read materials to understand uart device driver architecture in FreeBSD.

Rajesh Kumar rajfbsd at gmail.com
Fri Jul 13 09:41:33 UTC 2018


Hi blubee,

Thanks for your quick response.

Definitely, these two books are good reads. But, I was looking for some
information regarding the code design from the perspective of existing uart
code base in FreeBSD source (sys/dev/uart), not just generic device driver
concepts and overall system architecture. Anyway, thanks again for your
inputs.

On Fri, Jul 13, 2018 at 2:40 PM blubee blubeeme <gurenchan at gmail.com> wrote:

>
> On Fri, Jul 13, 2018, 16:57 Rajesh Kumar <rajfbsd at gmail.com> wrote:
>
>> 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.
>> _______________________________________________
>> freebsd-drivers at freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-drivers
>> To unsubscribe, send any mail to "freebsd-drivers-unsubscribe at freebsd.org
>> "
>>
>
> Writing drivers: https://nostarch.com/bsddrivers.htm
>
> FreeBSD architecture:
> https://www.amazon.com/Design-Implementation-FreeBSD-Operating-System/dp/0321968972
>
>>


More information about the freebsd-drivers mailing list