Subject: Re: Vaxstation Turbochannel
To: Roger Ivie <rivie@ridgenet.net>
From: Blaz Antonic <blaz.antonic@siol.net>
List: port-vax
Date: 11/14/2004 20:43:42
Hello,

> There is a register somewhere on the motherboard that has a bit which
> indicates whether the TC adapter is installed. If you access the adapter
> address space while there is no adapter, the system will hang. This
> might be important for probing the system at boot time.

I seem to recall doing examine from >>> prompt to address space of
adapter (CSR and ROM to be more precise) on 4000/90 and it didn't hang
on me ? 

Can somebody pelase verify that (i'm not dismantling everything again
just to confirm that) ? At >>> prompt enter tehse commands:

>>> e 30000000

>>> e 35800000

>>> e 36800000

and let me know whether your 4000/60/9x hangs.
 
> I do not understand this paragraph; could you try again?

This might be option specific, as you pointed out. Each TC option has
its memory space divided into regions, PMAZ for example has 4 of those,
one for 53C94, DMA address register, SRAM buffer and onboard ROM. reads
to addresses where this particular option resides returned result in the
following form:

0xFFFFccxx where 0xFFFF is just that, cc = byte value increasing by 1
after each consecutive addresses and starting at 0 for each of
abovementioend regions, and xx = data from the option, its ROM or NCR
registers at the very least). Ehh, just disregard this :-)

> - There's a CSR.

At 0x36800000 ? Anything you can remember with regards to bitfields of
CSR would be invaluable. Judging by what i see it is only 24 bits wide,
and with incomplete address decoding (so it show up at higher addresses
too).

> - There's some space for the ROM

At 0x36000000.

> - There's some space for the scatter/gather RAM
> - There's some diagnostic space that allows checking of the various
>   portions of the adapter; you can verify the scatter/gather map
>   works, light off test DMAs, and put test patterns on the data bus
>   all the way out the TURBOchannel connector.

0x34000000, 0x35000000 and 0x35800000 ? These are the three address
ranges unidentified so far that are referenced by TCA self-test/utility
functions. Now which one is which ...

Do offsets of 0xd000, 0xd100, 0xd108, 0xd300, 0xd340, 0xd544, 0xda0c,
0xea0c, 0xea2c and 0x20000 from any of those base addresses ring a bell
? Could these be the "diagnostic space" you mentioned ? I don't get any
meaningful values at these offsets from any of known TCA address ranges,
maybe they're write-only ?
 
> When you access the TURBOchannel option, everything you see is what
> is given to you by the option.

I figured as much. Simple devices (like dumb framebuffers) should be
trivial to support with power-on defaults i presume. Everything else
will require some tinkering.
 
> - DMA should not be performed on the VAXstation 4000/60. There are not
>   enough write buffers in the S-chip on the motherboard and it will hang
>   if there are simultaneous outstanding writes by the CPU, the
>   motherboard SCSI, the Ethernet, AND the TURBOchannel option.

Does this mean TC support for these machines is out of the question ?
Short of 2nd framebuffer i suppose nobody would want their option
crawling at snail's pace.
 
> I'm sorry to say that I don't have any documentation on the option
> anymore. However, I designed the thing so I know basically how it
> works; it's been many years, though, so I don't recall all the details.

Anything else you can remember would be great :-) 

Blaz Antonic
-- 
Hi! I'm a signature virus!
Copy me into your signature to help me spread!