Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1393157

Re: [PATCH] usb: serial: ti_usb_3410_5052: add MOXA UPORT 11x0 support

From Johan Hovold <johan@kernel.org>
Newsgroups linux.kernel
Subject Re: [PATCH] usb: serial: ti_usb_3410_5052: add MOXA UPORT 11x0 support
Date 2016-05-03 10:20 +0200
Message-ID <ruDIL-4pf-19@gated-at.bofh.it> (permalink)
References <ruqVd-dJ-49@gated-at.bofh.it> <ruqVd-dJ-47@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Mon, May 02, 2016 at 08:37:15PM +0200, Mathieu OTHACEHE wrote:
> 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 ?

No, I was trying to say that the we should not attempt to load a
firmware on the "ti_usb-v%04x-p%04x.fw" format before loading the moxa
firmware.

I guess the moxa firmware names have been chosen by Moxa and it might be
confusing if we renamed them, but that could be an option too.

> > 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.

I must have messed something up in my test, as now 9600 seems to work.

> 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 ?

No, that's just integer-division with rounding. Remember that the
divisions above are integer divisions so the results are actually 96 and
8 as expected.

Thanks,
Johan

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH] usb: serial: ti_usb_3410_5052: add MOXA UPORT 11x0 support Mathieu OTHACEHE <m.othacehe@gmail.com> - 2016-05-02 20:40 +0200
  Re: [PATCH] usb: serial: ti_usb_3410_5052: add MOXA UPORT 11x0  support Johan Hovold <johan@kernel.org> - 2016-05-03 10:20 +0200
    Re: [PATCH] usb: serial: ti_usb_3410_5052: add MOXA UPORT 11x0 support Mathieu OTHACEHE <m.othacehe@gmail.com> - 2016-05-03 13:50 +0200
      Re: [PATCH] usb: serial: ti_usb_3410_5052: add MOXA UPORT 11x0  support Johan Hovold <johan@kernel.org> - 2016-05-04 09:50 +0200

csiph-web