Port-amiga archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Problems with IOblix serial ports



On Fri, 28 May 2010 18:43:40 +0000 (UTC)
John Klos <john%ziaspace.com@localhost> wrote:

> Thank you, Frank. This didn't work as is; it seems that we want to 
> divide sc_frequency by four, not multiply by four (we set 38400, we get 
> 9600), so changing the *= to /= made it work.

Ah, yes! My fault.


> Next...
> 
> cu: unsupported speed 230400

According to the datasheet you cannot use anything higher than 115200
when the prescaler is enabled. But maybe the table is only valid for
a specific clock rate (7.3728 MHz was mentioned there). I'm not sure...


> reva: {4} cu -f -l /dev/ttyC0 -s 115200
> cu: unsupported speed 115200
> reva: {5} cu -f -l /dev/ttyC0 -s 57600
> cu: unsupported speed 57600

I guess your 24 MHz clock exceeds the 3% tolerance for these speeds.
You can print the calculated deviation (err) in the comspeed() function
of dev/ic/com.c, just before this line:
  if (err > COM_TOLERANCE)

Your last option might be to disable the prescaler...
  CLR(sc->sc_mcr, MCR_PRESCALE);
  CSR_WRITE_1(regsp, COM_REG_MCR, sc->sc_mcr);
...and remove the sc->sc_frequency /= 4 again, and see if there are more
useful baud rates in range.

-- 
Frank Wille


Home | Main Index | Thread Index | Old Index