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

📄 mcf5282.h

📁 motorola 针对coldfire 5275 评估板的Dbug bootloader源程序
💻 H
📖 第 1 页 / 共 5 页
字号:
/*
 * File:        mcf5282.h
 * Purpose:     MCF5282 definitions
 *
 * Notes:       This file automatically included.
 *              __IPSBAR must be defined in dbug/proj/<board>/src/<board>.h
 */

#ifndef _CPU_MCF5282_H
#define _CPU_MCF5282_H

/*********************************************************************
*
* System Control Module (SCM)
*
*********************************************************************/

/* Read/Write access macros for general use */
#define MCF5282_SCM_IPSBAR      (*(vuint32 *)(void *)(&__IPSBAR[0x0000]))
#define MCF5282_SCM_RAMBAR      (*(vuint32 *)(void *)(&__IPSBAR[0x0004]))
#define MCF5282_SCM_FLASHBAR    (*(vuint32 *)(void *)(&__IPSBAR[0x0008]))
#define MCF5282_SCM_CRSR        (*(vuint8  *)(void *)(&__IPSBAR[0x0010]))
#define MCF5282_SCM_CWCR        (*(vuint8  *)(void *)(&__IPSBAR[0x0011]))
#define MCF5282_SCM_LPICR       (*(vuint8  *)(void *)(&__IPSBAR[0x0012]))
#define MCF5282_SCM_CWSR        (*(vuint8  *)(void *)(&__IPSBAR[0x0013]))
#define MCF5282_SCM_DMAREQC     (*(vuint32 *)(void *)(&__IPSBAR[0x0014]))
#define MCF5282_SCM_MPARK       (*(vuint32 *)(void *)(&__IPSBAR[0x001C]))
#define MCF5282_SCM_MPR         (*(vuint8  *)(void *)(&__IPSBAR[0x0020]))
#define MCF5282_SCM_PACR0       (*(vuint8  *)(void *)(&__IPSBAR[0x0024]))
#define MCF5282_SCM_PACR1       (*(vuint8  *)(void *)(&__IPSBAR[0x0025]))
#define MCF5282_SCM_PACR2       (*(vuint8  *)(void *)(&__IPSBAR[0x0026]))
#define MCF5282_SCM_PACR3       (*(vuint8  *)(void *)(&__IPSBAR[0x0027]))
#define MCF5282_SCM_PACR4       (*(vuint8  *)(void *)(&__IPSBAR[0x0028]))
#define MCF5282_SCM_PACR5       (*(vuint8  *)(void *)(&__IPSBAR[0x002A]))
#define MCF5282_SCM_PACR6       (*(vuint8  *)(void *)(&__IPSBAR[0x002B]))
#define MCF5282_SCM_PACR7       (*(vuint8  *)(void *)(&__IPSBAR[0x002C]))
#define MCF5282_SCM_PACR8       (*(vuint8  *)(void *)(&__IPSBAR[0x002E]))
#define MCF5282_SCM_GPACR0      (*(vuint8  *)(void *)(&__IPSBAR[0x0030]))
#define MCF5282_SCM_GPACR1      (*(vuint8  *)(void *)(&__IPSBAR[0x0031]))

/* Bit level definitions and macros */
#define MCF5282_SCM_IPSBAR_BA(x)            ((x)&0xC0000000)
#define MCF5282_SCM_IPSBAR_V                (0x00000001)

#define MCF5282_SCM_RAMBAR_BA(x)            ((x)&0xFFFF0000)
#define MCF5282_SCM_RAMBAR_BDE              (0x00000200)

#define MCF5282_SCM_FLASHBAR_BA(x)          ((x)&0xFFF80000)
#define MCF5282_SCM_FLASHBAR_BDE            (0x00000200)

#define MCF5282_SCM_CRSR_EXT                (0x80)
#define MCF5282_SCM_CRSR_CWDR               (0x20)

#define MCF5282_SCM_CWCR_CWE                (0x80)
#define MCF5282_SCM_CWCR_CWRI               (0x40)
#define MCF5282_SCM_CWCR_CWT(x)             (((x)&0x03)<<3)
#define MCF5282_SCM_CWCR_CWTA               (0x04)
#define MCF5282_SCM_CWCR_CWTAVAL            (0x02)
#define MCF5282_SCM_CWCR_CWTIC              (0x01)

