Messages in this thread | | | Date | Mon, 2 May 2016 20:37:15 +0200 | From | Mathieu OTHACEHE <> | Subject | [PATCH] usb: serial: ti_usb_3410_5052: add MOXA UPORT 11x0 support |
| |
Hi Johan,
Thanks for your review.
> Looks like this code could use a few vid/pid temporaries.
> I'm not sure it makes sense to try to load a "ti_usb-v110a-p1150.fw" > firmware before requesting the moxa firmware. Avoids a confusing:
> usb 1-2.2: Direct firmware load for ti_usb-v110a-p1150.fw failed with error -2
> message too.
I'm not sure to get your point here, shall I rename moxa firmwares in linux-firmware repo to be compliant with ti_usb-v%04x-p%04x.fw format ?
> I did a quick test of the patch using a Moxa 1150-device. Works at > 115200, but communication appeared broken at 9600. Looks like the baud > rate calculations are similar but not identical to what the Moxa driver > does. Is this something you have looked into?
Well, on my moxa 1110 communication is working at 9600, 115200 and other baud rates. However, I think baud rate calculation may be wrong for TI3410 chips.
According to table 5-13 in datasheet http://www.ti.com/lit/ds/symlink/tusb3410.pdf the baud rate calculation formula, is :
baud_rate = 923077 / (desired_baud_rate)
So, we get :
desired_baud = 9600 -> baud_rate = 923077 / 9600 = 96 desired_baud = 115200 -> baud_rate = 923077 / 115200 = 8 ...
In ti_usb_3410_5052 driver, the formula used for 3410 is :
baud_rate = (923077 + desired_baud_rate/2) / desired_baud_rate
so,
desired_baud = 9600 -> baud_rate = (923077 + 9600/2) / 9600 = 97 (!= 96) desired_baud = 115200 -> baud_rate = (923077 + 115200/2) / 115200 = 9 (!= 8)
It seems the formula is wrong but some firmware deal with it anyway. Should I correct the formula or use a quirk for moxa devices ?
Thank you,
Mathieu
| |