kern/134878: [puc] [patch] Add support for Oxford OXPCIe954 and
OXPCIe958 PCI Express chips
David Wood
david at wood2.org.uk
Sat Jun 6 08:50:04 UTC 2009
The following reply was made to PR kern/134878; it has been noted by GNATS.
From: David Wood <david at wood2.org.uk>
To: bug-followup at FreeBSD.org, david at wood2.org.uk, marcel at FreeBSD.org
Cc:
Subject: Re: kern/134878: [puc] [patch] Add support for Oxford OXPCIe954 and OXPCIe958 PCI Express chips
Date: Sat, 6 Jun 2009 09:48:50 +0100
[marcel@ cc'd, as I believe he is maintaining puc(4)]
I have updated the patches to:
* Support the '2 native UARTs' configuration of the OXPCIe952
* Read the number of UARTs from BAR 0 (rid 0x10) offset 0x4, so boards
with slave chips or some UARTs disabled by EEPROM are now fully
supported.
* Print the number of UARTs found.
* Set the enhanced mode bit on each UART, so uart(4) detects them as
16950 and should make use of the deeper FIFOs.
Apart from MSI-X support (which would be nice), all the features of
these chips that are within the ambit of puc(4) rather than uart(4) are
now supported.
The Lindy 51189 board in my Dell PowerEdge 2950 III running 7.2-RELEASE
amd64 with the patch applied appears as:
boot (extract):
puc0: <Oxford Semiconductor OXPCIe954 UARTs> mem
0xd5efc000-0xd5efffff,0xd5c00000-0xd5dfffff,0xd5a00000-0xd5bfffff irq 18
at device 0.0 on pci8
puc0: 4 UARTs detected
puc0: [FILTER]
uart0: <16950 or compatible> on puc0
uart0: [FILTER]
uart1: <16950 or compatible> on puc0
uart1: [FILTER]
uart2: <16950 or compatible> on puc0
uart2: [FILTER]
uart3: <16950 or compatible> on puc0
uart3: [FILTER]
pciconf -lcv (extract):
puc0 at pci0:8:0:0: class=0x070002 card=0xc2081415 chip=0xc2081415
rev=0x00 hdr=0x00
vendor = 'Oxford Semiconductor Ltd'
class = simple comms
subclass = UART
cap 01[40] = powerspec 3 supports D0 D1 D2 D3 current D0
cap 10[70] = PCI-Express 1 endpoint
cap 11[b0] = MSI-X supports 16 messages in map 0x14
Kernel configuration (partial):
include GENERIC
ident MANGANESE
# SERIAL
# Multi-port serial cards
device puc
# Disable sio(4) so that uart(4) is used
nodevice sio
The latest patches are in the same locations as the old ones:
7.2-RELEASE (tested):
http://www.wood2.org.uk/freebsd/oxford-pci-e-pucdata.c.7.2-release.patch
HEAD (untested):
http://www.wood2.org.uk/freebsd/oxford-pci-e-pucdata.c.patch
The old patches are still available - suffix the URLs with .old
With best wishes,
David
--
David Wood
david at wood2.org.uk
More information about the freebsd-bugs
mailing list