Mario Six | 3e67cb2 | 2019-01-21 09:18:23 +0100 | [diff] [blame] | 1 | /* |
Mario Six | 3e67cb2 | 2019-01-21 09:18:23 +0100 | [diff] [blame] | 2 | * System IO Config |
| 3 | */ |
Tom Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 4 | #define CFG_SYS_SICRL SICRL_IRQ_CKS |
Mario Six | 3e67cb2 | 2019-01-21 09:18:23 +0100 | [diff] [blame] | 5 | |
Tom Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 6 | #define CFG_SYS_DDRCDR (\ |
Mario Six | 3e67cb2 | 2019-01-21 09:18:23 +0100 | [diff] [blame] | 7 | DDRCDR_EN | \ |
| 8 | DDRCDR_PZ_MAXZ | \ |
| 9 | DDRCDR_NZ_MAXZ | \ |
| 10 | DDRCDR_M_ODR) |
| 11 | |
Tom Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 12 | #define CFG_SYS_DDR_CS0_BNDS 0x0000007f |
| 13 | #define CFG_SYS_DDR_SDRAM_CFG (SDRAM_CFG_SDRAM_TYPE_DDR2 | \ |
Mario Six | 3e67cb2 | 2019-01-21 09:18:23 +0100 | [diff] [blame] | 14 | SDRAM_CFG_32_BE | \ |
| 15 | SDRAM_CFG_SREN | \ |
| 16 | SDRAM_CFG_HSE) |
| 17 | |
Tom Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 18 | #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 Six | 3e67cb2 | 2019-01-21 09:18:23 +0100 | [diff] [blame] | 21 | (0x200 << SDRAM_INTERVAL_REFINT_SHIFT)) |
| 22 | |
Tom Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 23 | #define CFG_SYS_DDR_CS0_CONFIG (CSCONFIG_EN | CSCONFIG_AP | \ |
Mario Six | 3e67cb2 | 2019-01-21 09:18:23 +0100 | [diff] [blame] | 24 | CSCONFIG_ODT_WR_CFG | \ |
| 25 | CSCONFIG_ROW_BIT_13 | \ |
| 26 | CSCONFIG_COL_BIT_10) |
| 27 | |
Tom Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 28 | #define CFG_SYS_DDR_MODE 0x47860242 |
| 29 | #define CFG_SYS_DDR_MODE2 0x8080c000 |
Mario Six | 3e67cb2 | 2019-01-21 09:18:23 +0100 | [diff] [blame] | 30 | |
Tom Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 31 | #define CFG_SYS_DDR_TIMING_0 ((2 << TIMING_CFG0_MRS_CYC_SHIFT) | \ |
Mario Six | 3e67cb2 | 2019-01-21 09:18:23 +0100 | [diff] [blame] | 32 | (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 Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 40 | #define CFG_SYS_DDR_TIMING_1 ((TIMING_CFG1_CASLAT_40) | \ |
Mario Six | 3e67cb2 | 2019-01-21 09:18:23 +0100 | [diff] [blame] | 41 | (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 Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 49 | #define CFG_SYS_DDR_TIMING_2 ((8 << TIMING_CFG2_FOUR_ACT_SHIFT) | \ |
Mario Six | 3e67cb2 | 2019-01-21 09:18:23 +0100 | [diff] [blame] | 50 | (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 Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 57 | #define CFG_SYS_DDR_TIMING_3 0x00000000 |
Mario Six | 3e67cb2 | 2019-01-21 09:18:23 +0100 | [diff] [blame] | 58 | |
Tom Rini | 6a5dccc | 2022-11-16 13:10:41 -0500 | [diff] [blame] | 59 | #define CFG_SYS_KMBEC_FPGA_BASE 0xE8000000 |
| 60 | #define CFG_SYS_KMBEC_FPGA_SIZE 128 |