xref: /rk3399_rockchip-uboot/include/mpc85xx.h (revision ca27381df15c99c7b542f847359a8a4543f24d2a)
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