#define MCF5282_SCM_LPICR_ENBSTOP           (0x80)
#define MCF5282_SCM_LPICR_XSTOP_IPL(x)      (((x)&0x07)<<4)

#define MCF5282_SCM_CWSR_SEQ1               (0x55)
#define MCF5282_SCM_CWSR_SEQ2               (0xAA)

#define MCF5282_SCM_DMAREQC_DMAC3(x)        (((x)&0x000F)<<12)
#define MCF5282_SCM_DMAREQC_DMAC2(x)        (((x)&0x000F)<<8)
#define MCF5282_SCM_DMAREQC_DMAC1(x)        (((x)&0x000F)<<4)
#define MCF5282_SCM_DMAREQC_DMAC0(x)        (((x)&0x000F))
#define MCF5282_SCM_DMAREQC_DMATIMER0       (0x4)
#define MCF5282_SCM_DMAREQC_DMATIMER1       (0x5)
#define MCF5282_SCM_DMAREQC_DMATIMER2       (0x6)
#define MCF5282_SCM_DMAREQC_DMATIMER3       (0x7)
#define MCF5282_SCM_DMAREQC_UART0           (0x8)
#define MCF5282_SCM_DMAREQC_UART1           (0x9)
#define MCF5282_SCM_DMAREQC_UART2           (0xA)

#define MCF5282_SCM_MPARK_M2_P_EN           (0x02000000)
#define MCF5282_SCM_MPARK_BCR24BIT          (0x01000000)
#define MCF5282_SCM_MPARK_M3_PRTY(x)        (((x)&0x03)<<22)
#define MCF5282_SCM_MPARK_M2_PRTY(x)        (((x)&0x03)<<20)
#define MCF5282_SCM_MPARK_M0_PRTY(x)        (((x)&0x03)<<18)
#define MCF5282_SCM_MPARK_M1_PRTY(x)        (((x)&0x03)<<16)
#define MCF5282_SCM_MPARK_FIXED             (0x00040000)
#define MCF5282_SCM_MPARK_TIMEOUT           (0x00020000)
#define MCF5282_SCM_MPARK_PRK_LAST          (0x00010000)
#define MCF5282_SCM_MPARK_LCKOUT_TIME(x)    (((x)&0x000F)<<8)

#define MCF5282_SCM_MPARK_MX_PRTY_FIRST     (0x3)
#define MCF5282_SCM_MPARK_MX_PRTY_SECOND    (0x2)
#define MCF5282_SCM_MPARK_MX_PRTY_THIRD     (0x1)
#define MCF5282_SCM_MPARK_MX_PRTY_FOURTH    (0x0)

#define MCF5282_SCM_MPR_MPR(x)              (((x)&0x0F))

#define MCF5282_SCM_PACR_LOCK1              (0x80)
#define MCF5282_SCM_PACR_ACCESSCTRL1        (((x)&0x07)<<4)
#define MCF5282_SCM_PACR_LOCK0              (0x08)
#define MCF5282_SCM_PACR_ACCESSCTRL0        (((x)&0x07))
#define MCF5282_SCM_PACR_RW_NA              (0x0)
#define MCF5282_SCM_PACR_R_NA               (0x1)
#define MCF5282_SCM_PACR_R_R                (0x2)
#define MCF5282_SCM_PACR_RW_RW              (0x4)
#define MCF5282_SCM_PACR_RW_R               (0x5)
#define MCF5282_SCM_PACR_NA_NA              (0x7)

#define MCF5282_SCM_GPACR_LOCK              (0x80)
#define MCF5282_SCM_GPACR_ACCESSCTRL        (((x)&0x0F))
#define MCF5282_SCM_GPACR_ACCESSCTRL_RW_NA      (0x0)
#define MCF5282_SCM_GPACR_ACCESSCTRL_R_NA       (0x1)
#define MCF5282_SCM_GPACR_ACCESSCTRL_R_R        (0x2)
#define MCF5282_SCM_GPACR_ACCESSCTRL_RW_RW      (0x4)
#define MCF5282_SCM_GPACR_ACCESSCTRL_RW_R       (0x5)
#define MCF5282_SCM_GPACR_ACCESSCTRL_NA_NA      (0x7)
#define MCF5282_SCM_GPACR_ACCESSCTRL_RWE_NA     (0x8)
#define MCF5282_SCM_GPACR_ACCESSCTRL_RE_NA      (0x9)
#define MCF5282_SCM_GPACR_ACCESSCTRL_RE_RE      (0xA)
#define MCF5282_SCM_GPACR_ACCESSCTRL_E_NA       (0xB)
#define MCF5282_SCM_GPACR_ACCESSCTRL_RWE_RWE    (0xC)
#define MCF5282_SCM_GPACR_ACCESSCTRL_RWE_RE     (0xD)
#define MCF5282_SCM_GPACR_ACCESSCTRL_RWE_E      (0xF)

/*********************************************************************
*
* SDRAM Controller Module
*
*********************************************************************/

/* Read/Write access macros for general use */
#define MCF5282_SDRAMC_DCR      (*(vuint16 *)(void *)(&__IPSBAR[0x0040]))
#define MCF5282_SDRAMC_DACR0    (*(vuint32 *)(void *)(&__IPSBAR[0x0048]))
#define MCF5282_SDRAMC_DMR0     (*(vuint32 *)(void *)(&__IPSBAR[0x004C]))
#define MCF5282_SDRAMC_DACR1    (*(vuint32 *)(void *)(&__IPSBAR[0x0050]))
#define MCF5282_SDRAMC_DMR1     (*(vuint32 *)(void *)(&__IPSBAR[0x0054]))

/* Bit level definitions and macros */
#define MCF5282_SDRAMC_DCR_NAM              (0x2000)
#define MCF5282_SDRAMC_DCR_COC              (0x1000)
#define MCF5282_SDRAMC_DCR_IS               (0x0800)
#define MCF5282_SDRAMC_DCR_RTIM_3           (0x0000)
#define MCF5282_SDRAMC_DCR_RTIM_6           (0x0200)
#define MCF5282_SDRAMC_DCR_RTIM_9           (0x0400)
#define MCF5282_SDRAMC_DCR_RC(x)            ((x)&0x01FF)

#define MCF5282_SDRAMC_DACR_BASE(x)         ((x)&0xFFFC0000)
#define MCF5282_SDRAMC_DACR_RE              (0x00008000)
#define MCF5282_SDRAMC_DACR_CASL(x)         (((x)&0x03)<<12)
#define MCF5282_SDRAMC_DACR_CBM(x)          (((x)&0x07)<<8)
#define MCF5282_SDRAMC_DACR_PS_32           (0x00000000)
#define MCF5282_SDRAMC_DACR_PS_8            (0x00000010)
#define MCF5282_SDRAMC_DACR_PS_16           (0x00000020)
#define MCF5282_SDRAMC_DACR_IMRS            (0x00000040)
#define MCF5282_SDRAMC_DACR_IP              (0x00000008)

#define MCF5282_SDRAMC_DMR_BAM_4G           (0xFFFC0000)
#define MCF5282_SDRAMC_DMR_BAM_2G           (0x7FFC0000)
#define MCF5282_SDRAMC_DMR_BAM_1G           (0x3FFC0000)
#define MCF5282_SDRAMC_DMR_BAM_1024M        (0x3FFC0000)
#define MCF5282_SDRAMC_DMR_BAM_512M         (0x1FFC0000)
#define MCF5282_SDRAMC_DMR_BAM_256M         (0x0FFC0000)
#define MCF5282_SDRAMC_DMR_BAM_128M         (0x07FC0000)
#define MCF5282_SDRAMC_DMR_BAM_64M          (0x03FC0000)
#define MCF5282_SDRAMC_DMR_BAM_32M          (0x01FC0000)
#define MCF5282_SDRAMC_DMR_BAM_16M          (0x00FC0000)
#define MCF5282_SDRAMC_DMR_BAM_8M           (0x007C0000)
#define MCF5282_SDRAMC_DMR_BAM_4M           (0x003C0000)
#define MCF5282_SDRAMC_DMR_BAM_2M           (0x001C0000)
#define MCF5282_SDRAMC_DMR_BAM_1M           (0x000C0000)
#define MCF5282_SDRAMC_DMR_BAM_1024K        (0x000C0000)
#define MCF5282_SDRAMC_DMR_BAM_512K         (0x00040000)
#define MCF5282_SDRAMC_DMR_BAM_256K         (0x00000000)
#define MCF5282_SDRAMC_DMR_WP               (0x00000100)
#define MCF5282_SDRAMC_DMR_CI               (0x00000040)
#define MCF5282_SDRAMC_DMR_AM               (0x00000020)
#define MCF5282_SDRAMC_DMR_SC               (0x00000010)
#define MCF5282_SDRAMC_DMR_SD               (0x00000008)
#define MCF5282_SDRAMC_DMR_UC               (0x00000004)
#define MCF5282_SDRAMC_DMR_UD               (0x00000002)
#define MCF5282_SDRAMC_DMR_V                (0x00000001)

