blob: 87eb0acef618b335a64483115b404b4e5091e298 [file] [log] [blame]
/*
* 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__ */