|  | /* | 
|  | * Copyright (C) 2011 | 
|  | * Heiko Schocher, DENX Software Engineering, hs@denx.de. | 
|  | * | 
|  | * SPDX-License-Identifier:	GPL-2.0+ | 
|  | */ | 
|  | #ifndef _DV_DDR2_DEFS_H_ | 
|  | #define _DV_DDR2_DEFS_H_ | 
|  |  | 
|  | /* | 
|  | * DDR2 Memory Ctrl Register structure | 
|  | * See sprueh7d.pdf for more details. | 
|  | */ | 
|  | struct dv_ddr2_regs_ctrl { | 
|  | unsigned char	rsvd0[4];	/* 0x00 */ | 
|  | unsigned int	sdrstat;	/* 0x04 */ | 
|  | unsigned int	sdbcr;		/* 0x08 */ | 
|  | unsigned int	sdrcr;		/* 0x0C */ | 
|  | unsigned int	sdtimr;		/* 0x10 */ | 
|  | unsigned int	sdtimr2;	/* 0x14 */ | 
|  | unsigned char	rsvd1[4];	/* 0x18 */ | 
|  | unsigned int	sdbcr2;		/* 0x1C */ | 
|  | unsigned int	pbbpr;		/* 0x20 */ | 
|  | unsigned char	rsvd2[156];	/* 0x24 */ | 
|  | unsigned int	irr;		/* 0xC0 */ | 
|  | unsigned int	imr;		/* 0xC4 */ | 
|  | unsigned int	imsr;		/* 0xC8 */ | 
|  | unsigned int	imcr;		/* 0xCC */ | 
|  | unsigned char	rsvd3[20];	/* 0xD0 */ | 
|  | unsigned int	ddrphycr;	/* 0xE4 */ | 
|  | unsigned int	ddrphycr2;	/* 0xE8 */ | 
|  | unsigned char	rsvd4[4];	/* 0xEC */ | 
|  | }; | 
|  |  | 
|  | #define DV_DDR_PHY_PWRDNEN		0x40 | 
|  | #define DV_DDR_PHY_EXT_STRBEN	0x80 | 
|  | #define DV_DDR_PHY_RD_LATENCY_SHIFT	0 | 
|  |  | 
|  | #define DV_DDR_SDTMR1_RFC_SHIFT	25 | 
|  | #define DV_DDR_SDTMR1_RP_SHIFT	22 | 
|  | #define DV_DDR_SDTMR1_RCD_SHIFT	19 | 
|  | #define DV_DDR_SDTMR1_WR_SHIFT	16 | 
|  | #define DV_DDR_SDTMR1_RAS_SHIFT	11 | 
|  | #define DV_DDR_SDTMR1_RC_SHIFT	6 | 
|  | #define DV_DDR_SDTMR1_RRD_SHIFT	3 | 
|  | #define DV_DDR_SDTMR1_WTR_SHIFT	0 | 
|  |  | 
|  | #define DV_DDR_SDTMR2_RASMAX_SHIFT	27 | 
|  | #define DV_DDR_SDTMR2_XP_SHIFT	25 | 
|  | #define DV_DDR_SDTMR2_ODT_SHIFT	23 | 
|  | #define DV_DDR_SDTMR2_XSNR_SHIFT	16 | 
|  | #define DV_DDR_SDTMR2_XSRD_SHIFT	8 | 
|  | #define DV_DDR_SDTMR2_RTP_SHIFT	5 | 
|  | #define DV_DDR_SDTMR2_CKE_SHIFT	0 | 
|  |  | 
|  | #define DV_DDR_SDCR_DDR2TERM1_SHIFT	27 | 
|  | #define DV_DDR_SDCR_IBANK_POS_SHIFT	26 | 
|  | #define DV_DDR_SDCR_MSDRAMEN_SHIFT	25 | 
|  | #define DV_DDR_SDCR_DDRDRIVE1_SHIFT	24 | 
|  | #define DV_DDR_SDCR_BOOTUNLOCK_SHIFT	23 | 
|  | #define DV_DDR_SDCR_DDR_DDQS_SHIFT	22 | 
|  | #define DV_DDR_SDCR_DDR2EN_SHIFT	20 | 
|  | #define DV_DDR_SDCR_DDRDRIVE0_SHIFT	18 | 
|  | #define DV_DDR_SDCR_DDREN_SHIFT	17 | 
|  | #define DV_DDR_SDCR_SDRAMEN_SHIFT	16 | 
|  | #define DV_DDR_SDCR_TIMUNLOCK_SHIFT	15 | 
|  | #define DV_DDR_SDCR_BUS_WIDTH_SHIFT	14 | 
|  | #define DV_DDR_SDCR_CL_SHIFT		9 | 
|  | #define DV_DDR_SDCR_IBANK_SHIFT	4 | 
|  | #define DV_DDR_SDCR_PAGESIZE_SHIFT	0 | 
|  |  | 
|  | #define DV_DDR_SDRCR_LPMODEN	(1 << 31) | 
|  | #define DV_DDR_SDRCR_MCLKSTOPEN	(1 << 30) | 
|  |  | 
|  | #define DV_DDR_SRCR_LPMODEN_SHIFT	31 | 
|  | #define DV_DDR_SRCR_MCLKSTOPEN_SHIFT	30 | 
|  |  | 
|  | #define DV_DDR_BOOTUNLOCK	(1 << DV_DDR_SDCR_BOOTUNLOCK_SHIFT) | 
|  | #define DV_DDR_TIMUNLOCK	(1 << DV_DDR_SDCR_TIMUNLOCK_SHIFT) | 
|  |  | 
|  | #define dv_ddr2_regs_ctrl \ | 
|  | ((struct dv_ddr2_regs_ctrl *)DAVINCI_DDR_EMIF_CTRL_BASE) | 
|  |  | 
|  | #endif /* _DV_DDR2_DEFS_H_ */ |