106 lines
4.5 KiB
C
106 lines
4.5 KiB
C
/*++
|
|
|
|
Copyright (c) 2001 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
xpcicfg.h
|
|
|
|
Abstract:
|
|
|
|
This module defines the static PCI configuration for an XBOX.
|
|
|
|
--*/
|
|
|
|
#ifndef _XPCICFG_
|
|
#define _XPCICFG_
|
|
|
|
//
|
|
// Note that the Advanced Programmable Interrupt Controller (APIC) defaults to
|
|
// location 0xFEE00000 and consumes one page. The kernel turns off the APIC,
|
|
// but debugger extensions (VTune) may reenable it.
|
|
//
|
|
|
|
// Bus 0, device 0, function 0.
|
|
#define XPCICFG_HOSTBRIDGE_DEVICE_ID 0
|
|
#define XPCICFG_HOSTBRIDGE_FUNCTION_ID 0
|
|
|
|
// Bus 0, device 1, function 0.
|
|
#define XPCICFG_LPCBRIDGE_DEVICE_ID 1
|
|
#define XPCICFG_LPCBRIDGE_FUNCTION_ID 0
|
|
#define XPCICFG_LPCBRIDGE_IO_REGISTER_BASE_0 0x8000
|
|
#define XPCICFG_LPCBRIDGE_IO_REGISTER_LENGTH_0 0x0100
|
|
|
|
// Bus 0, device 1, function 1.
|
|
#define XPCICFG_SMBUS_DEVICE_ID 1
|
|
#define XPCICFG_SMBUS_FUNCTION_ID 1
|
|
#define XPCICFG_SMBUS_IO_REGISTER_BASE_1 0xC000
|
|
#define XPCICFG_SMBUS_IO_REGISTER_LENGTH_1 0x0010
|
|
#define XPCICFG_SMBUS_IO_REGISTER_BASE_2 0xC200
|
|
#define XPCICFG_SMBUS_IO_REGISTER_LENGTH_2 0x0020
|
|
|
|
// Bus 0, device 2, function 0.
|
|
#define XPCICFG_USB0_DEVICE_ID 2
|
|
#define XPCICFG_USB0_FUNCTION_ID 0
|
|
#define XPCICFG_USB0_IRQ 1
|
|
#define XPCICFG_USB0_MEMORY_REGISTER_BASE_0 0xFED00000
|
|
#define XPCICFG_USB0_MEMORY_REGISTER_LENGTH_0 0x00001000
|
|
|
|
// Bus 0, device 3, function 0.
|
|
#define XPCICFG_USB1_DEVICE_ID 3
|
|
#define XPCICFG_USB1_FUNCTION_ID 0
|
|
#define XPCICFG_USB1_IRQ 9
|
|
#define XPCICFG_USB1_MEMORY_REGISTER_BASE_0 0xFED08000
|
|
#define XPCICFG_USB1_MEMORY_REGISTER_LENGTH_0 0x00001000
|
|
|
|
// Bus 0, device 4, function 0.
|
|
#define XPCICFG_NIC_DEVICE_ID 4
|
|
#define XPCICFG_NIC_FUNCTION_ID 0
|
|
#define XPCICFG_NIC_IRQ 4
|
|
#define XPCICFG_NIC_MEMORY_REGISTER_BASE_0 0xFEF00000
|
|
#define XPCICFG_NIC_MEMORY_REGISTER_LENGTH_0 0x00000400
|
|
#define XPCICFG_NIC_IO_REGISTER_BASE_1 0xE000
|
|
#define XPCICFG_NIC_IO_REGISTER_LENGTH_1 0x0008
|
|
|
|
// Bus 0, device 5, function 0.
|
|
#define XPCICFG_APU_DEVICE_ID 5
|
|
#define XPCICFG_APU_FUNCTION_ID 0
|
|
#define XPCICFG_APU_IRQ 5
|
|
#define XPCICFG_APU_MEMORY_REGISTER_BASE_0 0xFE800000
|
|
#define XPCICFG_APU_MEMORY_REGISTER_LENGTH_0 0x00080000
|
|
|
|
// Bus 0, device 6, function 0.
|
|
#define XPCICFG_ACI_DEVICE_ID 6
|
|
#define XPCICFG_ACI_FUNCTION_ID 0
|
|
#define XPCICFG_ACI_IRQ 6
|
|
#define XPCICFG_ACI_IO_REGISTER_BASE_0 0xD000
|
|
#define XPCICFG_ACI_IO_REGISTER_LENGTH_0 0x0100
|
|
#define XPCICFG_ACI_IO_REGISTER_BASE_1 0xD200
|
|
#define XPCICFG_ACI_IO_REGISTER_LENGTH_1 0x0080
|
|
#define XPCICFG_ACI_MEMORY_REGISTER_BASE_2 0xFEC00000
|
|
#define XPCICFG_ACI_MEMORY_REGISTER_LENGTH_2 0x00001000
|
|
|
|
// Bus 0, device 9, function 0.
|
|
#define XPCICFG_IDE_DEVICE_ID 9
|
|
#define XPCICFG_IDE_FUNCTION_ID 0
|
|
#define XPCICFG_IDE_IRQ 14
|
|
#define XPCICFG_IDE_IO_REGISTER_BASE_4 0xFF60
|
|
#define XPCICFG_IDE_IO_REGISTER_LENGTH_4 0x0010
|
|
|
|
// Bus 0, device 30, function 0.
|
|
#define XPCICFG_AGPBRIDGE_DEVICE_ID 30
|
|
#define XPCICFG_AGPBRIDGE_FUNCTION_ID 0
|
|
|
|
// Bus 1, device 0, device 0.
|
|
#define XPCICFG_GPU_DEVICE_ID 0
|
|
#define XPCICFG_GPU_FUNCTION_ID 0
|
|
#define XPCICFG_GPU_IRQ 3
|
|
#define XPCICFG_GPU_MEMORY_REGISTER_BASE_0 0xFD000000
|
|
#define XPCICFG_GPU_MEMORY_REGISTER_LENGTH_0 0x01000000
|
|
|
|
// Map a device name to PCI slot number
|
|
#define XPCI_SLOT_NUMBER(device) \
|
|
((XPCICFG_##device##_DEVICE_ID) | ((XPCICFG_##device##_FUNCTION_ID) << 5))
|
|
|
|
#endif // XPCICFG
|