142d1f039Swdenk /* 20ac6f8b7Swdenk * Copyright 2004 Freescale Semiconductor. 342d1f039Swdenk * Copyright(c) 2003 Motorola Inc. 442d1f039Swdenk * Xianghua Xiao (x.xiao@motorola.com) 542d1f039Swdenk */ 642d1f039Swdenk 742d1f039Swdenk #ifndef __MPC85xx_H__ 842d1f039Swdenk #define __MPC85xx_H__ 942d1f039Swdenk 1042d1f039Swdenk #define EXC_OFF_SYS_RESET 0x0100 /* System reset */ 1142d1f039Swdenk 1242d1f039Swdenk #if defined(CONFIG_E500) 1342d1f039Swdenk #include <e500.h> 1442d1f039Swdenk #endif 1542d1f039Swdenk 160ac6f8b7Swdenk /* 170ac6f8b7Swdenk * SCCR - System Clock Control Register, 9-8 1842d1f039Swdenk */ 1942d1f039Swdenk #define SCCR_CLPD 0x00000004 /* CPM Low Power Disable */ 200ac6f8b7Swdenk #define SCCR_DFBRG_MSK 0x00000003 /* Division by BRGCLK Mask */ 2142d1f039Swdenk #define SCCR_DFBRG_SHIFT 0 2242d1f039Swdenk 2342d1f039Swdenk #define SCCR_DFBRG00 0x00000000 /* BRGCLK division by 4 */ 240ac6f8b7Swdenk #define SCCR_DFBRG01 0x00000001 /* BRGCLK div by 16 (normal) */ 2542d1f039Swdenk #define SCCR_DFBRG10 0x00000002 /* BRGCLK division by 64 */ 2642d1f039Swdenk #define SCCR_DFBRG11 0x00000003 /* BRGCLK division by 256 */ 2742d1f039Swdenk 28*ca27381dSWolfgang Denk /* 29*ca27381dSWolfgang Denk * Local Bus Controller - memory controller registers 30*ca27381dSWolfgang Denk */ 31*ca27381dSWolfgang Denk #define BRx_V 0x00000001 /* Bank Valid */ 32*ca27381dSWolfgang Denk #define BRx_MS_GPCM 0x00000000 /* G.P.C.M. Machine Select */ 33*ca27381dSWolfgang Denk #define BRx_MS_SDRAM 0x00000000 /* SDRAM Machine Select */ 34*ca27381dSWolfgang Denk #define BRx_MS_UPMA 0x00000080 /* U.P.M.A Machine Select */ 35*ca27381dSWolfgang Denk #define BRx_MS_UPMB 0x000000a0 /* U.P.M.B Machine Select */ 36*ca27381dSWolfgang Denk #define BRx_MS_UPMC 0x000000c0 /* U.P.M.C Machine Select */ 37*ca27381dSWolfgang Denk #define BRx_PS_8 0x00000800 /* 8 bit port size */ 38*ca27381dSWolfgang Denk #define BRx_PS_32 0x00001800 /* 32 bit port size */ 39*ca27381dSWolfgang Denk #define BRx_BA_MSK 0xffff8000 /* Base Address Mask */ 40*ca27381dSWolfgang Denk 41*ca27381dSWolfgang Denk #define ORxG_EAD 0x00000001 /* External addr latch delay */ 42*ca27381dSWolfgang Denk #define ORxG_EHTR 0x00000002 /* Extended hold time on read */ 43*ca27381dSWolfgang Denk #define ORxG_TRLX 0x00000004 /* Timing relaxed */ 44*ca27381dSWolfgang Denk #define ORxG_SETA 0x00000008 /* External address termination */ 45*ca27381dSWolfgang Denk #define ORxG_SCY_10_CLK 0x000000a0 /* 10 clock cycles wait states */ 46*ca27381dSWolfgang Denk #define ORxG_SCY_15_CLK 0x000000f0 /* 15 clock cycles wait states */ 47*ca27381dSWolfgang Denk #define ORxG_XACS 0x00000100 /* Extra addr to CS setup */ 48*ca27381dSWolfgang Denk #define ORxG_ACS_DIV2 0x00000600 /* CS is output 1/2 a clock later*/ 49*ca27381dSWolfgang Denk #define ORxG_CSNT 0x00000800 /* Chip Select Negation Time */ 50*ca27381dSWolfgang Denk 51*ca27381dSWolfgang Denk #define ORxU_BI 0x00000100 /* Burst Inhibit */ 52*ca27381dSWolfgang Denk #define ORxU_AM_MSK 0xffff8000 /* Address Mask Mask */ 53*ca27381dSWolfgang Denk 54*ca27381dSWolfgang Denk #define MxMR_OP_NORM 0x00000000 /* Normal Operation */ 55*ca27381dSWolfgang Denk #define MxMR_DSx_2_CYCL 0x00400000 /* 2 cycle Disable Period */ 56*ca27381dSWolfgang Denk #define MxMR_OP_WARR 0x10000000 /* Write to Array */ 57*ca27381dSWolfgang Denk #define MxMR_BSEL 0x80000000 /* Bus Select */ 58*ca27381dSWolfgang Denk 59*ca27381dSWolfgang Denk /* helpers to convert values into an OR address mask (GPCM mode) */ 60*ca27381dSWolfgang Denk #define P2SZ_TO_AM(s) ((~((s) - 1)) & 0xffff8000) /* must be pow of 2 */ 61*ca27381dSWolfgang Denk #define MEG_TO_AM(m) P2SZ_TO_AM((m) << 20) 62*ca27381dSWolfgang Denk 6342d1f039Swdenk #endif /* __MPC85xx_H__ */ 64