Hi,
  The attached (mostly trivial) patches adds support for the Evolution
Scorpion Robots. The patch is against 2.6.20. I tried to follow patch
style in Documentation/SubmittingPatches, but to be honost I can't
figure most of it out (guess I'm stupid, but that's okay).
  Evolution Robotics supplies a patch against 2.6.8 with their
software. My patch is based on their work, so I don't know if I can
sign it off, or if you need some Evolution people to do this (which
might be hard).
  The patch adds device ID's for some robots which is trivial. The
only non-trivial part of the patch is the part that changes the baud
rate of the device if it is an Evolution product. I don't know if this
is done in the correct place according to the flow of the program. (As
you can tell, I'm not really a kernel hacker...)

I'm sorry if I don't provide everything you usually require, but as I
said, I'm not really a kernel guy :-)

Søren
--- drivers/usb/serial/ftdi_sio.c	2007-04-12 19:16:12.000000000 +0200
+++ /home/sh/Desktop/ERSP/ftdi_sio.c	2007-08-08 08:46:52.000000000 +0200
@@ -488,6 +488,8 @@ static struct usb_device_id id_table_com
 	{ USB_DEVICE(FTDI_VID, FTDI_TERATRONIK_VCP_PID) },
 	{ USB_DEVICE(FTDI_VID, FTDI_TERATRONIK_D2XX_PID) },
 	{ USB_DEVICE(EVOLUTION_VID, EVOLUTION_ER1_PID) },
+        { USB_DEVICE(EVOLUTION_VID, EVO_HYBRID_PID) },
+        { USB_DEVICE(EVOLUTION_VID, EVO_RCM4_PID) },
 	{ USB_DEVICE(FTDI_VID, FTDI_ARTEMIS_PID) },
 	{ USB_DEVICE(FTDI_VID, FTDI_ATIK_ATK16_PID) },
 	{ USB_DEVICE(FTDI_VID, FTDI_ATIK_ATK16C_PID) },
@@ -819,6 +821,12 @@ static __u32 get_ftdi_divisor(struct usb
 
 	baud = tty_get_baud_rate(port->tty);
 	dbg("%s - tty_get_baud_rate reports speed %d", __FUNCTION__, baud);
+ 	/* convert baud rate from 230K to 250K for RCM device */
+    	if ( baud == 230400 && port->serial->dev->descriptor.idVendor == EVOLUTION_VID )
+    	  {
+	    baud = 250000;
+            dbg("%s: bumped magical 230400 baud to 2.5kb", __FUNCTION__);
+    	  }
 
 	/* 2. Observe async-compatible custom_divisor hack, update baudrate if needed */
 
--- drivers/usb/serial/ftdi_sio.h	2007-04-12 19:16:12.000000000 +0200
+++ /home/sh/Desktop/ERSP/ftdi_sio.h	2007-08-08 08:46:52.000000000 +0200
@@ -419,6 +419,9 @@
  */
 #define EVOLUTION_VID		0xDEEE	/* Vendor ID */
 #define EVOLUTION_ER1_PID	0x0300	/* ER1 Control Module */
+#define EVO_8U232AM_PID 0x02FF /* Evolution robotics RCM2 (FT232AM)*/
+#define EVO_HYBRID_PID  0x0302 /* Evolution robotics RCM4 PID (FT232BM)*/
+#define EVO_RCM4_PID    0x0303 /* Evolution robotics RCM4 PID */
 
 /* Pyramid Computer GmbH */
 #define FTDI_PYRAMID_PID	0xE6C8	/* Pyramid Appliance Display */
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to