Hi Eugeniu, On Wed, Jan 29, 2020 at 5:20 PM Eugeniu Rosca <erosca@xxxxxxxxxxxxxx> wrote: > From: Torii Kenichi <torii.ken1@xxxxxxxxxxxxxx> > > This patch is necessary to use BT module and XM module with DENSO TEN > development board. > > This patch supports ASYNC_SPD_CUST flag by ioctl(TIOCSSERIAL), enables > custom speed setting with setserial(1). > > The custom speed is calculated from uartclk and custom_divisor. > If custom_divisor is zero, custom speed setting is invalid. > > Signed-off-by: Torii Kenichi <torii.ken1@xxxxxxxxxxxxxx> > [erosca: rebase against v5.5] > Signed-off-by: Eugeniu Rosca <erosca@xxxxxxxxxxxxxx> Thanks for your patch! While this seems to work fine[*], I have a few comments/questions: 1. This feature seems to be deprecated: sh-sci e6e68000.serial: setserial sets custom speed on ttySC1. This is deprecated. 2. As the wanted speed is specified as a divider, the resulting speed may be off, cfr. the example for 57600 below. Note that the SCIF device has multiple clock inputs, and can do 57600 perfectly if the right crystal has been fitted. 3. What to do with "[PATCH/RFC] serial: sh-sci: Update uartclk based on selected clock" (https://patchwork.kernel.org/patch/11103703/)? Combined with this, things become pretty complicated and unpredictable, as uartclk now always reflect the frequency of the last used base clock, which was the optimal one for the previously used speed.... I think it would be easier if we just had an API to specify a raw speed. Perhaps that already exists? BTW, what's the speed you need for your BT/XM modules? [*] stty speed 38400 < /dev/ttySC1 followed by setserial /dev/ttySC1 spd_cust divisor 1128 gives 57624 bps on Koelsch. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds