Date: Fri, 13 Jul 2018 14:27:14 +0530 From: Rajesh Kumar <rajfbsd@gmail.com> To: freebsd-drivers@freebsd.org Subject: Any read materials to understand uart device driver architecture in FreeBSD. Message-ID: <CAAO%2BANMBNn9bJoYBq28nK-TaHZ05sPkrGfK7HadZSr8jVz6x%2BA@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAAO%2BANMBNn9bJoYBq28nK-TaHZ05sPkrGfK7HadZSr8jVz6x%2BA>