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

📄 mcf548x_pci.h

📁 freescale MCF5485EVB开发板上中断操作示例
💻 H
📖 第 1 页 / 共 2 页
字号:
/*
 * File:	mcf548x_pci.h
 * Purpose:	Register and bit definitions for the MCF548X
 *
 * Notes:	
 *	
 */

#ifndef __MCF548X_PCI_H__
#define __MCF548X_PCI_H__

/*********************************************************************
*
* PCI Bus Controller (PCI)
*
*********************************************************************/

/* Register read/write macros */
#define MCF_PCI_PCIIDR        (*(vuint32*)(void*)(&__MBAR[0x000B00]))
#define MCF_PCI_PCISCR        (*(vuint32*)(void*)(&__MBAR[0x000B04]))
#define MCF_PCI_PCICCRIR      (*(vuint32*)(void*)(&__MBAR[0x000B08]))
#define MCF_PCI_PCICR1        (*(vuint32*)(void*)(&__MBAR[0x000B0C]))
#define MCF_PCI_PCIBAR0       (*(vuint32*)(void*)(&__MBAR[0x000B10]))
#define MCF_PCI_PCIBAR1       (*(vuint32*)(void*)(&__MBAR[0x000B14]))
#define MCF_PCI_PCICR2        (*(vuint32*)(void*)(&__MBAR[0x000B3C]))
#define MCF_PCI_PCIGSCR       (*(vuint32*)(void*)(&__MBAR[0x000B60]))
#define MCF_PCI_PCITBATR0     (*(vuint32*)(void*)(&__MBAR[0x000B64]))
#define MCF_PCI_PCITBATR1     (*(vuint32*)(void*)(&__MBAR[0x000B68]))
#define MCF_PCI_PCITCR        (*(vuint32*)(void*)(&__MBAR[0x000B6C]))
#define MCF_PCI_PCIIW0BTAR    (*(vuint32*)(void*)(&__MBAR[0x000B70]))
#define MCF_PCI_PCIIW1BTAR    (*(vuint32*)(void*)(&__MBAR[0x000B74]))
#define MCF_PCI_PCIIW2BTAR    (*(vuint32*)(void*)(&__MBAR[0x000B78]))
#define MCF_PCI_PCIIWCR       (*(vuint32*)(void*)(&__MBAR[0x000B80]))
#define MCF_PCI_PCIICR        (*(vuint32*)(void*)(&__MBAR[0x000B84]))
#define MCF_PCI_PCIISR        (*(vuint32*)(void*)(&__MBAR[0x000B88]))
#define MCF_PCI_PCICAR        (*(vuint32*)(void*)(&__MBAR[0x000BF8]))
#define MCF_PCI_PCITPSR       (*(vuint32*)(void*)(&__MBAR[0x008400]))
#define MCF_PCI_PCITSAR       (*(vuint32*)(void*)(&__MBAR[0x008404]))
#define MCF_PCI_PCITTCR       (*(vuint32*)(void*)(&__MBAR[0x008408]))
#define MCF_PCI_PCITER        (*(vuint32*)(void*)(&__MBAR[0x00840C]))
#define MCF_PCI_PCITNAR       (*(vuint32*)(void*)(&__MBAR[0x008410]))
#define MCF_PCI_PCITLWR       (*(vuint32*)(void*)(&__MBAR[0x008414]))
#define MCF_PCI_PCITDCR       (*(vuint32*)(void*)(&__MBAR[0x008418]))
#define MCF_PCI_PCITSR        (*(vuint32*)(void*)(&__MBAR[0x00841C]))
#define MCF_PCI_PCITFDR       (*(vuint32*)(void*)(&__MBAR[0x008440]))
#define MCF_PCI_PCITFSR       (*(vuint32*)(void*)(&__MBAR[0x008444]))
#define MCF_PCI_PCITFCR       (*(vuint32*)(void*)(&__MBAR[0x008448]))
#define MCF_PCI_PCITFAR       (*(vuint32*)(void*)(&__MBAR[0x00844C]))
#define MCF_PCI_PCITFRPR      (*(vuint32*)(void*)(&__MBAR[0x008450]))
#define MCF_PCI_PCITFWPR      (*(vuint32*)(void*)(&__MBAR[0x008454]))
#define MCF_PCI_PCIRPSR       (*(vuint32*)(void*)(&__MBAR[0x008480]))
#define MCF_PCI_PCIRSAR       (*(vuint32*)(void*)(&__MBAR[0x008484]))
#define MCF_PCI_PCIRTCR       (*(vuint32*)(void*)(&__MBAR[0x008488]))
#define MCF_PCI_PCIRER        (*(vuint32*)(void*)(&__MBAR[0x00848C]))
#define MCF_PCI_PCIRNAR       (*(vuint32*)(void*)(&__MBAR[0x008490]))
#define MCF_PCI_PCIRDCR       (*(vuint32*)(void*)(&__MBAR[0x008498]))
#define MCF_PCI_PCIRSR        (*(vuint32*)(void*)(&__MBAR[0x00849C]))
#define MCF_PCI_PCIRFDR       (*(vuint32*)(void*)(&__MBAR[0x0084C0]))
#define MCF_PCI_PCIRFSR       (*(vuint32*)(void*)(&__MBAR[0x0084C4]))
#define MCF_PCI_PCIRFCR       (*(vuint32*)(void*)(&__MBAR[0x0084C8]))
#define MCF_PCI_PCIRFAR       (*(vuint32*)(void*)(&__MBAR[0x0084CC]))
#define MCF_PCI_PCIRFRPR      (*(vuint32*)(void*)(&__MBAR[0x0084D0]))
#define MCF_PCI_PCIRFWPR      (*(vuint32*)(void*)(&__MBAR[0x0084D4]))

