⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wrppmc74xx.h

📁 Vxworks的bsp软件开发包(基于wrPpmc74xx)
💻 H
字号:
/* wrPpmc74xx.h - board header *//* Copyright 1984-2002 Wind River Systems, Inc. *//*modification history--------------------01e,16may02,gjc  Adding AUX Timer01d,04feb02,g_h  Move L2 cache macros to sysCache.h01c,23oct01,g_h  Cleaning for T2.201b,16sep01,dat  Use of WRS_ASM macro01a,12may01,g_h  create from ppmc7xx.h rev 01b*//*This file contains I/O addresses and related constants for the board.*/#ifndef __INCwrPpmc74xxh#define __INCwrPpmc74xxh#ifdef __cplusplusextern "C" {#endif/* Local I/O address map */#define SDRAM_BASE_ADS          0x00000000#define USR_LED_BASE_ADRS       0x78000000#define USR_LED_REG_SIZE        0x00001000#define NS16550_BASE_ADRS       0x7C000000#define NS16550_REG_SIZE        0x00001000#define EUMB_BASE_ADRS          0xFCE00000#define EUMB_REG_SIZE           0x00080000#define FLASH_BASE_ADRS         0xFFC00000#define FLASH_MEM_SIZE          0x00400000#define MAILBOX_BASE_ADRS       0xFF000000#define MAILBOX_REG_SIZE        0x00010000#define BUS_TYPE        BUS_TYPE_PCI    /* board bus interface  *//* Timer constants */#define	SYS_CLK_RATE_MIN    3    /* minimum system clock rate */#define	SYS_CLK_RATE_MAX    5000 /* maximum system clock rate */#define	AUX_CLK_RATE_MIN    3    /* minimum auxiliary clock rate */#define	AUX_CLK_RATE_MAX    5000 /* maximum auxiliary clock rate *//* create a single macro INCLUDE_MMU */#if defined(INCLUDE_MMU_BASIC) || defined(INCLUDE_MMU_FULL)#define INCLUDE_MMU#endif/* Only one can be selected, FULL overrides BASIC */#ifdef INCLUDE_MMU_FULL#   undef INCLUDE_MMU_BASIC#endif/* serial ports (COM1,COM2) */#define N_SIO_CHANNELS          1 /* Number of serial I/O channels */#define N_UART_CHANNELS         N_SIO_CHANNELS#define COM1_BASE_ADR           NS16550_BASE_ADRS#define COM1_INT_VEC            4#define COM1_INT_LVL            4#define UART_XTAL_FREQ          3686400#define DEFAULT_BAUD_RATE       9600#define UART_REG_ADDR_INTERVAL  8/* Embedded Utilities Memory Block  */#define EUMBBAR         0x0078  /* offest of EUMBBAR in PCI config space *//* * PCI part  */#if (_BYTE_ORDER == _BIG_ENDIAN)#define PCISWAP(x)              LONGSWAP(x) /* processor big endian */#define BYTE_SWAP_16_BIT(x)     ((LSB(x) << 8) | MSB(x))#else#define PCISWAP(x)              (x) /* processor little endian */#define BYTE_SWAP_16_BIT(x)     (x)#endif /* _BYTE_ORDER == _BIG_ENDIAN *//* * mpc107 PCI Configuration Defines */#define HOST_BRIDGE_NUM         0#define HOST_BRIDGE_IDSEL       19#define PCI_ADDRESS_REGISTER    0xFEC00000 /* PCI Address Register  */#define PCI_DATA_REGISTER       0xFEE00000 /* PCI Data Register     */#define PCI_IO_BASE             0xFE000000 /* PCI IO Start Address  */#define PCI_IO_SIZE             0x00C00000 /* PCI IO Size	      */#define PCI_MEM_BASE            0x80000000 /* PCI MEM Start Address */#define PCI_MEM_SIZE            0x7D000000 /* PCI MEM Size	      */#define PCI_IO_END          (PCI_IO_BASE + PCI_IO_SIZE - 1)#define PCI_MEM_END         (PCI_MEM_BASE + PCI_MEM_SIZE - 1)#define MPC107_CONFIG_ADDR      PCI_ADDRESS_REGISTER#define MPC107_CONFIG_DATA      PCI_DATA_REGISTER#define MPC107_REG_ADDR_BASE    PCI_MEM_BASE/* * BRD_PCIMEM_CPU2PCI(addr, bridge) *     mapping the PCI memory address from CPU view to PCI view * * BRD_PCIIO_CPU2PCI(addr, bridge) *     mapping the PCI IO address from CPU view to PCI view * * BRD_PCIIO_PCI2CPU(addr, bridge) *     mapping the PCI IO address from PCI view to CPU view * * BRD_PCIMEM_PCI2CPU(addr, bridge) *     mapping the PCI memory address from PCI view to CPU view */#define BRD_PCIIO_CPU2PCI(addr, bridge)  ((ULONG)addr & 0x00ffffff)#define BRD_PCIIO_PCI2CPU(addr, bridge)  ((ULONG)addr | PCI_IO_BASE)#define BRD_PCIMEM_CPU2PCI(addr, bridge) ((ULONG)addr)#define BRD_PCIMEM_PCI2CPU(addr, bridge) ((ULONG)addr)#define CPU2DEV_ADDR(x)     PCISWAP( (BRD_PCIMEM_CPU2PCI(x,0)) )#define DEV2CPU_ADDR(x)     (void*)BRD_PCIMEM_PCI2CPU(PCISWAP((x)),0)/* * PCI Autoconfig Configuration Defines - Mandatory stuff that must be defined in * order to use vWare's PCI Autoconfig. */#define PCI_MAX_DEV         30#define PCI_MAX_BUS         255#define PCI_MAX_FUNC        8#define PCI_PP_MEM_START    0x80000000 /* PCI Auto Config Memory Start Address */#define PCI_PP_MEM_SIZE     0x20000000 /* PCI Auto Config Memory Size	     */#define PCI_PP_IO_START     0xFE800000 /* PCI Auto Config IO Start Address     */#define PCI_PP_IO_SIZE      0x00200000 /* PCI Auto Config IO Size 2MB          */#define PCI_PP_IO16_START   0xFE008000#define PCI_PP_IO16_SIZE    (0xFE010000-PCI_PP_IO16_START) /* 64KB */#define CPU_PCI_MEM_ADRS        PCI_PP_MEM_START /* 32 bit prefetchable memory base addres of PCI mem */#define CPU_PCI_MEM_SIZE        PCI_PP_MEM_SIZE  /* 32 bit prefetchable memory size  */#define CPU_PCI_CNFG_ADRS       0xF0000000       /* 32 bit PCI plag & play memory base addres of PCI conf */#define CPU_PCI_CNFG_SIZE       0x02000000       /* 32 bit PCI plag & play memory size  */#define CPU_PCI_IO_ADRS         PCI_IO_BASE      /* base addres of PCI IO */#define CPU_PCI_IO_SIZE         0x01000000  #define PCI_MSTR_MEMIO_LOCAL    PCI_PP_MEM_START /* CPU to PCI memio */#define PCI_MSTR_MEMIO_BUS      PCI_PP_MEM_START /* PCI bus view */#define PCI_SLV_MEM_LOCAL       0x00000000 /* PCI (non-prefetchable) memory adrs to CPU (60x bus) adrs */#define PCI_MEMIO2LOCAL(x)        ((int)(x)+PCI_MSTR_MEMIO_LOCAL-PCI_MSTR_MEMIO_BUS)/* 60x bus adrs to PCI (non-prefetchable) memory address */#define LOCAL2PCI_MEMIO(x)        ((int)(x) + PCI_SLV_MEM_LOCAL)#define MPC107PCI_BRIDGE            0#define INTEL21154PCI_BRIDGE        1#define PCI_INTA_MPC107_IRQ0        0#define PCI_INTB_MPC107_IRQ1        1 #define PCI_INTC_MPC107_IRQ2        2#define PCI_INTD_MPC107_IRQ3        3#define EXPANTION_BOARD_1PCI_SLOT 12   #define EXPANTION_BOARD_2PCI_SLOT 13#define EXPANTION_BOARD_3PCI_SLOT 14#define EXPANTION_BOARD_4PCI_SLOT 15/* Define if the PCI interrupt on the expantion board taid */#define INT_ON_EXPANTION_BOARD_TAID/* NvRam on FLASH macros */#define ONE_K                   1024#define FLASH_SECTOR_SIZE       (128 * ONE_K * 2)/* Osillator macros */#define OSCILLATOR_166MHZ        166000000 /* Bus Speeds */#define OSCILLATOR_99MHZ          99000000#define OSCILLATOR_66MHZ          66000000#define OSCILLATOR_33MHZ          33000000#define SYS_CPU_FREQ              OSCILLATOR_99MHZ #define MPC107_CLK_RATE           OSCILLATOR_99MHZ  /* ppmc 750/755/7400 User's Guide*//* decrementer constants */#define DEC_CLOCK_FREQ          SYS_CPU_FREQ/2#define DEC_CLK_TO_INC          2#define SYS_CLK_TICKS_PER_SECOND  60      /* default 60 ticks/second */#define DELTA(a,b)              (abs((int)a - (int)b))/* PCI Bus Frequency */#define DEFAULT_BUS_CLK_FREQ    33000000 /* 33.00 Mhz  *//* * Miscellaneous definitions go here. For example, macro definitions * for various devices. */#if CPU==PPC603#define WRONG_CPU_MSG "PPC603 VxWorks image cannot run on a PPC604!\n";#else#define WRONG_CPU_MSG "Unsupported processor type for this board.\n";#endif#define CPU_TYPE            ((vxPvrGet() >> 12) & 0xffff)#define CPU_TYPE_750        0x80 /* PPC 750 CPU */#define CPU_TYPE_755        0x83 /* PPC 755 CPU */#define CPU_TYPE_7400       0xC0 /* PPC 7400 Altivec */#define CPU_TYPE_7410       0xC1 /* PPC 7410 Altivec *//* MPC74xx (Max) Support *//* Max SPRs */#define VRSAVE                    256  /* VMX Save register */#define UBAMR                     935  /* Performance monitor mask */#define UMMCR2                    928  /* Performance monitor control */#define BAMR                      951  /* Performance monitor mask */#define MMCR2                     944  /* Performance monitor control */#define MSSCR0                    1014 /* Memory Subsystem control */#define MSSCR1                    1015 /* Memory Subsystem debug */#define PIR                       1023 /* Processor ID register *//* Max HID0 bit definitions */#define _PPC_HID0_NOPDST          0x2  /* Nop dst, dstt, dstst, &dststt*/#define _PPC_HID0_NOPTI           0x1  /* Nop dcbt and dbtst *//* AltiVec Exceptions */#define _EXC_VMX_UNAVAIL          0x0f20 /* VMX Unavailable Exception */#define _EXC_VMX_ASSIST           0x1600 /* VMX Assist Exception */#define SIZEOF_EXCEPTION          0x0030 /* VxWorks Exc is 48 bytes Max*//* Extra 4 IBAT register for the MPC755 */#define IBAT4U              560 /* instruction BAT register */#define IBAT4L              561 /* instruction BAT register */#define IBAT5U              562 /* instruction BAT register */#define IBAT5L              563 /* instruction BAT register */#define IBAT6U              564 /* instruction BAT register */#define IBAT6L              565 /* instruction BAT register */#define IBAT7U              566 /* instruction BAT register */#define IBAT7L              567 /* instruction BAT register *//* Extra 4 DBAT register for the MPC755 */#define DBAT4U              568 /* data BAT register */#define DBAT4L              569 /* data BAT register */#define DBAT5U              570 /* data BAT register */#define DBAT5L              571 /* data BAT register */#define DBAT6U              572 /* data BAT register */#define DBAT6L              573 /* data BAT register */#define DBAT7U              574 /* data BAT register */#define DBAT7L              575 /* data BAT register */#ifndef _MMU_UBAT_BL_512M#define _MMU_UBAT_BL_512M       0x00003ffc      /* block size 512M          */#endif  _MMU_UBAT_BL_512M/* General */#undef  EIEIO_SYNC#define EIEIO_SYNC                WRS_ASM (" eieio; sync")#undef  EIEIO#define EIEIO                     WRS_ASM (" eieio")#define REG_8BIT  1#define REG_16BIT 2#define REG_32BIT 4#endif  /* __INCwrPpmc74xxh */      

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -