Subject: Re: High serial port (output) speeds
To: None <port-sparc@netbsd.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: port-sparc
Date: 10/23/1999 00:51:31
>>> I think I know why the zs chips are normally run with a X16 clock
>>> divisor.  But is there any reason why they shouldn't run X1 if
>>> userland requests a baudrate that can be achieved that way but not
>>> with X16?
>> In a quiet environment with good cables and UARTs and transceivers
>> it shouldn't really matter - but [...if not...errors...]
> So, is it possible to include it as an option, e.g. only enable the
> patch for speeds above 38400 baud?

As I thought my text made clear - and the comments in my code surely
did - what my patch did was use X16 whenever the requested baud rate
was achievable using X16.  Only when userland requested something that
X16 couldn't do did it go to using X1.  (This includes things like
asking for speeds between 9600 and 10240; X16 can do both of those but
not anything in between - and at X1 there are 15 intermediate speeds
possible; if userland requests one of them, why not go to X1 and do it?)

> BTW, is it possible to run the zs at 57600 or 2x57600 baud in order
> to support common modems (multiples of 38400 are not sufficient).

With X16 divisor, nothing between 51200 and 76800 is possible.
With X1 divisor, those numbers change to 57153.488372+ and 58514.2857+.

WRT 115200, X16 can't do it at all (76800 is as fast as it can go); X1
brackets it with 111709.09+ and 117028.57+.

Of course, all of this is predicated on the Sun PCLK frequency of
4.9152MHz.  The Z8530 can, I imagine, do either speed without any
trouble at all if you feed it an appropriate clock frequency.

> Getting 57600 baud with a reasonably low error rate would already be
> a big win in connection with modems or external ISDN adaptors.

Handling input at 57600 would be nontrivial even if the hardware had no
problems achieving the baud rate. :-/

					der Mouse

			       mouse@rodents.montreal.qc.ca
		     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B