/* Bit definitions and macros for MCF_PCI_PCIIDR */
#define MCF_PCI_PCIIDR_VENDORID(x)            (((x)&0x0000FFFF)<<0)
#define MCF_PCI_PCIIDR_DEVICEID(x)            (((x)&0x0000FFFF)<<16)

/* Bit definitions and macros for MCF_PCI_PCISCR */
#define MCF_PCI_PCISCR_M                      (0x00000002)
#define MCF_PCI_PCISCR_B                      (0x00000004)
#define MCF_PCI_PCISCR_SP                     (0x00000008)
#define MCF_PCI_PCISCR_MW                     (0x00000010)
#define MCF_PCI_PCISCR_PER                    (0x00000040)
#define MCF_PCI_PCISCR_S                      (0x00000100)
#define MCF_PCI_PCISCR_F                      (0x00000200)
#define MCF_PCI_PCISCR_C                      (0x00100000)
#define MCF_PCI_PCISCR_66M                    (0x00200000)
#define MCF_PCI_PCISCR_R                      (0x00400000)
#define MCF_PCI_PCISCR_FC                     (0x00800000)
#define MCF_PCI_PCISCR_DP                     (0x01000000)
#define MCF_PCI_PCISCR_DT(x)                  (((x)&0x00000003)<<25)
#define MCF_PCI_PCISCR_TS                     (0x08000000)
#define MCF_PCI_PCISCR_TR                     (0x10000000)
#define MCF_PCI_PCISCR_MA                     (0x20000000)
#define MCF_PCI_PCISCR_SE                     (0x40000000)
#define MCF_PCI_PCISCR_PE                     (0x80000000)

/* Bit definitions and macros for MCF_PCI_PCICCRIR */
#define MCF_PCI_PCICCRIR_REVID(x)             (((x)&0x000000FF)<<0)
#define MCF_PCI_PCICCRIR_CLASSCODE(x)         (((x)&0x00FFFFFF)<<8)

/* Bit definitions and macros for MCF_PCI_PCICR1 */
#define MCF_PCI_PCICR1_CACHELINESIZE(x)       (((x)&0x0000000F)<<0)
#define MCF_PCI_PCICR1_LATTIMER(x)            (((x)&0x000000FF)<<8)
#define MCF_PCI_PCICR1_HEADERTYPE(x)          (((x)&0x000000FF)<<16)
#define MCF_PCI_PCICR1_BIST(x)                (((x)&0x000000FF)<<24)

/* Bit definitions and macros for MCF_PCI_PCIBAR0 */
#define MCF_PCI_PCIBAR0_IO                    (0x00000001)
#define MCF_PCI_PCIBAR0_RANGE(x)              (((x)&0x00000003)<<1)
#define MCF_PCI_PCIBAR0_PREF                  (0x00000008)
#define MCF_PCI_PCIBAR0_BAR0(x)               (((x)&0x00003FFF)<<18)

