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

📄 mcf5282.h

📁 motorola自己开发的针对coldfire 5272的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)
#define MCF5282_CS_CSMR_BAM_8M				(0x007F0000)
#define MCF5282_CS_CSMR_BAM_4M				(0x003F0000)
#define MCF5282_CS_CSMR_BAM_2M				(0x001F0000)
#define MCF5282_CS_CSMR_BAM_1M				(0x000F0000)
#define MCF5282_CS_CSMR_BAM_1024K			(0x000F0000)
#define MCF5282_CS_CSMR_BAM_512K			(0x00070000)
#define MCF5282_CS_CSMR_BAM_256K			(0x00030000)
#define MCF5282_CS_CSMR_BAM_128K			(0x00010000)
#define MCF5282_CS_CSMR_BAM_64K				(0x00000000)
#define MCF5282_CS_CSMR_WP					(0x00000100)
#define MCF5282_CS_CSMR_AM					(0x00000040)
#define MCF5282_CS_CSMR_CI					(0x00000020)
#define MCF5282_CS_CSMR_SC					(0x00000010)
#define MCF5282_CS_CSMR_SD					(0x00000008)
#define MCF5282_CS_CSMR_UC					(0x00000004)
#define MCF5282_CS_CSMR_UD					(0x00000002)
#define MCF5282_CS_CSMR_V					(0x00000001)

#define MCF5282_CS_CSCR_WS(x)				(((x)&0x0F)<<10)
#define MCF5282_CS_CSCR_AA					(0x0100)
#define MCF5282_CS_CSCR_PS_8				(0x0040)
#define MCF5282_CS_CSCR_PS_16				(0x0080)

⌨️ 快捷键说明

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