Subject: Re: Utility chip sio's on 4xx (more stories)
To: Michael Smith <firstname.lastname@example.org>
From: Jason Thorpe <email@example.com>
Date: 03/19/1997 03:55:32
On Wed, 19 Mar 1997 18:49:13 +1030 (CST)
Michael Smith <firstname.lastname@example.org> wrote:
> - There are 4 sio ports in the 'utility chip'.
> 0 : apollo keyboard port
> 1 : disabled in HP mode in favour of the onboard dca port
> 2 : goes to 232 port
> 3 : goes to 232 port
...Okay, I've found some of that info I was hunting for...
You are correct in your assessment, as far as I can tell. What
actually happens here:
0 - Apollo keyboard port
1 - first serial port (domain mode) or dca at scode 9 (hpux mode)
2 - second serial port
3 - third serial port
to access ports 2 and 3, you must have the special Apollo break-out
cable plugged into the db25 on the back of the machine (geez, I forget,
is the 425 a db9 or a db25?)
Each of the serial ports (including keyboard port) is software
compatible with the NS16550 (none are compatible with the scn2681
found on Real Apollos).
The 4 ports live on the "Frodo" utility chip ... The offset of this chip,
from the start of Internal I/O space is 0x0001c000.
>From that chip base, there are the following offsets:
0 - 0x00000000
1 - 0x00000020
2 - 0x00000040
3 - 0x00000060
It also appears as if ports 2 and 3 are accessable via select codes
5 and 6 in HP-UX mode ... HOWEVER! It's worth noting that these
serial ports do NOT return an ID during the dio device probe!
Ports 2 and 3 have only a 1 byte FIFO, whereas port 1 has a 16 byte
FIFO. I don't know about the keyboard port.
Only port 1 has CTS/RTS flow control. Port 1 is capable of 460.800k
whereas 2 and 3 are capbable of 38.400k.
The break-out cale is HP Cable K2292. Anyone have a wiring diagram?
> - The register model is that of the 8250, with 8-bits registers on
> longword (32-bit) boundaries.
> - There is a bytewide control register at 0x2021c0e0 which contains
> control bits (interrupt enables perhaps?) for these ports, the 4
> MSB correspond to the 4 ports.
> I still haven't been able to find the absolute base address of the ports;
> if someone with an HP/UX system can send me the /etc/master details for
> the apci driver I'd be very grateful, as I think that's the key.
...the apci driver controls ports 2 and 3. The rs232 driver controls
port 1 (under HP-UX).
So, the Right Way to handle these is probably to write a "utilchip"
driver (a child of intio), which then attaches 3 "apci" devices as children
(could call it "sio", but that is the apollo name for scn2681). A dnkbd
could attach to the first apci, and apcitty instances could attach to the
last two. NOTE! PORT 1 SHOULD NOT BE USED IN HP-UX MODE! (At least,
that's how I understand it...)
Jason R. Thorpe email@example.com
NASA Ames Research Center Home: 408.866.1912
NAS: M/S 258-6 Work: 415.604.0935
Moffett Field, CA 94035 Pager: 415.428.6939