patch question - brainboxes UC260 card detection support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

based upon discussion with Andy few days ago, when testing patches
to fix multiport serial card fixes + brainboxes 4100 detection support
I created experimental patch to add another brainboxes card detection
(this one has 4 serial ports, no parport, so I added it to 8250_pci.c)

here's lspci output:

03:01.0 Multiport serial controller: Brain Boxes Device 0d21 (rev 01)
	Subsystem: Brain Boxes Device 0633
	Flags: medium devsel, IRQ 11
	Memory at febffc00 (32-bit, non-prefetchable) [size=128]
	I/O ports at ec00 [size=128]
	I/O ports at e880 [size=64]
	I/O ports at e800 [size=16]
	Memory at febff800 (32-bit, non-prefetchable) [size=64]
	Memory at febff400 (32-bit, non-prefetchable) [size=16]
	Capabilities: [40] Power Management version 2
00: 5a 13 21 0d 0b 00 10 02 01 00 02 07 00 00 00 00
10: 00 fc bf fe 01 ec 00 00 81 e8 00 00 01 e8 00 00
20: 00 f8 bf fe 00 f4 bf fe 00 00 00 00 5a 13 33 06
30: 00 00 00 00 40 00 00 00 00 00 00 00 0b 01 00 00
40: 01 00 22 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

manual card setup is possible as follows:

/bin/setserial /dev/ttyS2 port 0xE880 irq 11 spd_normal skip_test autoconfig
/bin/setserial /dev/ttyS3 port 0xE888 irq 11 spd_normal skip_test autoconfig
/bin/setserial /dev/ttyS4 port 0xE890 irq 11 spd_normal skip_test autoconfig
/bin/setserial /dev/ttyS5 port 0xE898 irq 11 spd_normal skip_test autoconfig

here's my patch:

diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c
index 54adf8d..b654bc0 100644
--- a/drivers/tty/serial/8250/8250_pci.c
+++ b/drivers/tty/serial/8250/8250_pci.c
@@ -1734,7 +1734,9 @@ static int pci_eg20t_init(struct pci_dev *dev)
 #define PCI_DEVICE_ID_ACCESIO_PCIE_COM_8SM	0x10E9
 #define PCI_DEVICE_ID_ACCESIO_PCIE_ICM_4SM	0x11D8
 
-
+#define PCI_VENDOR_ID_BRAINBOXES		0x135A
+#define PCI_DEVICE_ID_BRAINBOXES_UC260_1	0x0D21
+#define PCI_DEVICE_ID_BRAINBOXES_UC260_2	0x0E34
 
 /* Unknown vendors/cards - this should not be in linux/pci_ids.h */
 #define PCI_SUBDEVICE_ID_UNKNOWN_0x1584	0x1584
@@ -4699,6 +4707,15 @@ static SIMPLE_DEV_PM_OPS(pciserial_pm_ops, pciserial_suspend_one,
 		PCI_ANY_ID, PCI_ANY_ID, 0, 0,    /* 135a.0dc0 */
 		pbn_b2_4_115200 },
 	/*
+	 * BrainBoxes UC260
+	*/
+	{	PCI_VENDOR_ID_BRAINBOXES, PCI_DEVICE_ID_BRAINBOXES_UC260_1,
+		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
+		pbn_b2_4_115200 },
+	{	PCI_VENDOR_ID_BRAINBOXES, PCI_DEVICE_ID_BRAINBOXES_UC260_2,
+		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
+		pbn_b2_4_115200 },
+	/*
 	 * Perle PCI-RAS cards
 	 */
 	{       PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9030,

(tested on latest head with Andy's multiport fixes applied)

the problem is, it doesn't work. One thing I'm not sure and I'd like to
ask is how do I find out which FL_BASE value should I use? I tried FL_BASE0
and FL_BASE2, but instead of trying all possible values, I though it'd be better
to actually KNOW what should go there and why..

One more thing to note, the card only works for me (using setserial manual
setup) when I disable APIC.. this is probably worth some investigation as well..

If somebody would give me some guidance, I'd be grateful

thanks!

nik


-- 
-------------------------------------
Ing. Nikola CIPRICH
LinuxBox.cz, s.r.o.
28. rijna 168, 709 00 Ostrava

tel.:   +420 591 166 214
fax:    +420 596 621 273
mobil:  +420 777 093 799

www.linuxbox.cz

mobil servis: +420 737 238 656
email servis: servis@xxxxxxxxxxx
-------------------------------------
--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux