📄 config.h
字号:
/* * the pseudo-PReP map (optional) maximizes available PCI space and * has the following maximum PCI size limitations: * * PCI_MSTR_IO_SIZE = PCI_MSTR_MEMIO_LOCAL (0xc0000000) * - ISA_MSTR_IO_LOCAL (0x80000000) * - ISA_MSTR_IO_SIZE (0x00010000) * * therefore: the maximum value of PCI_MSTR_IO_SIZE = 0x3fff0000 * * in the PCI memory space: * * (PCI_MSTR_MEMIO_SIZE * + PCI_MSTR_MEM_SIZE) <= VME_A32_MSTR_LOCAL (0xd8000000) * - PCI_MSTR_MEMIO_LOCAL (0xc0000000) * * therefore: the maximum value of * (PCI_MSTR_MEMIO_SIZE + PCI_MSTR_MEM_SIZE) = 0x18000000 */# define PCI_MSTR_IO_SIZE 0x00800000 /* 8MB */# define PCI_MSTR_MEMIO_SIZE 0x00800000 /* 8MB */# define PCI_MSTR_MEM_SIZE 0x01000000 /* 16MB */#else /* * the extended VME map (default) maximizes VME A32 space and has the * following maximum PCI size limitations: * * PCI_MSTR_IO_SIZE = HAWK_SMC_BASE_ADRS (0xfef80000) * - ISA_MSTR_IO_LOCAL (0xfe000000) * - ISA_MSTR_IO_SIZE (0x00010000) * * therefore: the maximum value of PCI_MSTR_IO_SIZE = 0x00f70000 * * in the PCI memory space: * * (PCI_MSTR_MEMIO_SIZE * + PCI_MSTR_MEM_SIZE) = ISA_MSTR_IO_LOCAL (0xfe000000) * - PCI_MSTR_MEMIO_LOCAL (0xfd000000) * * therefore: the maximum value of * (PCI_MSTR_MEMIO_SIZE + PCI_MSTR_MEM_SIZE) = 0x01000000 */# define PCI_MSTR_IO_SIZE 0x00800000 /* 8MB */# define PCI_MSTR_MEMIO_SIZE 0x00800000 /* 8MB */ /* allocate the remaining available space to PCI Memory space */# define PCI_MSTR_MEM_SIZE (ISA_MSTR_IO_LOCAL-PCI_MSTR_MEM_LOCAL)#endif/* * VME A32 master window, * * The standard window size (as shipped) is 128 MB. This is the largest * size recommended for use with TLBs and is the largest size allowed with * extended VME addressing disabled. Use of only BAT registers can increase * the size to 1 GB. For larger sizes, TLBs and BATs must be used together. * * Memory address granularity is 64 KB for TLBs while BATs are restricted to * the following fixed sizes: 128 KB, 256 KB, 512 KB, 1 MB, 2 MB, 4 MB, 8 MB, * 16 MB, 32 MB, 64 MB, 128 MB or 256 MB each. Because there are only 4 BATs * for data address translation, a maximum of 4 x 256 MB = 1 GB can be * mapped this way. * * Memory usage by TLBs is costly. For each 128 MB of memory to be mapped, * 1 MB of memory is used by TLBs. A TLB array for 1 GB would require 8 MB! *//* * VME A32 start address. This value must be larger than the amount of local * DRAM when using the Extended VME address map. */#ifdef EXTENDED_VME# define VME_A32_MSTR_LOCAL 0x10000000 /* 256MB default */#else# define VME_A32_MSTR_LOCAL 0xd8000000 /* After PCI I/O */#endif/* VME Master access windows, set size to 0 to disable a window */#define VME_A32_MSTR_BUS 0x08000000 /* Base VME address */#define VME_A32_MSTR_SIZE 0x08000000 /* VME A24 master window, (16MB) */#define VME_A24_MSTR_BUS 0x00000000 /* Base VME address */#define VME_A24_MSTR_SIZE 0x01000000 /* 0 to 16MB, mult of 64K *//* VME A16 Master window (64KB) */#define VME_A16_MSTR_SIZE 0x00010000 /* either 0 or 64KB, only *//* Setup VME slave windows, set size to 0 to disable a window *//* * VME A32 slave window, default is to map all local memory to VMEbus. * The window size is set to LOCAL_MEM_SIZE. This will reduce the window * size if LOCAL_MEM_SIZE does not reflect the actual amount of memory. * Hence, if all of physical memory is to be addressed in the A32 window, * the actual board memory size should be set in LOCAL_MEM_SIZE. */#define VME_A32_SLV_LOCAL LOCAL_MEM_LOCAL_ADRS#define VME_A32_SLV_BUS VME_A32_MSTR_BUS#define VME_A32_SLV_SIZE (((ULONG)sysPhysMemTop()) - (LOCAL_MEM_LOCAL_ADRS))/* VME A24 slave window, no default support *//* VME A16 slave window, no default support */#ifdef INCLUDE_VME_DMA/* Default DMA operating parameters used by sysVmeDmaInit() *//* * VMEbus data transfer type * - a combination of VMEbus Max. Datawidth (VDM) and * VMEbus Cycle Type (VCT). * * choices: * (DCTL_VDW_8 | DCTL_VCT_SINGLE) * (DCTL_VDW_16 | DCTL_VCT_SINGLE) * (DCTL_VDW_32 | DCTL_VCT_SINGLE) * (DCTL_VDW_64 | DCTL_VCT_SINGLE) * (DCTL_VDW_32 | DCTL_VCT_BLK) ** BLT ** * (DCTL_VDW_64 | DCTL_VCT_BLK) ** MBLT ** */#define VME_DMA_XFER_TYPE (DCTL_VDW_32 | DCTL_VCT_SINGLE)/* * VMEbus Address Space type * choices: * DCTL_VAS_A16 * DCTL_VAS_A24 * DCTL_VAS_A32 */#define VME_DMA_ADDR_SPACE DCTL_VAS_A32/* * Program/Data Address Modifier (AM) Code * choices: * DCTL_PGM_DATA * DCTL_PGM_PRGM */#define VME_DMA_DATA_TYPE DCTL_PGM_DATA/* * Supervisor/User Address Modifier (AM) Code * choices: * DCTL_SUPER_USER * DCTL_SUPER_SUP */#define VME_DMA_USER_TYPE DCTL_SUPER_SUP/* * VMEbus Aligned DMA Transfer Count (in bytes) * - Max. data transferred before giving up the VMEbus * choices: * DGCS_VON_DONE * DGCS_VON_256 * DGCS_VON_512 * DGCS_VON_1024 * DGCS_VON_2048 * DGCS_VON_4096 * DGCS_VON_8192 * DGCS_VON_16384 */#define VME_DMA_MAX_BURST DGCS_VON_DONE/* * Minimum period the DMA is off the VMEbus between tenures (in microseconds) * choices: * DGCS_VOFF_0 * DGCS_VOFF_16 * DGCS_VOFF_32 * DGCS_VOFF_64 * DGCS_VOFF_128 * DGCS_VOFF_256 * DGCS_VOFF_512 * DGCS_VOFF_1024 */#define VME_DMA_MIN_TIME_OFF_BUS DGCS_VOFF_0#endif /* INCLUDE_VME_DMA *//* Include MPIC support by default */#define INCLUDE_MPIC/* * These defines are used to initialize the External Source * Vector/Priority registers in the MPIC. The following can * be defined: interrupt sensitivity, polarity and interrupt priority. * * Note: by default a 0 into the sense bit(22) will setup for level * sensitive, and a 0 into the polarity bit(23) will setup for low * polarity. * * At initialization all external interrupt sources are disabled * except for the 8259 input, which is enabled in the MPIC driver. * * All currently unused interrupt sources are set to a priority of * 0, which will not allow them to be enabled. If any one of these * levels is to be used, the priority value must be changed here. */ #define INIT_EXT_SRC0 ( INT_MASK_BIT | HIGH_POLARITY | LEVEL_SENSE |\ PRIORITY_LVL8 ) /* PIB (8259) */ #define INIT_EXT_SRC1 ( INT_MASK_BIT | PRIORITY_LVL0 ) /* NOT USED */ #define INIT_EXT_SRC2 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL14 ) /* PCI-Ethernet */ #define INIT_EXT_SRC3 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL0 ) /* Hawk WDT1 */ #define INIT_EXT_SRC4 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL0 ) /* Hawk WDT2 */#define INIT_EXT_SRC5 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL10 ) /* Universe LINT0 */ #define INIT_EXT_SRC6 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL0 ) /* Universe LINT1 */ #define INIT_EXT_SRC7 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL0 ) /* Universe LINT2 */ #define INIT_EXT_SRC8 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL0 ) /* Universe LINT3 */ #define INIT_EXT_SRC9 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL7 ) /* PCI PMC1A/PMC2B/PCIXA */#define INIT_EXT_SRC10 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL7 ) /* PCI PMC1B/PMC2C/PCIXB */#define INIT_EXT_SRC11 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL7 ) /* PCI PMC1C/PMC2D/PCIXC */#define INIT_EXT_SRC12 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL7 ) /* PCI PMC1D/PMC2A/PCIXD */ #define INIT_EXT_SRC13 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL0 ) /* LM/SIG Interrupt 0 */ #define INIT_EXT_SRC14 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL15 ) /* LM/SIG int 1/mailbox */ #define INIT_EXT_SRC15 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL0 ) /* NOT USED */ /* BSP-specific includes */#define INCLUDE_PCI_AUTOCONF#include "mv2400.h"#ifdef __cplusplus}#endif#if defined(PRJ_BUILD)#include "prjParams.h"#endif#endif /* INCconfigh */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -