blob: f64c0eee1bb5ff95d5ac01f633d1ab5d2a6a0bff [file] [log] [blame]
Mario Six3e67cb22019-01-21 09:18:23 +01001/*
Mario Six3e67cb22019-01-21 09:18:23 +01002 * System IO Config
3 */
Tom Rini6a5dccc2022-11-16 13:10:41 -05004#define CFG_SYS_SICRL SICRL_IRQ_CKS
Mario Six3e67cb22019-01-21 09:18:23 +01005
Tom Rini6a5dccc2022-11-16 13:10:41 -05006#define CFG_SYS_DDRCDR (\
Mario Six3e67cb22019-01-21 09:18:23 +01007 DDRCDR_EN | \
8 DDRCDR_PZ_MAXZ | \
9 DDRCDR_NZ_MAXZ | \
10 DDRCDR_M_ODR)
11
Tom Rini6a5dccc2022-11-16 13:10:41 -050012#define CFG_SYS_DDR_CS0_BNDS 0x0000007f
13#define CFG_SYS_DDR_SDRAM_CFG (SDRAM_CFG_SDRAM_TYPE_DDR2 | \
Mario Six3e67cb22019-01-21 09:18:23 +010014 SDRAM_CFG_32_BE | \
15 SDRAM_CFG_SREN | \
16 SDRAM_CFG_HSE)
17
Tom Rini6a5dccc2022-11-16 13:10:41 -050018#define CFG_SYS_DDR_SDRAM_CFG2 0x00401000
19#define CFG_SYS_DDR_CLK_CNTL (DDR_SDRAM_CLK_CNTL_CLK_ADJUST_05)
20#define CFG_SYS_DDR_INTERVAL ((0x064 << SDRAM_INTERVAL_BSTOPRE_SHIFT) | \
Mario Six3e67cb22019-01-21 09:18:23 +010021 (0x200 << SDRAM_INTERVAL_REFINT_SHIFT))
22
Tom Rini6a5dccc2022-11-16 13:10:41 -050023#define CFG_SYS_DDR_CS0_CONFIG (CSCONFIG_EN | CSCONFIG_AP | \
Mario Six3e67cb22019-01-21 09:18:23 +010024 CSCONFIG_ODT_WR_CFG | \
25 CSCONFIG_ROW_BIT_13 | \
26 CSCONFIG_COL_BIT_10)
27
Tom Rini6a5dccc2022-11-16 13:10:41 -050028#define CFG_SYS_DDR_MODE 0x47860242
29#define CFG_SYS_DDR_MODE2 0x8080c000
Mario Six3e67cb22019-01-21 09:18:23 +010030
Tom Rini6a5dccc2022-11-16 13:10:41 -050031#define CFG_SYS_DDR_TIMING_0 ((2 << TIMING_CFG0_MRS_CYC_SHIFT) | \
Mario Six3e67cb22019-01-21 09:18:23 +010032 (8 << TIMING_CFG0_ODT_PD_EXIT_SHIFT) | \
33 (2 << TIMING_CFG0_PRE_PD_EXIT_SHIFT) | \
34 (2 << TIMING_CFG0_ACT_PD_EXIT_SHIFT) | \
35 (0 << TIMING_CFG0_WWT_SHIFT) | \
36 (0 << TIMING_CFG0_RRT_SHIFT) | \
37 (0 << TIMING_CFG0_WRT_SHIFT) | \
38 (0 << TIMING_CFG0_RWT_SHIFT))
39
Tom Rini6a5dccc2022-11-16 13:10:41 -050040#define CFG_SYS_DDR_TIMING_1 ((TIMING_CFG1_CASLAT_40) | \
Mario Six3e67cb22019-01-21 09:18:23 +010041 (2 << TIMING_CFG1_WRTORD_SHIFT) | \
42 (2 << TIMING_CFG1_ACTTOACT_SHIFT) | \
43 (3 << TIMING_CFG1_WRREC_SHIFT) | \
44 (7 << TIMING_CFG1_REFREC_SHIFT) | \
45 (3 << TIMING_CFG1_ACTTORW_SHIFT) | \
46 (7 << TIMING_CFG1_ACTTOPRE_SHIFT) | \
47 (3 << TIMING_CFG1_PRETOACT_SHIFT))
48
Tom Rini6a5dccc2022-11-16 13:10:41 -050049#define CFG_SYS_DDR_TIMING_2 ((8 << TIMING_CFG2_FOUR_ACT_SHIFT) | \
Mario Six3e67cb22019-01-21 09:18:23 +010050 (3 << TIMING_CFG2_CKE_PLS_SHIFT) | \
51 (2 << TIMING_CFG2_WR_DATA_DELAY_SHIFT) | \
52 (2 << TIMING_CFG2_RD_TO_PRE_SHIFT) | \
53 (3 << TIMING_CFG2_WR_LAT_DELAY_SHIFT) | \
54 (0 << TIMING_CFG2_ADD_LAT_SHIFT) | \
55 (5 << TIMING_CFG2_CPO_SHIFT))
56
Tom Rini6a5dccc2022-11-16 13:10:41 -050057#define CFG_SYS_DDR_TIMING_3 0x00000000
Mario Six3e67cb22019-01-21 09:18:23 +010058
Tom Rini6a5dccc2022-11-16 13:10:41 -050059#define CFG_SYS_KMBEC_FPGA_BASE 0xE8000000
60#define CFG_SYS_KMBEC_FPGA_SIZE 128