Subject: accessing Grand Central Board Registers 1 and 2
To: None <port-macppc@netbsd.org>
From: Daniel Eggert <danieleggert@mac.com>
List: port-macppc
Date: 03/03/2003 10:33:40
Hi all,

I'm thinking about implementing some code for the extra sensors on the 
Apple Network Server 500 / 700. According to the Hardware Developers 
Notes (see below), I need to read the Board Registers 1 and 2 from the 
Grand Central.

So I figure, I have to read these registers at 0xf3000000 (Grand 
Central base) + 0x1a000 = 0xf301a000 and at 0xf301e000.

I'm quite new to programming NetBSD stuff. Could someone point out to 
me, how I should go about implementing this. Should I write some sort 
of device driver, or should I extend an existing device driver?

Thanks in advance for your help,
Daniel



Extrance from the 'Hardware Developers Notes':


4.1.1.1 Gbus Registers

Board Registers 1 and 2: These are the same locations as in the 9500, 
x1A000 and x1E000, and ETH10BT_Link is not supported. The PCIPRSNT bits 
are unchanged. In the top byte of board register 1 is where the active 
Low Keyswitch bits are located. In the following tables, bits not 
mentioned are the same as in 9500.
Location  Function
b10       not connected
b11       BoxId0=1
b12       BoxId1=0
b13       Keyswitch ServiceL
b14       Keyswitch LockedL
b15       TwoSuppliesH

Board Register 2 is now a 16 bit register. The top byte of this 16 bit 
register is where the Network Server specific server monitoring status 
bits are located. These are all active Low signals.
Location  Function
b8        FanFailDrive
b9        FanFailProcessor
b10       TempFailProcessor
b11       TempWarnProcessor
b12       FailPowSupplyLeft
b13       FailPowSupplyRight
b14       powSupply HotLeft
b15       powSupplyHotRight