BCSP inti support.
diff --git a/tools/hciattach.c b/tools/hciattach.c
index 9668460..b24f33a 100644
--- a/tools/hciattach.c
+++ b/tools/hciattach.c
@@ -228,6 +228,26 @@
 	return 0;
 }
 
+/*
+ * BCSP specific initialization
+ */
+static int bcsp(int fd, struct uart_t *u, struct termios *ti)
+{
+	ti->c_cflag &= ~CBAUD;
+	ti->c_cflag |= B115200 | CS8 | CLOCAL | PARENB;
+	ti->c_cflag &= ~(PARODD|CRTSCTS);
+
+	ti->c_oflag = 0;   /* turn off output processing */
+	ti->c_lflag = 0;   /* no local modes */
+
+	if (tcsetattr(fd, TCSANOW, ti) < 0) {
+		perror("Can't set port settings");
+		return -1;
+	}
+
+	return 0;
+}
+
 /* 
  * CSR specific initialization 
  * Inspired strongly by code in OpenBT and experimentations with Brainboxes
@@ -525,30 +545,32 @@
 }
 
 struct uart_t uart[] = {
-	{ "any",      0x0000, 0x0000, HCI_UART_H4, 115200, FLOW_CTL, NULL },
-	{ "ericsson", 0x0000, 0x0000, HCI_UART_H4, 115200, FLOW_CTL, ericsson },
-	{ "digi",     0x0000, 0x0000, HCI_UART_H4, 115200, FLOW_CTL, digi },
+	{ "any",      0x0000, 0x0000, HCI_UART_H4,   115200, FLOW_CTL, NULL },
+	{ "ericsson", 0x0000, 0x0000, HCI_UART_H4,   115200, FLOW_CTL, ericsson },
+	{ "digi",     0x0000, 0x0000, HCI_UART_H4,   115200, FLOW_CTL, digi },
+
+	{ "bcsp",     0x0000, 0x0000, HCI_UART_BCSP, 115200, 0,        bcsp },
 
 	/* Xircom PCMCIA cards: Credit Card Adapter and Real Port Adapter */
-	{ "xircom",   0x0105, 0x080a, HCI_UART_H4, 115200, FLOW_CTL, NULL },
+	{ "xircom",   0x0105, 0x080a, HCI_UART_H4,   115200, FLOW_CTL, NULL },
 
 	/* CSR Casira serial adapter or BrainBoxes serial dongle (BL642) */
-	{ "csr",      0x0000, 0x0000, HCI_UART_H4, 115200, FLOW_CTL, csr },
+	{ "csr",      0x0000, 0x0000, HCI_UART_H4,   115200, FLOW_CTL, csr },
 
 	/* BrainBoxes PCMCIA card (BL620) */
-	{ "bboxes",   0x0160, 0x0002, HCI_UART_H4, 460800, FLOW_CTL, csr },
+	{ "bboxes",   0x0160, 0x0002, HCI_UART_H4,   460800, FLOW_CTL, csr },
 
 	/* Silicon Wave kits */
-	{ "swave",    0x0000, 0x0000, HCI_UART_H4, 115200, FLOW_CTL, swave },
+	{ "swave",    0x0000, 0x0000, HCI_UART_H4,   115200, FLOW_CTL, swave },
 
 	/* Sphinx Electronics PICO Card */
-	{ "picocard", 0x025e, 0x1000, HCI_UART_H4, 115200, FLOW_CTL, NULL },
+	{ "picocard", 0x025e, 0x1000, HCI_UART_H4,   115200, FLOW_CTL, NULL },
 
 	/* Inventel BlueBird Module */
-	{ "inventel", 0x0000, 0x0000, HCI_UART_H4, 115200, FLOW_CTL, NULL },
+	{ "inventel", 0x0000, 0x0000, HCI_UART_H4,   115200, FLOW_CTL, NULL },
 
 	/* COM One Platinium Bluetooth PC Card */
-	{ "comone",   0xffff, 0x0101, HCI_UART_H4, 115200, FLOW_CTL, NULL },
+	{ "comone",   0xffff, 0x0101, HCI_UART_BCSP, 115200, 0,        bcsp },
 
         { NULL, 0 }
 };