bk://bk.arm.linux.org.uk/linux-2.6-serial dick@com.rmk.(none)[rmk]|ChangeSet|20050319182640|15411 dick # This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2005/03/19 18:26:40+00:00 dick@com.rmk.(none) # [SERIAL] sealevel 8 port RS-232/RS-422/RS-485 board # # Patch from Dick Hollenbeck # # Vendor Sealevel suggested these changes for its new board. Tried # them, they work with the card. Please apply the patch below, which # was made from 2.6.10 but can be applied to 2.6.11.2 without errors. # # include/linux/pci_ids.h # 2005/03/19 18:20:34+00:00 dick@com.rmk.(none) +1 -0 # [PATCH] sealevel 8 port RS-232/RS-422/RS-485 board # # drivers/serial/8250_pci.c # 2005/03/19 18:20:34+00:00 dick@com.rmk.(none) +3 -0 # [PATCH] sealevel 8 port RS-232/RS-422/RS-485 board # # drivers/pci/pci.ids # 2005/03/19 18:20:32+00:00 dick@com.rmk.(none) +1 -0 # [PATCH] sealevel 8 port RS-232/RS-422/RS-485 board # # ChangeSet # 2005/03/19 16:22:50+00:00 afong@org.rmk.(none) # [SERIAL] 8250/sbc8560 bug/fix # # Patch from Amy Fong # # On the sbc8560 platform, changes were introduced as of 2.6.10-rc2 # which caused the sbc8560 to splutter noise all over the serial # console. It seems that ALPHA_KLUDGE_MCR was mulitply and differently # defined in both drivers/serial/8250.h and include/linux/serialP.h # # Below is a patch that clones the definition of ALPHA_KLUDGE_MCR from # serialP.h, it has been tested and works on the sbc8560. # # drivers/serial/8250.h # 2005/03/19 16:17:38+00:00 afong@org.rmk.(none) +7 -0 # [PATCH] 8250/sbc8560 bug/fix # # ChangeSet # 2005/03/19 16:11:36+00:00 alex.williamson@com.rmk.(none) # [SERIAL] new hp diva console port # # Patch from Alex Williamson # # The patch below adds IDs and setup for a new PCI Diva console port. # This device provides a single UART described by PCI Bar 1. ID already # submitted to pciids.sf.net. # # Signed-off-by: Alex Williamson # # include/linux/pci_ids.h # 2005/03/19 16:06:09+00:00 alex.williamson@com.rmk.(none) +1 -0 # [PATCH] new hp diva console port # # drivers/serial/8250_pci.c # 2005/03/19 16:06:08+00:00 alex.williamson@com.rmk.(none) +3 -0 # [PATCH] new hp diva console port # # drivers/pci/pci.ids # 2005/03/19 16:06:07+00:00 alex.williamson@com.rmk.(none) +1 -0 # [PATCH] new hp diva console port # diff -Nru a/drivers/pci/pci.ids b/drivers/pci/pci.ids --- a/drivers/pci/pci.ids 2005-03-20 16:41:33 -08:00 +++ b/drivers/pci/pci.ids 2005-03-20 16:41:33 -08:00 @@ -1812,6 +1812,7 @@ 103c 1226 Keystone SP2 103c 1227 Powerbar SP2 103c 1282 Everest SP2 + 103c 1301 Diva RMP3 1054 PCI Local Bus Adapter 1064 79C970 PCnet Ethernet Controller 108b Visualize FXe @@ -6304,6 +6305,7 @@ 7401 Four Port RS-232 Interface 7402 Four Port RS-422/485 Interface 7801 Eight Port RS-232 Interface + 7804 Eight Port RS-232/422/485 Interface 8001 8001 Digital I/O Adapter 135f I-Data International A-S 1360 Meinberg Funkuhren diff -Nru a/drivers/serial/8250.h b/drivers/serial/8250.h --- a/drivers/serial/8250.h 2005-03-20 16:41:33 -08:00 +++ b/drivers/serial/8250.h 2005-03-20 16:41:33 -08:00 @@ -80,6 +80,13 @@ * is cleared, the machine locks up with endless interrupts. */ #define ALPHA_KLUDGE_MCR (UART_MCR_OUT2 | UART_MCR_OUT1) +#elif defined(CONFIG_SBC8560) +/* + * WindRiver did something similarly broken on their SBC8560 board. The + * UART tristates its IRQ output while OUT2 is clear, but they pulled + * the interrupt line _up_ instead of down, so if we register the IRQ + * while the UART is in that state, we die in an IRQ storm. */ +#define ALPHA_KLUDGE_MCR (UART_MCR_OUT2) #else #define ALPHA_KLUDGE_MCR 0 #endif diff -Nru a/drivers/serial/8250_pci.c b/drivers/serial/8250_pci.c --- a/drivers/serial/8250_pci.c 2005-03-20 16:41:33 -08:00 +++ b/drivers/serial/8250_pci.c 2005-03-20 16:41:33 -08:00 @@ -1877,6 +1877,9 @@ { PCI_VENDOR_ID_SEALEVEL, PCI_DEVICE_ID_SEALEVEL_COMM8, PCI_ANY_ID, PCI_ANY_ID, 0, 0, pbn_b2_8_115200 }, + { PCI_VENDOR_ID_SEALEVEL, PCI_DEVICE_ID_SEALEVEL_UCOMM8, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, + pbn_b2_8_115200 }, { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_GTEK_SERIAL2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, @@ -2184,6 +2187,9 @@ /* * HP Diva card */ + { PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_DIVA, + PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_DIVA_RMP3, 0, 0, + pbn_b1_1_115200 }, { PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_DIVA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, pbn_b0_5_115200 }, diff -Nru a/include/linux/pci_ids.h b/include/linux/pci_ids.h --- a/include/linux/pci_ids.h 2005-03-20 16:41:33 -08:00 +++ b/include/linux/pci_ids.h 2005-03-20 16:41:33 -08:00 @@ -709,6 +709,7 @@ #define PCI_DEVICE_ID_HP_SX1000_IOC 0x127c #define PCI_DEVICE_ID_HP_DIVA_EVEREST 0x1282 #define PCI_DEVICE_ID_HP_DIVA_AUX 0x1290 +#define PCI_DEVICE_ID_HP_DIVA_RMP3 0x1301 #define PCI_DEVICE_ID_HP_CISSA 0x3220 #define PCI_DEVICE_ID_HP_CISSB 0x3230 #define PCI_DEVICE_ID_HP_ZX2_IOC 0x4031 @@ -1908,6 +1909,7 @@ #define PCI_DEVICE_ID_SEALEVEL_UCOMM232 0x7202 #define PCI_DEVICE_ID_SEALEVEL_COMM4 0x7401 #define PCI_DEVICE_ID_SEALEVEL_COMM8 0x7801 +#define PCI_DEVICE_ID_SEALEVEL_UCOMM8 0x7804 #define PCI_VENDOR_ID_HYPERCOPE 0x1365 #define PCI_DEVICE_ID_HYPERCOPE_PLX 0x9050