freebsd-nq/sys/dev/uart
Marius Strobl 8ff995cc5f o sparc64/isa/isa.c:
- The claim in the commit log of rev. 1.11 of dev/uart/uart_cpu_sparc64.c
    etc. that UARTs are the only relevant ISA devices on sparc64 turned out
    to be false. While there are sparc64 models where UARTs are the only
    devices on the ISA bus there are in fact also low-cost models where all
    devices traditionally found on the EBus are hooked up to the ISA bus.
    There are also models that use a mix between EBus and ISA devices with
    things like an AT keyboard controller and other rather interesting
    devices that we might want to support in the futute hook up to the ISA
    bus.
    In order to not need to add sparc64 specific device_identify methods to
    all of the respective ISA drivers and also not add OFW specific code to
    the common ISA code make the sparc64 ISA bus code fake up PnP devices so
    most ISA drivers probe their devices without further changes.
    Unfortunately Sun doesn't adhere to the ISA bindings defined in IEEE
    1275-1994 for the properties of most of the ISA devices which would
    allow to obtain the vendor and logical IDs from their properties. So we
    we just use a simple table which maps the name properties to PnP IDs.
    This could be done in a more sophisticated way but I courrently don't
    see the need for this. [1]
  - Add the children with fully mapped and specified resources (in the OFW
    sense) similar to what is done in the EBus code for the IRQ resources
    of the children as adjusting the resources and the resource list entries
    respectively in isa_alloc_resource() as done perviously causes trouble
    with drivers which use rman_get_start(), pass-through or allocate and
    release resources multiple times, etc.
    Adjusting the resources might be better off in a bus_activate_resource
    method but the common ISA code currently doesn't allow for an
    isa_activate_resource(). [2]
    With this change:
    - ppbus(4) and lpt(4) attach and work (modulo ECP mode, which requires
      real ISADMA code but it currently only consists of stubs on sparc64).
    - atkbdc(4) and atkbdc(4) attach, no further testing done.
    - fdc(4) itself attaches but causes a hang while attaching fd0 also
      when is DMA disabled, further work in fdc(4) is required here as e.g.
      fd0 uses the address of fd1 on sparc64 (not sure if sparc64 supports
      more than one floppy drive at all).
    All of these drivers previously caused panics in the sparc64 ISA code.
  - Minor changes, e.g. use __FBSDID, remove a dupe word in a comment and
    declare one global variable which isn't used outside of isa.c static.
o dev/uart/uart_cpu_sparc64.c and modules/uart/Makefile:
  - Remove the code for registering the UARTs on the ISA bus from the
    sparc64 uart_cpu_identify() again and rely on probing them via PnP.

Original idea by:	tmm [1]
No objections by:	tmm [1], [2]
2004-11-17 14:44:10 +00:00
..
uart_bus_acpi.c Revert the introduction of iobase in struct uart_bas. Both the SAB82532 2003-09-26 05:14:56 +00:00
uart_bus_ebus.c - Introduce an ofw_bus kobj-interface for retrieving the OFW node and a 2004-08-12 17:41:33 +00:00
uart_bus_isa.c Don't call uart_bus_probe() for non-matching PnP-devices. Trying to probe 2004-08-25 22:15:33 +00:00
uart_bus_pccard.c Fix disordering of pccarddevs.h noticed by bde. Also remove a few 2004-05-27 03:49:45 +00:00
uart_bus_pci.c Sometimes cardbus attachments don't attach, so while we track down 2003-11-28 05:28:29 +00:00
uart_bus_puc.c Revert the introduction of iobase in struct uart_bas. Both the SAB82532 2003-09-26 05:14:56 +00:00
uart_bus.h Add UART_IOCTL_BAUD to allow us to query the hardware about the 2004-11-14 23:12:14 +00:00
uart_core.c Add UART_IOCTL_BAUD to allow us to query the hardware about the 2004-11-14 23:12:14 +00:00
uart_cpu_alpha.c - Introduce an uart_cpu_identify() which is implemented in uart_cpu_<arch>.c 2004-08-14 23:54:27 +00:00
uart_cpu_amd64.c - Introduce an uart_cpu_identify() which is implemented in uart_cpu_<arch>.c 2004-08-14 23:54:27 +00:00
uart_cpu_i386.c - Introduce an uart_cpu_identify() which is implemented in uart_cpu_<arch>.c 2004-08-14 23:54:27 +00:00
uart_cpu_ia64.c - Introduce an uart_cpu_identify() which is implemented in uart_cpu_<arch>.c 2004-08-14 23:54:27 +00:00
uart_cpu_pc98.c - Introduce an uart_cpu_identify() which is implemented in uart_cpu_<arch>.c 2004-08-14 23:54:27 +00:00
uart_cpu_sparc64.c o sparc64/isa/isa.c: 2004-11-17 14:44:10 +00:00
uart_cpu.h - Introduce an uart_cpu_identify() which is implemented in uart_cpu_<arch>.c 2004-08-14 23:54:27 +00:00
uart_dbg.c Add support for uart(4) being a debug port for the GDB backend. 2004-07-10 18:08:38 +00:00
uart_dev_i8251.c Use the new serial port definitions for modemsignals. 2004-06-24 10:07:28 +00:00
uart_dev_i8251.h
uart_dev_ns8250.c Be slightly more paranoid about using the divisor in a division and 2004-11-15 00:00:24 +00:00
uart_dev_ns8250.h
uart_dev_sab82532.c Use the new serial port definitions for modemsignals. 2004-06-24 10:07:28 +00:00
uart_dev_sab82532.h
uart_dev_z8530.c Use the new serial port definitions for modemsignals. 2004-06-24 10:07:28 +00:00
uart_dev_z8530.h
uart_if.m Add locking to the hardware drivers. I intended to figure out more 2003-09-17 01:41:21 +00:00
uart_kbd_sun_tables.h Add a uart attachment/syscons keyboard driver for sun keyboards. In theory 2003-11-11 07:33:24 +00:00
uart_kbd_sun.c Call kbd_attach() only when KBD_INSTALL_CDEV is enabled as the function 2004-04-02 05:59:06 +00:00
uart_kbd_sun.h Add a uart attachment/syscons keyboard driver for sun keyboards. In theory 2003-11-11 07:33:24 +00:00
uart_subr.c Make sure the baudrate specified with the BR tag is somewhat sane. 2004-11-14 21:38:22 +00:00
uart_tty.c Remove asserts which are not correct if the port is a tty. 2004-10-12 21:00:19 +00:00
uart.h Revert the introduction of iobase in struct uart_bas. Both the SAB82532 2003-09-26 05:14:56 +00:00