blob: 239e7a7bda336d79be240fceebb293dd1542581d [file] [log] [blame]
/* Coldfire C Header File
* Copyright Freescale Semiconductor Inc
* All rights reserved.
*
* 2007/03/19 Revision: 0.9
*/
#ifndef __MCF5282_CS_H__
#define __MCF5282_CS_H__
/*********************************************************************
*
* Chip Select Module (CS)
*
*********************************************************************/
/* Register read/write macros */
#define MCF_CS0_CSAR (*(vuint16*)(&__IPSBAR[0x80]))
#define MCF_CS0_CSMR (*(vuint32*)(&__IPSBAR[0x84]))
#define MCF_CS0_CSCR (*(vuint16*)(&__IPSBAR[0x8A]))
#define MCF_CS1_CSAR (*(vuint16*)(&__IPSBAR[0x8C]))
#define MCF_CS1_CSMR (*(vuint32*)(&__IPSBAR[0x90]))
#define MCF_CS1_CSCR (*(vuint16*)(&__IPSBAR[0x96]))
#define MCF_CS2_CSAR (*(vuint16*)(&__IPSBAR[0x98]))
#define MCF_CS2_CSMR (*(vuint32*)(&__IPSBAR[0x9C]))
#define MCF_CS2_CSCR (*(vuint16*)(&__IPSBAR[0xA2]))
#define MCF_CS3_CSAR (*(vuint16*)(&__IPSBAR[0xA4]))
#define MCF_CS3_CSMR (*(vuint32*)(&__IPSBAR[0xA8]))
#define MCF_CS3_CSCR (*(vuint16*)(&__IPSBAR[0xAE]))
#define MCF_CS4_CSAR (*(vuint16*)(&__IPSBAR[0xB0]))
#define MCF_CS4_CSMR (*(vuint32*)(&__IPSBAR[0xB4]))
#define MCF_CS4_CSCR (*(vuint16*)(&__IPSBAR[0xBA]))
#define MCF_CS5_CSAR (*(vuint16*)(&__IPSBAR[0xBC]))
#define MCF_CS5_CSMR (*(vuint32*)(&__IPSBAR[0xC0]))
#define MCF_CS5_CSCR (*(vuint16*)(&__IPSBAR[0xC6]))
#define MCF_CS6_CSAR (*(vuint16*)(&__IPSBAR[0xC8]))
#define MCF_CS6_CSMR (*(vuint32*)(&__IPSBAR[0xCC]))
#define MCF_CS6_CSCR (*(vuint16*)(&__IPSBAR[0xD2]))
#define MCF_CS_CSAR(x) (*(vuint16*)(&__IPSBAR[0x80 + ((x)*0xC)]))
#define MCF_CS_CSMR(x) (*(vuint32*)(&__IPSBAR[0x84 + ((x)*0xC)]))
#define MCF_CS_CSCR(x) (*(vuint16*)(&__IPSBAR[0x8A + ((x)*0xC)]))
/* Bit definitions and macros for MCF_CS_CSAR */
#define MCF_CS_CSAR_BA(x) (vuint16)(((x)&0xFFFF0000)>>0x10)
/* Bit definitions and macros for MCF_CS_CSMR */
#define MCF_CS_CSMR_V (0x1)
#define MCF_CS_CSMR_UD (0x2)
#define MCF_CS_CSMR_UC (0x4)
#define MCF_CS_CSMR_SD (0x8)
#define MCF_CS_CSMR_SC (0x10)
#define MCF_CS_CSMR_CI (0x20)
#define MCF_CS_CSMR_AM (0x40)
#define MCF_CS_CSMR_WP (0x100)
#define MCF_CS_CSMR_BAM(x) (((x)&0xFFFF)<<0x10)
#define MCF_CS_CSMR_BAM_4G (0xFFFF0000)
#define MCF_CS_CSMR_BAM_2G (0x7FFF0000)
#define MCF_CS_CSMR_BAM_1G (0x3FFF0000)
#define MCF_CS_CSMR_BAM_1024M (0x3FFF0000)
#define MCF_CS_CSMR_BAM_512M (0x1FFF0000)
#define MCF_CS_CSMR_BAM_256M (0xFFF0000)
#define MCF_CS_CSMR_BAM_128M (0x7FF0000)
#define MCF_CS_CSMR_BAM_64M (0x3FF0000)
#define MCF_CS_CSMR_BAM_32M (0x1FF0000)
#define MCF_CS_CSMR_BAM_16M (0xFF0000)
#define MCF_CS_CSMR_BAM_8M (0x7F0000)
#define MCF_CS_CSMR_BAM_4M (0x3F0000)
#define MCF_CS_CSMR_BAM_2M (0x1F0000)
#define MCF_CS_CSMR_BAM_1M (0xF0000)
#define MCF_CS_CSMR_BAM_1024K (0xF0000)
#define MCF_CS_CSMR_BAM_512K (0x70000)
#define MCF_CS_CSMR_BAM_256K (0x30000)
#define MCF_CS_CSMR_BAM_128K (0x10000)
#define MCF_CS_CSMR_BAM_64K (0)
/* Bit definitions and macros for MCF_CS_CSCR */
#define MCF_CS_CSCR_BSTW (0x8)
#define MCF_CS_CSCR_BSTR (0x10)
#define MCF_CS_CSCR_BEM (0x20)
#define MCF_CS_CSCR_PS(x) (((x)&0x3)<<0x6)
#define MCF_CS_CSCR_PS_32 (0)
#define MCF_CS_CSCR_PS_8 (0x40)
#define MCF_CS_CSCR_PS_16 (0x80)
#define MCF_CS_CSCR_AA (0x100)
#define MCF_CS_CSCR_WS(x) (((x)&0xF)<<0xA)
#endif /* __MCF5282_CS_H__ */