/* Bit definitions and macros for MCF_PCI_PCIBAR1 */
#define MCF_PCI_PCIBAR1_IO                    (0x00000001)
#define MCF_PCI_PCIBAR1_PREF                  (0x00000008)
#define MCF_PCI_PCIBAR1_BAR1(x)               (((x)&0x00000003)<<30)

/* Bit definitions and macros for MCF_PCI_PCICR2 */
#define MCF_PCI_PCICR2_INTLINE(x)             (((x)&0x000000FF)<<0)
#define MCF_PCI_PCICR2_INTPIN(x)              (((x)&0x000000FF)<<8)
#define MCF_PCI_PCICR2_MINGNT(x)              (((x)&0x000000FF)<<16)
#define MCF_PCI_PCICR2_MAXLAT(x)              (((x)&0x000000FF)<<24)

/* Bit definitions and macros for MCF_PCI_PCIGSCR */
#define MCF_PCI_PCIGSCR_PR                    (0x00000001)
#define MCF_PCI_PCIGSCR_SEE                   (0x00001000)
#define MCF_PCI_PCIGSCR_PEE                   (0x00002000)
#define MCF_PCI_PCIGSCR_SE                    (0x10000000)
#define MCF_PCI_PCIGSCR_PE                    (0x20000000)

/* Bit definitions and macros for MCF_PCI_PCITBATR0 */
#define MCF_PCI_PCITBATR0_EN                  (0x00000001)
#define MCF_PCI_PCITBATR0_BAT0(x)             (((x)&0x00003FFF)<<18)

/* Bit definitions and macros for MCF_PCI_PCITBATR1 */
#define MCF_PCI_PCITBATR1_EN                  (0x00000001)
#define MCF_PCI_PCITBATR1_BAT1(x)             (((x)&0x00000003)<<30)

/* Bit definitions and macros for MCF_PCI_PCITCR */
#define MCF_PCI_PCITCR_P                      (0x00010000)
#define MCF_PCI_PCITCR_LD                     (0x01000000)

/* Bit definitions and macros for MCF_PCI_PCIIW0BTAR */
#define MCF_PCI_PCIIW0BTAR_WTA0(x)            (((x)&0x000000FF)<<8)
#define MCF_PCI_PCIIW0BTAR_WAM0(x)            (((x)&0x000000FF)<<16)
#define MCF_PCI_PCIIW0BTAR_WBA0(x)            (((x)&0x000000FF)<<24)

/* Bit definitions and macros for MCF_PCI_PCIIW1BTAR */
#define MCF_PCI_PCIIW1BTAR_WTA1(x)            (((x)&0x000000FF)<<8)
#define MCF_PCI_PCIIW1BTAR_WAM1(x)            (((x)&0x000000FF)<<16)
#define MCF_PCI_PCIIW1BTAR_WBA1(x)            (((x)&0x000000FF)<<24)

/* Bit definitions and macros for MCF_PCI_PCIIW2BTAR */
#define MCF_PCI_PCIIW2BTAR_WTA2(x)            (((x)&0x000000FF)<<8)
#define MCF_PCI_PCIIW2BTAR_WAM2(x)            (((x)&0x000000FF)<<16)
#define MCF_PCI_PCIIW2BTAR_WBA2(x)            (((x)&0x000000FF)<<24)

/* Bit definitions and macros for MCF_PCI_PCIIWCR */
#define MCF_PCI_PCIIWCR_WINCTRL2(x)           (((x)&0x0000000F)<<8)
#define MCF_PCI_PCIIWCR_WINCTRL1(x)           (((x)&0x0000000F)<<16)
#define MCF_PCI_PCIIWCR_WINCTRL0(x)           (((x)&0x0000000F)<<24)
#define MCF_PCI_PCIIWCR_WINCTRL0_MEMREAD      (0x01000000)
#define MCF_PCI_PCIIWCR_WINCTRL0_MEMRDLINE    (0x03000000)
#define MCF_PCI_PCIIWCR_WINCTRL0_MEMRDMUL     (0x05000000)
#define MCF_PCI_PCIIWCR_WINCTRL0_IO           (0x09000000)
#define MCF_PCI_PCIIWCR_WINCTRL1_MEMREAD      (0x00010000)
#define MCF_PCI_PCIIWCR_WINCTRL1_MEMRDLINE    (0x00030000)

⌨️ 快捷键说明

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