/* | |
* These files are taken from the MCF523X source code example package | |
* which is available on the Freescale website. Freescale explicitly | |
* grants the redistribution and modification of these source files. | |
* The complete licensing information is available in the file | |
* LICENSE_FREESCALE.TXT. | |
* | |
* File: mcf523x_sdramc.h | |
* Purpose: Register and bit definitions for the MCF523X | |
* | |
* Notes: | |
* | |
*/ | |
#ifndef __MCF523X_SDRAMC_H__ | |
#define __MCF523X_SDRAMC_H__ | |
/********************************************************************* | |
* | |
* SDRAM Controller (SDRAMC) | |
* | |
*********************************************************************/ | |
/* Register read/write macros */ | |
#define MCF_SDRAMC_DCR (*(vuint16*)(void*)(&__IPSBAR[0x000040])) | |
#define MCF_SDRAMC_DACR0 (*(vuint32*)(void*)(&__IPSBAR[0x000048])) | |
#define MCF_SDRAMC_DMR0 (*(vuint32*)(void*)(&__IPSBAR[0x00004C])) | |
#define MCF_SDRAMC_DACR1 (*(vuint32*)(void*)(&__IPSBAR[0x000050])) | |
#define MCF_SDRAMC_DMR1 (*(vuint32*)(void*)(&__IPSBAR[0x000054])) | |
/* Bit definitions and macros for MCF_SDRAMC_DCR */ | |
#define MCF_SDRAMC_DCR_RC(x) (((x)&0x01FF)<<0) | |
#define MCF_SDRAMC_DCR_RTIM(x) (((x)&0x0003)<<9) | |
#define MCF_SDRAMC_DCR_IS (0x0800) | |
#define MCF_SDRAMC_DCR_COC (0x1000) | |
#define MCF_SDRAMC_DCR_NAM (0x2000) | |
/* Bit definitions and macros for MCF_SDRAMC_DACR0 */ | |
#define MCF_SDRAMC_DACR0_IP (0x00000008) | |
#define MCF_SDRAMC_DACR0_PS(x) (((x)&0x00000003)<<4) | |
#define MCF_SDRAMC_DACR0_MRS (0x00000040) | |
#define MCF_SDRAMC_DACR0_CBM(x) (((x)&0x00000007)<<8) | |
#define MCF_SDRAMC_DACR0_CASL(x) (((x)&0x00000003)<<12) | |
#define MCF_SDRAMC_DACR0_RE (0x00008000) | |
#define MCF_SDRAMC_DACR0_BA(x) (((x)&0x00003FFF)<<18) | |
/* Bit definitions and macros for MCF_SDRAMC_DMR0 */ | |
#define MCF_SDRAMC_DMR0_V (0x00000001) | |
#define MCF_SDRAMC_DMR0_WP (0x00000100) | |
#define MCF_SDRAMC_DMR0_BAM(x) (((x)&0x00003FFF)<<18) | |
/* Bit definitions and macros for MCF_SDRAMC_DACR1 */ | |
#define MCF_SDRAMC_DACR1_IP (0x00000008) | |
#define MCF_SDRAMC_DACR1_PS(x) (((x)&0x00000003)<<4) | |
#define MCF_SDRAMC_DACR1_MRS (0x00000040) | |
#define MCF_SDRAMC_DACR1_CBM(x) (((x)&0x00000007)<<8) | |
#define MCF_SDRAMC_DACR1_CASL(x) (((x)&0x00000003)<<12) | |
#define MCF_SDRAMC_DACR1_RE (0x00008000) | |
#define MCF_SDRAMC_DACR1_BA(x) (((x)&0x00003FFF)<<18) | |
/* Bit definitions and macros for MCF_SDRAMC_DMR1 */ | |
#define MCF_SDRAMC_DMR1_V (0x00000001) | |
#define MCF_SDRAMC_DMR1_WP (0x00000100) | |
#define MCF_SDRAMC_DMR1_BAM(x) (((x)&0x00003FFF)<<18) | |
/********************************************************************/ | |
#define MCF_SDRAMC_DMR_BAM_4G (0xFFFC0000) | |
#define MCF_SDRAMC_DMR_BAM_2G (0x7FFC0000) | |
#define MCF_SDRAMC_DMR_BAM_1G (0x3FFC0000) | |
#define MCF_SDRAMC_DMR_BAM_1024M (0x3FFC0000) | |
#define MCF_SDRAMC_DMR_BAM_512M (0x1FFC0000) | |
#define MCF_SDRAMC_DMR_BAM_256M (0x0FFC0000) | |
#define MCF_SDRAMC_DMR_BAM_128M (0x07FC0000) | |
#define MCF_SDRAMC_DMR_BAM_64M (0x03FC0000) | |
#define MCF_SDRAMC_DMR_BAM_32M (0x01FC0000) | |
#define MCF_SDRAMC_DMR_BAM_16M (0x00FC0000) | |
#define MCF_SDRAMC_DMR_BAM_8M (0x007C0000) | |
#define MCF_SDRAMC_DMR_BAM_4M (0x003C0000) | |
#define MCF_SDRAMC_DMR_BAM_2M (0x001C0000) | |
#define MCF_SDRAMC_DMR_BAM_1M (0x000C0000) | |
#define MCF_SDRAMC_DMR_BAM_1024K (0x000C0000) | |
#define MCF_SDRAMC_DMR_BAM_512K (0x00040000) | |
#define MCF_SDRAMC_DMR_BAM_256K (0x00000000) | |
#define MCF_SDRAMC_DMR_WP (0x00000100) | |
#define MCF_SDRAMC_DMR_CI (0x00000040) | |
#define MCF_SDRAMC_DMR_AM (0x00000020) | |
#define MCF_SDRAMC_DMR_SC (0x00000010) | |
#define MCF_SDRAMC_DMR_SD (0x00000008) | |
#define MCF_SDRAMC_DMR_UC (0x00000004) | |
#define MCF_SDRAMC_DMR_UD (0x00000002) | |
#define MCF_SDRAMC_DMR_V (0x00000001) | |
#endif /* __MCF523X_SDRAMC_H__ */ |