/*********************************************************************
*
* Chip Select Module
*
*********************************************************************/

/* Read/Write access macros for general use */
#define MCF5282_CS0_CSAR    (*(vuint16 *)(void *)(&__IPSBAR[0x0080]))
#define MCF5282_CS0_CSMR    (*(vuint32 *)(void *)(&__IPSBAR[0x0084]))
#define MCF5282_CS0_CSCR    (*(vuint16 *)(void *)(&__IPSBAR[0x008A]))

#define MCF5282_CS1_CSAR    (*(vuint16 *)(void *)(&__IPSBAR[0x008C]))
#define MCF5282_CS1_CSMR    (*(vuint32 *)(void *)(&__IPSBAR[0x0090]))
#define MCF5282_CS1_CSCR    (*(vuint16 *)(void *)(&__IPSBAR[0x0096]))

#define MCF5282_CS2_CSAR    (*(vuint16 *)(void *)(&__IPSBAR[0x0098]))
#define MCF5282_CS2_CSMR    (*(vuint32 *)(void *)(&__IPSBAR[0x009C]))
#define MCF5282_CS2_CSCR    (*(vuint16 *)(void *)(&__IPSBAR[0x00A2]))

#define MCF5282_CS3_CSAR    (*(vuint16 *)(void *)(&__IPSBAR[0x00A4]))
#define MCF5282_CS3_CSMR    (*(vuint32 *)(void *)(&__IPSBAR[0x00A8]))
#define MCF5282_CS3_CSCR    (*(vuint16 *)(void *)(&__IPSBAR[0x00AE]))

#define MCF5282_CS4_CSAR    (*(vuint16 *)(void *)(&__IPSBAR[0x00B0]))
#define MCF5282_CS4_CSMR    (*(vuint32 *)(void *)(&__IPSBAR[0x00B4]))
#define MCF5282_CS4_CSCR    (*(vuint16 *)(void *)(&__IPSBAR[0x00BA]))

#define MCF5282_CS5_CSAR    (*(vuint16 *)(void *)(&__IPSBAR[0x00BC]))
#define MCF5282_CS5_CSMR    (*(vuint32 *)(void *)(&__IPSBAR[0x00C0]))
#define MCF5282_CS5_CSCR    (*(vuint16 *)(void *)(&__IPSBAR[0x00C6]))

#define MCF5282_CS6_CSAR    (*(vuint16 *)(void *)(&__IPSBAR[0x00C8]))
#define MCF5282_CS6_CSMR    (*(vuint32 *)(void *)(&__IPSBAR[0x00CC]))
#define MCF5282_CS6_CSCR    (*(vuint16 *)(void *)(&__IPSBAR[0x00D2]))

#define MCF5282_CS_CSAR(x)  (*(vuint16 *)(void *)(&__IPSBAR[0x0080+(x*0x0C)]))
#define MCF5282_CS_CSMR(x)  (*(vuint32 *)(void *)(&__IPSBAR[0x0084+(x*0x0C)]))
#define MCF5282_CS_CSCR(x)  (*(vuint16 *)(void *)(&__IPSBAR[0x008A+(x*0x0C)]))

/* Bit level definitions and macros */
#define MCF5282_CS_CSAR_BA(a)               (uint16)(((a)&0xFFFF0000)>>16)

#define MCF5282_CS_CSMR_BAM_4G              (0xFFFF0000)
#define MCF5282_CS_CSMR_BAM_2G              (0x7FFF0000)
#define MCF5282_CS_CSMR_BAM_1G              (0x3FFF0000)
#define MCF5282_CS_CSMR_BAM_1024M           (0x3FFF0000)
#define MCF5282_CS_CSMR_BAM_512M            (0x1FFF0000)
#define MCF5282_CS_CSMR_BAM_256M            (0x0FFF0000)
#define MCF5282_CS_CSMR_BAM_128M            (0x07FF0000)
#define MCF5282_CS_CSMR_BAM_64M             (0x03FF0000)
#define MCF5282_CS_CSMR_BAM_32M             (0x01FF0000)
#define MCF5282_CS_CSMR_BAM_16M             (0x00FF0000)

⌨️ 快捷键说明

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