143 lines
4.7 KiB
C
143 lines
4.7 KiB
C
#ifndef __MACH_ESDCTL_V2_H
|
|
#define __MACH_ESDCTL_V2_H
|
|
|
|
/* SDRAM Controller registers */
|
|
#define IMX_ESDCTL0 0x00 /* Enhanced SDRAM Control Register 0 */
|
|
#define IMX_ESDCFG0 0x04 /* Enhanced SDRAM Configuration Register 0 */
|
|
#define IMX_ESDCTL1 0x08 /* Enhanced SDRAM Control Register 1 */
|
|
#define IMX_ESDCFG1 0x0C /* Enhanced SDRAM Configuration Register 1 */
|
|
#define IMX_ESDMISC 0x10 /* Enhanced SDRAM Miscellanious Register */
|
|
|
|
#define ESDCTL0_SDE (1 << 31)
|
|
#define ESDCTL0_SMODE_NORMAL (0 << 28)
|
|
#define ESDCTL0_SMODE_PRECHARGE (1 << 28)
|
|
#define ESDCTL0_SMODE_AUTO_REFRESH (2 << 28)
|
|
#define ESDCTL0_SMODE_LOAD_MODE (3 << 28)
|
|
#define ESDCTL0_SMODE_MANUAL_SELF_REFRESH (4 << 28)
|
|
#define ESDCTL0_SP (1 << 27)
|
|
#define ESDCTL0_ROW11 (0 << 24)
|
|
#define ESDCTL0_ROW12 (1 << 24)
|
|
#define ESDCTL0_ROW13 (2 << 24)
|
|
#define ESDCTL0_ROW14 (3 << 24)
|
|
#define ESDCTL0_ROW15 (4 << 24)
|
|
#define ESDCTL0_ROW_MASK (7 << 24)
|
|
#define ESDCTL0_COL8 (0 << 20)
|
|
#define ESDCTL0_COL9 (1 << 20)
|
|
#define ESDCTL0_COL10 (2 << 20)
|
|
#define ESDCTL0_COL_MASK (3 << 20)
|
|
#define ESDCTL0_DSIZ_31_16 (0 << 16)
|
|
#define ESDCTL0_DSIZ_15_0 (1 << 16)
|
|
#define ESDCTL0_DSIZ_31_0 (2 << 16)
|
|
#define ESDCTL0_DSIZ_MASK (3 << 16)
|
|
#define ESDCTL0_REF1 (1 << 13)
|
|
#define ESDCTL0_REF2 (2 << 13)
|
|
#define ESDCTL0_REF4 (3 << 13)
|
|
#define ESDCTL0_REF8 (4 << 13)
|
|
#define ESDCTL0_REF16 (5 << 13)
|
|
#define ESDCTL0_PWDT_DISABLED (0 << 10)
|
|
#define ESDCTL0_PWDT_PRECHARGE_PWDN (1 << 10)
|
|
#define ESDCTL0_PWDT_PWDN_64 (2 << 10)
|
|
#define ESDCTL0_PWDT_PWDN_128 (3 << 10)
|
|
#define ESDCTL0_FP (1 << 8)
|
|
#define ESDCTL0_BL (1 << 7)
|
|
|
|
#define ESDMISC_RST 0x00000002
|
|
#define ESDMISC_MDDR_EN 0x00000004
|
|
#define ESDMISC_MDDR_DIS 0x00000000
|
|
#define ESDMISC_MDDR_DL_RST 0x00000008
|
|
#define ESDMISC_MDDR_MDIS 0x00000010
|
|
#define ESDMISC_LHD 0x00000020
|
|
#define ESDMISC_SDRAMRDY 0x80000000
|
|
|
|
#define ESDCFGx_tXP_MASK 0x00600000
|
|
#define ESDCFGx_tXP_1 0x00000000
|
|
#define ESDCFGx_tXP_2 0x00200000
|
|
#define ESDCFGx_tXP_3 0x00400000
|
|
#define ESDCFGx_tXP_4 0x00600000
|
|
|
|
#define ESDCFGx_tWTR_MASK 0x00100000
|
|
#define ESDCFGx_tWTR_1 0x00000000
|
|
#define ESDCFGx_tWTR_2 0x00100000
|
|
|
|
#define ESDCFGx_tRP_MASK 0x000c0000
|
|
#define ESDCFGx_tRP_1 0x00000000
|
|
#define ESDCFGx_tRP_2 0x00040000
|
|
#define ESDCFGx_tRP_3 0x00080000
|
|
#define ESDCFGx_tRP_4 0x000c0000
|
|
|
|
|
|
#define ESDCFGx_tMRD_MASK 0x00030000
|
|
#define ESDCFGx_tMRD_1 0x00000000
|
|
#define ESDCFGx_tMRD_2 0x00010000
|
|
#define ESDCFGx_tMRD_3 0x00020000
|
|
#define ESDCFGx_tMRD_4 0x00030000
|
|
|
|
|
|
#define ESDCFGx_tWR_MASK 0x00008000
|
|
#define ESDCFGx_tWR_1_2 0x00000000
|
|
#define ESDCFGx_tWR_2_3 0x00008000
|
|
|
|
#define ESDCFGx_tRAS_MASK 0x00007000
|
|
#define ESDCFGx_tRAS_1 0x00000000
|
|
#define ESDCFGx_tRAS_2 0x00001000
|
|
#define ESDCFGx_tRAS_3 0x00002000
|
|
#define ESDCFGx_tRAS_4 0x00003000
|
|
#define ESDCFGx_tRAS_5 0x00004000
|
|
#define ESDCFGx_tRAS_6 0x00005000
|
|
#define ESDCFGx_tRAS_7 0x00006000
|
|
#define ESDCFGx_tRAS_8 0x00007000
|
|
|
|
|
|
#define ESDCFGx_tRRD_MASK 0x00000c00
|
|
#define ESDCFGx_tRRD_1 0x00000000
|
|
#define ESDCFGx_tRRD_2 0x00000400
|
|
#define ESDCFGx_tRRD_3 0x00000800
|
|
#define ESDCFGx_tRRD_4 0x00000c00
|
|
|
|
|
|
#define ESDCFGx_tCAS_MASK 0x00000300
|
|
#define ESDCFGx_tCAS_2 0x00000200
|
|
#define ESDCFGx_tCAS_3 0x00000300
|
|
|
|
#define ESDCFGx_tRCD_MASK 0x00000070
|
|
#define ESDCFGx_tRCD_1 0x00000000
|
|
#define ESDCFGx_tRCD_2 0x00000010
|
|
#define ESDCFGx_tRCD_3 0x00000020
|
|
#define ESDCFGx_tRCD_4 0x00000030
|
|
#define ESDCFGx_tRCD_5 0x00000040
|
|
#define ESDCFGx_tRCD_6 0x00000050
|
|
#define ESDCFGx_tRCD_7 0x00000060
|
|
#define ESDCFGx_tRCD_8 0x00000070
|
|
|
|
#define ESDCFGx_tRC_MASK 0x0000000f
|
|
#define ESDCFGx_tRC_20 0x00000000
|
|
#define ESDCFGx_tRC_2 0x00000001
|
|
#define ESDCFGx_tRC_3 0x00000002
|
|
#define ESDCFGx_tRC_4 0x00000003
|
|
#define ESDCFGx_tRC_5 0x00000004
|
|
#define ESDCFGx_tRC_6 0x00000005
|
|
#define ESDCFGx_tRC_7 0x00000006
|
|
#define ESDCFGx_tRC_8 0x00000007
|
|
#define ESDCFGx_tRC_9 0x00000008
|
|
#define ESDCFGx_tRC_10 0x00000009
|
|
#define ESDCFGx_tRC_11 0x0000000a
|
|
#define ESDCFGx_tRC_12 0x0000000b
|
|
#define ESDCFGx_tRC_13 0x0000000c
|
|
#define ESDCFGx_tRC_14 0x0000000d
|
|
//#define ESDCFGx_tRC_14 0x0000000e // 15 seems to not exist
|
|
#define ESDCFGx_tRC_16 0x0000000f
|
|
|
|
#ifndef __ASSEMBLY__
|
|
void __naked __noreturn imx1_barebox_entry(void *boarddata);
|
|
void __naked __noreturn imx25_barebox_entry(void *boarddata);
|
|
void __naked __noreturn imx27_barebox_entry(void *boarddata);
|
|
void __naked __noreturn imx31_barebox_entry(void *boarddata);
|
|
void __naked __noreturn imx35_barebox_entry(void *boarddata);
|
|
void __naked __noreturn imx51_barebox_entry(void *boarddata);
|
|
void __naked __noreturn imx53_barebox_entry(void *boarddata);
|
|
void __naked __noreturn imx6_barebox_entry(void *boarddata);
|
|
void imx_esdctl_disable(void);
|
|
#endif
|
|
|
|
#endif /* __MACH_ESDCTL_V2_H */
|