109 lines
2.2 KiB
C
109 lines
2.2 KiB
C
/*++
|
|
|
|
Copyright (c) 1995 DeskStation Technology
|
|
|
|
Module Name:
|
|
|
|
platform.h
|
|
|
|
Abstract:
|
|
|
|
This file contains definitions specific to the UNIFLEX motherboard.
|
|
|
|
Author:
|
|
|
|
Michael D. Kinney 1-May-1995
|
|
|
|
Environment:
|
|
|
|
Kernel mode
|
|
|
|
Revision History:
|
|
|
|
|
|
--*/
|
|
|
|
//
|
|
// Define the motherboard types
|
|
//
|
|
|
|
#define MOTHERBOARD_UNKNOWN 0
|
|
#define TREBBIA13 1
|
|
#define TREBBIA20 2
|
|
|
|
//
|
|
// Define the processor module types
|
|
//
|
|
|
|
#define EV5_PROCESSOR_MODULE 0
|
|
#define EV4_PROCESSOR_MODULE 1
|
|
#define R4600_PROCESSOR_MODULE 2
|
|
#define UNKNOWN_PROCESSOR_MODULE 0xffffffff
|
|
|
|
//
|
|
// Define the module chip set revision constants
|
|
//
|
|
|
|
#define EV4_MAX_CHIP_SET_REVISION 1
|
|
#define EV5_MAX_CHIP_SET_REVISION 2
|
|
#define MODULE_CHIP_SET_REVISION_UNKNOWN 0xffffffff
|
|
|
|
//
|
|
// Define the bus types
|
|
//
|
|
|
|
#define UNIFLEX_MACHINE_TYPE_ISA 0
|
|
#define UNIFLEX_MACHINE_TYPE_EISA 1
|
|
|
|
#define MAX_EISA_BUSSES 2
|
|
#define MAX_PCI_BUSSES 2
|
|
#define MAX_DMA_CHANNELS_PER_EISA_BUS 8
|
|
|
|
//
|
|
// Define the maximum number of map registers that can be requested at one time
|
|
// if actual map registers are required for the transfer.
|
|
//
|
|
|
|
#define MAXIMUM_ISA_MAP_REGISTER (0x10000/PAGE_SIZE)
|
|
|
|
#define COPY_BUFFER 0xFFFFFFFF
|
|
|
|
#define NO_SCATTER_GATHER 0x00000001
|
|
|
|
#define NULL_MAP_REGISTER_BASE (PVOID)(0xfffffffe)
|
|
|
|
typedef volatile struct _TRANSLATION_ENTRY {
|
|
PVOID VirtualAddress;
|
|
ULONG PhysicalAddress;
|
|
ULONG Index;
|
|
} TRANSLATION_ENTRY, *PTRANSLATION_ENTRY;
|
|
|
|
//
|
|
// Define the maximum and minimum time increment values in 100ns units.
|
|
//
|
|
// N.B. these values are as close to exact values as possible given the input
|
|
// clock of 1.19318167 hz (14.31818 / 12)
|
|
//
|
|
|
|
#define MAXIMUM_INCREMENT (99968) // Time increment in 100ns units - Approx 10 ms
|
|
#define MINIMUM_INCREMENT (10032) // Time increment in 100ns units - Approx 1 ms
|
|
|
|
//
|
|
// Define clock constants.
|
|
//
|
|
|
|
#define AT_BUS_OSC 14318180 // 14.31818 MHz Crystal
|
|
|
|
//
|
|
// Define UniFlex PCI Bus #0 motherboard device mask.
|
|
//
|
|
|
|
#define TREB13_MOTHERBOARD_PCI_DEVICE_MASK (ULONG)((1<<0x0d) | (1<<0x0f) | (1<<0x10) | (1<<0x11))
|
|
#define TREB20_MOTHERBOARD_PCI_DEVICE_MASK (ULONG)((1<<0x10) | (1<<0x11))
|
|
|
|
//
|
|
// Highest Virtual local PCI Slot is 20 == IDSEL PCI_AD[31]
|
|
//
|
|
|
|
#define PCI_MAX_LOCAL_DEVICE 20
|