128a96671SYork Sun /* 25cfbc458SKumar Gala * Copyright 2009-2011 Freescale Semiconductor, Inc. 328a96671SYork Sun * 4*5b8031ccSTom Rini * SPDX-License-Identifier: GPL-2.0 528a96671SYork Sun */ 628a96671SYork Sun 728a96671SYork Sun #include <common.h> 85614e71bSYork Sun #include <fsl_ddr_sdram.h> 928a96671SYork Sun 1028a96671SYork Sun #define CONFIG_SYS_DDR_TIMING_3_1200 0x01030000 1128a96671SYork Sun #define CONFIG_SYS_DDR_TIMING_0_1200 0xCC550104 1228a96671SYork Sun #define CONFIG_SYS_DDR_TIMING_1_1200 0x868FAA45 1328a96671SYork Sun #define CONFIG_SYS_DDR_TIMING_2_1200 0x0FB8A912 1428a96671SYork Sun #define CONFIG_SYS_DDR_MODE_1_1200 0x00441A40 1528a96671SYork Sun #define CONFIG_SYS_DDR_MODE_2_1200 0x00100000 1628a96671SYork Sun #define CONFIG_SYS_DDR_INTERVAL_1200 0x12480100 1728a96671SYork Sun #define CONFIG_SYS_DDR_CLK_CTRL_1200 0x02800000 1828a96671SYork Sun 1928a96671SYork Sun #define CONFIG_SYS_DDR_TIMING_3_1000 0x00020000 2028a96671SYork Sun #define CONFIG_SYS_DDR_TIMING_0_1000 0xCC440104 2128a96671SYork Sun #define CONFIG_SYS_DDR_TIMING_1_1000 0x727DF944 2228a96671SYork Sun #define CONFIG_SYS_DDR_TIMING_2_1000 0x0FB088CF 2328a96671SYork Sun #define CONFIG_SYS_DDR_MODE_1_1000 0x00441830 2428a96671SYork Sun #define CONFIG_SYS_DDR_MODE_2_1000 0x00080000 2528a96671SYork Sun #define CONFIG_SYS_DDR_INTERVAL_1000 0x0F3C0100 2628a96671SYork Sun #define CONFIG_SYS_DDR_CLK_CTRL_1000 0x02800000 2728a96671SYork Sun 2828a96671SYork Sun #define CONFIG_SYS_DDR_TIMING_3_900 0x00020000 2928a96671SYork Sun #define CONFIG_SYS_DDR_TIMING_0_900 0xCC440104 3028a96671SYork Sun #define CONFIG_SYS_DDR_TIMING_1_900 0x616ba844 3128a96671SYork Sun #define CONFIG_SYS_DDR_TIMING_2_900 0x0fb088ce 3228a96671SYork Sun #define CONFIG_SYS_DDR_MODE_1_900 0x00441620 3328a96671SYork Sun #define CONFIG_SYS_DDR_MODE_2_900 0x00080000 3428a96671SYork Sun #define CONFIG_SYS_DDR_INTERVAL_900 0x0db60100 3528a96671SYork Sun #define CONFIG_SYS_DDR_CLK_CTRL_900 0x02800000 3628a96671SYork Sun 3728a96671SYork Sun #define CONFIG_SYS_DDR_TIMING_3_800 0x00020000 3828a96671SYork Sun #define CONFIG_SYS_DDR_TIMING_0_800 0xcc330104 3928a96671SYork Sun #define CONFIG_SYS_DDR_TIMING_1_800 0x6f6b4744 4028a96671SYork Sun #define CONFIG_SYS_DDR_TIMING_2_800 0x0fa888cc 4128a96671SYork Sun #define CONFIG_SYS_DDR_MODE_1_800 0x00441420 4228a96671SYork Sun #define CONFIG_SYS_DDR_MODE_2_800 0x00000000 4328a96671SYork Sun #define CONFIG_SYS_DDR_INTERVAL_800 0x0c300100 4428a96671SYork Sun #define CONFIG_SYS_DDR_CLK_CTRL_800 0x02800000 4528a96671SYork Sun 4628a96671SYork Sun #define CONFIG_SYS_DDR_CS0_BNDS 0x000000FF 4728a96671SYork Sun #define CONFIG_SYS_DDR_CS1_BNDS 0x00000000 4828a96671SYork Sun #define CONFIG_SYS_DDR_CS2_BNDS 0x000000FF 4928a96671SYork Sun #define CONFIG_SYS_DDR_CS3_BNDS 0x000000FF 5028a96671SYork Sun #define CONFIG_SYS_DDR2_CS0_BNDS 0x000000FF 5128a96671SYork Sun #define CONFIG_SYS_DDR2_CS1_BNDS 0x00000000 5228a96671SYork Sun #define CONFIG_SYS_DDR2_CS2_BNDS 0x000000FF 5328a96671SYork Sun #define CONFIG_SYS_DDR2_CS3_BNDS 0x000000FF 5428a96671SYork Sun #define CONFIG_SYS_DDR_CS0_CONFIG 0xA0044202 5528a96671SYork Sun #define CONFIG_SYS_DDR_CS0_CONFIG_2 0x00000000 5628a96671SYork Sun #define CONFIG_SYS_DDR_CS1_CONFIG 0x80004202 5728a96671SYork Sun #define CONFIG_SYS_DDR_CS2_CONFIG 0x00000000 5828a96671SYork Sun #define CONFIG_SYS_DDR_CS3_CONFIG 0x00000000 5928a96671SYork Sun #define CONFIG_SYS_DDR2_CS0_CONFIG 0x80044202 6028a96671SYork Sun #define CONFIG_SYS_DDR2_CS1_CONFIG 0x80004202 6128a96671SYork Sun #define CONFIG_SYS_DDR2_CS2_CONFIG 0x00000000 6228a96671SYork Sun #define CONFIG_SYS_DDR2_CS3_CONFIG 0x00000000 6328a96671SYork Sun #define CONFIG_SYS_DDR_INIT_ADDR 0x00000000 6428a96671SYork Sun #define CONFIG_SYS_DDR_INIT_EXT_ADDR 0x00000000 6528a96671SYork Sun #define CONFIG_SYS_DDR_CS1_CONFIG 0x80004202 6628a96671SYork Sun #define CONFIG_SYS_DDR_DATA_INIT 0xdeadbeef 6728a96671SYork Sun #define CONFIG_SYS_DDR_TIMING_4 0x00000001 6828a96671SYork Sun #define CONFIG_SYS_DDR_TIMING_5 0x02401400 6928a96671SYork Sun #define CONFIG_SYS_DDR_MODE_CONTROL 0x00000000 7028a96671SYork Sun #define CONFIG_SYS_DDR_ZQ_CNTL 0x89080600 7128a96671SYork Sun #define CONFIG_SYS_DDR_WRLVL_CNTL 0x8675F607 7228a96671SYork Sun #define CONFIG_SYS_DDR_SDRAM_CFG 0xE7044000 7328a96671SYork Sun #define CONFIG_SYS_DDR_SDRAM_CFG2 0x24401031 7428a96671SYork Sun #define CONFIG_SYS_DDR_RCW_1 0x00000000 7528a96671SYork Sun #define CONFIG_SYS_DDR_RCW_2 0x00000000 7628a96671SYork Sun #define CONFIG_MEM_INIT_VALUE 0xdeadbeef 7728a96671SYork Sun 7828a96671SYork Sun fsl_ddr_cfg_regs_t ddr_cfg_regs_800 = { 7928a96671SYork Sun .cs[0].bnds = CONFIG_SYS_DDR_CS0_BNDS, 8028a96671SYork Sun .cs[1].bnds = CONFIG_SYS_DDR_CS1_BNDS, 8128a96671SYork Sun .cs[2].bnds = CONFIG_SYS_DDR_CS2_BNDS, 8228a96671SYork Sun .cs[3].bnds = CONFIG_SYS_DDR_CS3_BNDS, 8328a96671SYork Sun .cs[0].config = CONFIG_SYS_DDR_CS0_CONFIG, 8428a96671SYork Sun .cs[0].config_2 = CONFIG_SYS_DDR_CS0_CONFIG_2, 8528a96671SYork Sun .cs[1].config = CONFIG_SYS_DDR_CS1_CONFIG, 8628a96671SYork Sun .cs[2].config = CONFIG_SYS_DDR_CS2_CONFIG, 8728a96671SYork Sun .cs[3].config = CONFIG_SYS_DDR_CS3_CONFIG, 8828a96671SYork Sun .timing_cfg_3 = CONFIG_SYS_DDR_TIMING_3_800, 8928a96671SYork Sun .timing_cfg_0 = CONFIG_SYS_DDR_TIMING_0_800, 9028a96671SYork Sun .timing_cfg_1 = CONFIG_SYS_DDR_TIMING_1_800, 9128a96671SYork Sun .timing_cfg_2 = CONFIG_SYS_DDR_TIMING_2_800, 9228a96671SYork Sun .ddr_sdram_cfg = CONFIG_SYS_DDR_SDRAM_CFG, 9328a96671SYork Sun .ddr_sdram_cfg_2 = CONFIG_SYS_DDR_SDRAM_CFG2, 9428a96671SYork Sun .ddr_sdram_mode = CONFIG_SYS_DDR_MODE_1_800, 9528a96671SYork Sun .ddr_sdram_mode_2 = CONFIG_SYS_DDR_MODE_2_800, 9628a96671SYork Sun .ddr_sdram_md_cntl = CONFIG_SYS_DDR_MODE_CONTROL, 9728a96671SYork Sun .ddr_sdram_interval = CONFIG_SYS_DDR_INTERVAL_800, 9828a96671SYork Sun .ddr_data_init = CONFIG_MEM_INIT_VALUE, 9928a96671SYork Sun .ddr_sdram_clk_cntl = CONFIG_SYS_DDR_CLK_CTRL_800, 10028a96671SYork Sun .ddr_init_addr = CONFIG_SYS_DDR_INIT_ADDR, 10128a96671SYork Sun .ddr_init_ext_addr = CONFIG_SYS_DDR_INIT_EXT_ADDR, 10228a96671SYork Sun .timing_cfg_4 = CONFIG_SYS_DDR_TIMING_4, 10328a96671SYork Sun .timing_cfg_5 = CONFIG_SYS_DDR_TIMING_5, 10428a96671SYork Sun .ddr_zq_cntl = CONFIG_SYS_DDR_ZQ_CNTL, 10528a96671SYork Sun .ddr_wrlvl_cntl = CONFIG_SYS_DDR_WRLVL_CNTL, 10628a96671SYork Sun .ddr_sdram_rcw_1 = CONFIG_SYS_DDR_RCW_1, 10728a96671SYork Sun .ddr_sdram_rcw_2 = CONFIG_SYS_DDR_RCW_2 10828a96671SYork Sun }; 10928a96671SYork Sun 11028a96671SYork Sun fsl_ddr_cfg_regs_t ddr_cfg_regs_800_2nd = { 11128a96671SYork Sun .cs[0].bnds = CONFIG_SYS_DDR2_CS0_BNDS, 11228a96671SYork Sun .cs[1].bnds = CONFIG_SYS_DDR2_CS1_BNDS, 11328a96671SYork Sun .cs[2].bnds = CONFIG_SYS_DDR2_CS2_BNDS, 11428a96671SYork Sun .cs[3].bnds = CONFIG_SYS_DDR2_CS3_BNDS, 11528a96671SYork Sun .cs[0].config = CONFIG_SYS_DDR2_CS0_CONFIG, 11628a96671SYork Sun .cs[0].config_2 = CONFIG_SYS_DDR_CS0_CONFIG_2, 11728a96671SYork Sun .cs[1].config = CONFIG_SYS_DDR2_CS1_CONFIG, 11828a96671SYork Sun .cs[2].config = CONFIG_SYS_DDR2_CS2_CONFIG, 11928a96671SYork Sun .cs[3].config = CONFIG_SYS_DDR2_CS3_CONFIG, 12028a96671SYork Sun .timing_cfg_3 = CONFIG_SYS_DDR_TIMING_3_800, 12128a96671SYork Sun .timing_cfg_0 = CONFIG_SYS_DDR_TIMING_0_800, 12228a96671SYork Sun .timing_cfg_1 = CONFIG_SYS_DDR_TIMING_1_800, 12328a96671SYork Sun .timing_cfg_2 = CONFIG_SYS_DDR_TIMING_2_800, 12428a96671SYork Sun .ddr_sdram_cfg = CONFIG_SYS_DDR_SDRAM_CFG, 12528a96671SYork Sun .ddr_sdram_cfg_2 = CONFIG_SYS_DDR_SDRAM_CFG2, 12628a96671SYork Sun .ddr_sdram_mode = CONFIG_SYS_DDR_MODE_1_800, 12728a96671SYork Sun .ddr_sdram_mode_2 = CONFIG_SYS_DDR_MODE_2_800, 12828a96671SYork Sun .ddr_sdram_md_cntl = CONFIG_SYS_DDR_MODE_CONTROL, 12928a96671SYork Sun .ddr_sdram_interval = CONFIG_SYS_DDR_INTERVAL_800, 13028a96671SYork Sun .ddr_data_init = CONFIG_MEM_INIT_VALUE, 13128a96671SYork Sun .ddr_sdram_clk_cntl = CONFIG_SYS_DDR_CLK_CTRL_800, 13228a96671SYork Sun .ddr_init_addr = CONFIG_SYS_DDR_INIT_ADDR, 13328a96671SYork Sun .ddr_init_ext_addr = CONFIG_SYS_DDR_INIT_EXT_ADDR, 13428a96671SYork Sun .timing_cfg_4 = CONFIG_SYS_DDR_TIMING_4, 13528a96671SYork Sun .timing_cfg_5 = CONFIG_SYS_DDR_TIMING_5, 13628a96671SYork Sun .ddr_zq_cntl = CONFIG_SYS_DDR_ZQ_CNTL, 13728a96671SYork Sun .ddr_wrlvl_cntl = CONFIG_SYS_DDR_WRLVL_CNTL, 13828a96671SYork Sun .ddr_sdram_rcw_1 = CONFIG_SYS_DDR_RCW_1, 13928a96671SYork Sun .ddr_sdram_rcw_2 = CONFIG_SYS_DDR_RCW_2 14028a96671SYork Sun }; 14128a96671SYork Sun 14228a96671SYork Sun fsl_ddr_cfg_regs_t ddr_cfg_regs_900 = { 14328a96671SYork Sun .cs[0].bnds = CONFIG_SYS_DDR_CS0_BNDS, 14428a96671SYork Sun .cs[1].bnds = CONFIG_SYS_DDR_CS1_BNDS, 14528a96671SYork Sun .cs[2].bnds = CONFIG_SYS_DDR_CS2_BNDS, 14628a96671SYork Sun .cs[3].bnds = CONFIG_SYS_DDR_CS3_BNDS, 14728a96671SYork Sun .cs[0].config = CONFIG_SYS_DDR_CS0_CONFIG, 14828a96671SYork Sun .cs[0].config_2 = CONFIG_SYS_DDR_CS0_CONFIG_2, 14928a96671SYork Sun .cs[1].config = CONFIG_SYS_DDR_CS1_CONFIG, 15028a96671SYork Sun .cs[2].config = CONFIG_SYS_DDR_CS2_CONFIG, 15128a96671SYork Sun .cs[3].config = CONFIG_SYS_DDR_CS3_CONFIG, 15228a96671SYork Sun .timing_cfg_3 = CONFIG_SYS_DDR_TIMING_3_900, 15328a96671SYork Sun .timing_cfg_0 = CONFIG_SYS_DDR_TIMING_0_900, 15428a96671SYork Sun .timing_cfg_1 = CONFIG_SYS_DDR_TIMING_1_900, 15528a96671SYork Sun .timing_cfg_2 = CONFIG_SYS_DDR_TIMING_2_900, 15628a96671SYork Sun .ddr_sdram_cfg = CONFIG_SYS_DDR_SDRAM_CFG, 15728a96671SYork Sun .ddr_sdram_cfg_2 = CONFIG_SYS_DDR_SDRAM_CFG2, 15828a96671SYork Sun .ddr_sdram_mode = CONFIG_SYS_DDR_MODE_1_900, 15928a96671SYork Sun .ddr_sdram_mode_2 = CONFIG_SYS_DDR_MODE_2_900, 16028a96671SYork Sun .ddr_sdram_md_cntl = CONFIG_SYS_DDR_MODE_CONTROL, 16128a96671SYork Sun .ddr_sdram_interval = CONFIG_SYS_DDR_INTERVAL_900, 16228a96671SYork Sun .ddr_data_init = CONFIG_MEM_INIT_VALUE, 16328a96671SYork Sun .ddr_sdram_clk_cntl = CONFIG_SYS_DDR_CLK_CTRL_900, 16428a96671SYork Sun .ddr_init_addr = CONFIG_SYS_DDR_INIT_ADDR, 16528a96671SYork Sun .ddr_init_ext_addr = CONFIG_SYS_DDR_INIT_EXT_ADDR, 16628a96671SYork Sun .timing_cfg_4 = CONFIG_SYS_DDR_TIMING_4, 16728a96671SYork Sun .timing_cfg_5 = CONFIG_SYS_DDR_TIMING_5, 16828a96671SYork Sun .ddr_zq_cntl = CONFIG_SYS_DDR_ZQ_CNTL, 16928a96671SYork Sun .ddr_wrlvl_cntl = CONFIG_SYS_DDR_WRLVL_CNTL, 17028a96671SYork Sun .ddr_sdram_rcw_1 = CONFIG_SYS_DDR_RCW_1, 17128a96671SYork Sun .ddr_sdram_rcw_2 = CONFIG_SYS_DDR_RCW_2 17228a96671SYork Sun }; 17328a96671SYork Sun 17428a96671SYork Sun fsl_ddr_cfg_regs_t ddr_cfg_regs_900_2nd = { 17528a96671SYork Sun .cs[0].bnds = CONFIG_SYS_DDR2_CS0_BNDS, 17628a96671SYork Sun .cs[1].bnds = CONFIG_SYS_DDR2_CS1_BNDS, 17728a96671SYork Sun .cs[2].bnds = CONFIG_SYS_DDR2_CS2_BNDS, 17828a96671SYork Sun .cs[3].bnds = CONFIG_SYS_DDR2_CS3_BNDS, 17928a96671SYork Sun .cs[0].config = CONFIG_SYS_DDR2_CS0_CONFIG, 18028a96671SYork Sun .cs[0].config_2 = CONFIG_SYS_DDR_CS0_CONFIG_2, 18128a96671SYork Sun .cs[1].config = CONFIG_SYS_DDR2_CS1_CONFIG, 18228a96671SYork Sun .cs[2].config = CONFIG_SYS_DDR2_CS2_CONFIG, 18328a96671SYork Sun .cs[3].config = CONFIG_SYS_DDR2_CS3_CONFIG, 18428a96671SYork Sun .timing_cfg_3 = CONFIG_SYS_DDR_TIMING_3_900, 18528a96671SYork Sun .timing_cfg_0 = CONFIG_SYS_DDR_TIMING_0_900, 18628a96671SYork Sun .timing_cfg_1 = CONFIG_SYS_DDR_TIMING_1_900, 18728a96671SYork Sun .timing_cfg_2 = CONFIG_SYS_DDR_TIMING_2_900, 18828a96671SYork Sun .ddr_sdram_cfg = CONFIG_SYS_DDR_SDRAM_CFG, 18928a96671SYork Sun .ddr_sdram_cfg_2 = CONFIG_SYS_DDR_SDRAM_CFG2, 19028a96671SYork Sun .ddr_sdram_mode = CONFIG_SYS_DDR_MODE_1_900, 19128a96671SYork Sun .ddr_sdram_mode_2 = CONFIG_SYS_DDR_MODE_2_900, 19228a96671SYork Sun .ddr_sdram_md_cntl = CONFIG_SYS_DDR_MODE_CONTROL, 19328a96671SYork Sun .ddr_sdram_interval = CONFIG_SYS_DDR_INTERVAL_900, 19428a96671SYork Sun .ddr_data_init = CONFIG_MEM_INIT_VALUE, 19528a96671SYork Sun .ddr_sdram_clk_cntl = CONFIG_SYS_DDR_CLK_CTRL_900, 19628a96671SYork Sun .ddr_init_addr = CONFIG_SYS_DDR_INIT_ADDR, 19728a96671SYork Sun .ddr_init_ext_addr = CONFIG_SYS_DDR_INIT_EXT_ADDR, 19828a96671SYork Sun .timing_cfg_4 = CONFIG_SYS_DDR_TIMING_4, 19928a96671SYork Sun .timing_cfg_5 = CONFIG_SYS_DDR_TIMING_5, 20028a96671SYork Sun .ddr_zq_cntl = CONFIG_SYS_DDR_ZQ_CNTL, 20128a96671SYork Sun .ddr_wrlvl_cntl = CONFIG_SYS_DDR_WRLVL_CNTL, 20228a96671SYork Sun .ddr_sdram_rcw_1 = CONFIG_SYS_DDR_RCW_1, 20328a96671SYork Sun .ddr_sdram_rcw_2 = CONFIG_SYS_DDR_RCW_2 20428a96671SYork Sun }; 20528a96671SYork Sun 20628a96671SYork Sun fsl_ddr_cfg_regs_t ddr_cfg_regs_1000 = { 20728a96671SYork Sun .cs[0].bnds = CONFIG_SYS_DDR_CS0_BNDS, 20828a96671SYork Sun .cs[1].bnds = CONFIG_SYS_DDR_CS1_BNDS, 20928a96671SYork Sun .cs[2].bnds = CONFIG_SYS_DDR_CS2_BNDS, 21028a96671SYork Sun .cs[3].bnds = CONFIG_SYS_DDR_CS3_BNDS, 21128a96671SYork Sun .cs[0].config = CONFIG_SYS_DDR_CS0_CONFIG, 21228a96671SYork Sun .cs[0].config_2 = CONFIG_SYS_DDR_CS0_CONFIG_2, 21328a96671SYork Sun .cs[1].config = CONFIG_SYS_DDR_CS1_CONFIG, 21428a96671SYork Sun .cs[2].config = CONFIG_SYS_DDR_CS2_CONFIG, 21528a96671SYork Sun .cs[3].config = CONFIG_SYS_DDR_CS3_CONFIG, 21628a96671SYork Sun .timing_cfg_3 = CONFIG_SYS_DDR_TIMING_3_1000, 21728a96671SYork Sun .timing_cfg_0 = CONFIG_SYS_DDR_TIMING_0_1000, 21828a96671SYork Sun .timing_cfg_1 = CONFIG_SYS_DDR_TIMING_1_1000, 21928a96671SYork Sun .timing_cfg_2 = CONFIG_SYS_DDR_TIMING_2_1000, 22028a96671SYork Sun .ddr_sdram_cfg = CONFIG_SYS_DDR_SDRAM_CFG, 22128a96671SYork Sun .ddr_sdram_cfg_2 = CONFIG_SYS_DDR_SDRAM_CFG2, 22228a96671SYork Sun .ddr_sdram_mode = CONFIG_SYS_DDR_MODE_1_1000, 22328a96671SYork Sun .ddr_sdram_mode_2 = CONFIG_SYS_DDR_MODE_2_1000, 22428a96671SYork Sun .ddr_sdram_md_cntl = CONFIG_SYS_DDR_MODE_CONTROL, 22528a96671SYork Sun .ddr_sdram_interval = CONFIG_SYS_DDR_INTERVAL_1000, 22628a96671SYork Sun .ddr_data_init = CONFIG_MEM_INIT_VALUE, 22728a96671SYork Sun .ddr_sdram_clk_cntl = CONFIG_SYS_DDR_CLK_CTRL_1000, 22828a96671SYork Sun .ddr_init_addr = CONFIG_SYS_DDR_INIT_ADDR, 22928a96671SYork Sun .ddr_init_ext_addr = CONFIG_SYS_DDR_INIT_EXT_ADDR, 23028a96671SYork Sun .timing_cfg_4 = CONFIG_SYS_DDR_TIMING_4, 23128a96671SYork Sun .timing_cfg_5 = CONFIG_SYS_DDR_TIMING_5, 23228a96671SYork Sun .ddr_zq_cntl = CONFIG_SYS_DDR_ZQ_CNTL, 23328a96671SYork Sun .ddr_wrlvl_cntl = CONFIG_SYS_DDR_WRLVL_CNTL, 23428a96671SYork Sun .ddr_sdram_rcw_1 = CONFIG_SYS_DDR_RCW_1, 23528a96671SYork Sun .ddr_sdram_rcw_2 = CONFIG_SYS_DDR_RCW_2 23628a96671SYork Sun }; 23728a96671SYork Sun 23828a96671SYork Sun fsl_ddr_cfg_regs_t ddr_cfg_regs_1000_2nd = { 23928a96671SYork Sun .cs[0].bnds = CONFIG_SYS_DDR2_CS0_BNDS, 24028a96671SYork Sun .cs[1].bnds = CONFIG_SYS_DDR2_CS1_BNDS, 24128a96671SYork Sun .cs[2].bnds = CONFIG_SYS_DDR2_CS2_BNDS, 24228a96671SYork Sun .cs[3].bnds = CONFIG_SYS_DDR2_CS3_BNDS, 24328a96671SYork Sun .cs[0].config = CONFIG_SYS_DDR2_CS0_CONFIG, 24428a96671SYork Sun .cs[0].config_2 = CONFIG_SYS_DDR_CS0_CONFIG_2, 24528a96671SYork Sun .cs[1].config = CONFIG_SYS_DDR2_CS1_CONFIG, 24628a96671SYork Sun .cs[2].config = CONFIG_SYS_DDR2_CS2_CONFIG, 24728a96671SYork Sun .cs[3].config = CONFIG_SYS_DDR2_CS3_CONFIG, 24828a96671SYork Sun .timing_cfg_3 = CONFIG_SYS_DDR_TIMING_3_1000, 24928a96671SYork Sun .timing_cfg_0 = CONFIG_SYS_DDR_TIMING_0_1000, 25028a96671SYork Sun .timing_cfg_1 = CONFIG_SYS_DDR_TIMING_1_1000, 25128a96671SYork Sun .timing_cfg_2 = CONFIG_SYS_DDR_TIMING_2_1000, 25228a96671SYork Sun .ddr_sdram_cfg = CONFIG_SYS_DDR_SDRAM_CFG, 25328a96671SYork Sun .ddr_sdram_cfg_2 = CONFIG_SYS_DDR_SDRAM_CFG2, 25428a96671SYork Sun .ddr_sdram_mode = CONFIG_SYS_DDR_MODE_1_1000, 25528a96671SYork Sun .ddr_sdram_mode_2 = CONFIG_SYS_DDR_MODE_2_1000, 25628a96671SYork Sun .ddr_sdram_md_cntl = CONFIG_SYS_DDR_MODE_CONTROL, 25728a96671SYork Sun .ddr_sdram_interval = CONFIG_SYS_DDR_INTERVAL_1000, 25828a96671SYork Sun .ddr_data_init = CONFIG_MEM_INIT_VALUE, 25928a96671SYork Sun .ddr_sdram_clk_cntl = CONFIG_SYS_DDR_CLK_CTRL_1000, 26028a96671SYork Sun .ddr_init_addr = CONFIG_SYS_DDR_INIT_ADDR, 26128a96671SYork Sun .ddr_init_ext_addr = CONFIG_SYS_DDR_INIT_EXT_ADDR, 26228a96671SYork Sun .timing_cfg_4 = CONFIG_SYS_DDR_TIMING_4, 26328a96671SYork Sun .timing_cfg_5 = CONFIG_SYS_DDR_TIMING_5, 26428a96671SYork Sun .ddr_zq_cntl = CONFIG_SYS_DDR_ZQ_CNTL, 26528a96671SYork Sun .ddr_wrlvl_cntl = CONFIG_SYS_DDR_WRLVL_CNTL, 26628a96671SYork Sun .ddr_sdram_rcw_1 = CONFIG_SYS_DDR_RCW_1, 26728a96671SYork Sun .ddr_sdram_rcw_2 = CONFIG_SYS_DDR_RCW_2 26828a96671SYork Sun }; 26928a96671SYork Sun 27028a96671SYork Sun fsl_ddr_cfg_regs_t ddr_cfg_regs_1200 = { 27128a96671SYork Sun .cs[0].bnds = CONFIG_SYS_DDR_CS0_BNDS, 27228a96671SYork Sun .cs[1].bnds = CONFIG_SYS_DDR_CS1_BNDS, 27328a96671SYork Sun .cs[2].bnds = CONFIG_SYS_DDR_CS2_BNDS, 27428a96671SYork Sun .cs[3].bnds = CONFIG_SYS_DDR_CS3_BNDS, 27528a96671SYork Sun .cs[0].config = CONFIG_SYS_DDR_CS0_CONFIG, 27628a96671SYork Sun .cs[0].config_2 = CONFIG_SYS_DDR_CS0_CONFIG_2, 27728a96671SYork Sun .cs[1].config = CONFIG_SYS_DDR_CS1_CONFIG, 27828a96671SYork Sun .cs[2].config = CONFIG_SYS_DDR_CS2_CONFIG, 27928a96671SYork Sun .cs[3].config = CONFIG_SYS_DDR_CS3_CONFIG, 28028a96671SYork Sun .timing_cfg_3 = CONFIG_SYS_DDR_TIMING_3_1200, 28128a96671SYork Sun .timing_cfg_0 = CONFIG_SYS_DDR_TIMING_0_1200, 28228a96671SYork Sun .timing_cfg_1 = CONFIG_SYS_DDR_TIMING_1_1200, 28328a96671SYork Sun .timing_cfg_2 = CONFIG_SYS_DDR_TIMING_2_1200, 28428a96671SYork Sun .ddr_sdram_cfg = CONFIG_SYS_DDR_SDRAM_CFG, 28528a96671SYork Sun .ddr_sdram_cfg_2 = CONFIG_SYS_DDR_SDRAM_CFG2, 28628a96671SYork Sun .ddr_sdram_mode = CONFIG_SYS_DDR_MODE_1_1200, 28728a96671SYork Sun .ddr_sdram_mode_2 = CONFIG_SYS_DDR_MODE_2_1200, 28828a96671SYork Sun .ddr_sdram_md_cntl = CONFIG_SYS_DDR_MODE_CONTROL, 28928a96671SYork Sun .ddr_sdram_interval = CONFIG_SYS_DDR_INTERVAL_1200, 29028a96671SYork Sun .ddr_data_init = CONFIG_MEM_INIT_VALUE, 29128a96671SYork Sun .ddr_sdram_clk_cntl = CONFIG_SYS_DDR_CLK_CTRL_1200, 29228a96671SYork Sun .ddr_init_addr = CONFIG_SYS_DDR_INIT_ADDR, 29328a96671SYork Sun .ddr_init_ext_addr = CONFIG_SYS_DDR_INIT_EXT_ADDR, 29428a96671SYork Sun .timing_cfg_4 = CONFIG_SYS_DDR_TIMING_4, 29528a96671SYork Sun .timing_cfg_5 = CONFIG_SYS_DDR_TIMING_5, 29628a96671SYork Sun .ddr_zq_cntl = CONFIG_SYS_DDR_ZQ_CNTL, 29728a96671SYork Sun .ddr_wrlvl_cntl = CONFIG_SYS_DDR_WRLVL_CNTL, 29828a96671SYork Sun .ddr_sdram_rcw_1 = CONFIG_SYS_DDR_RCW_1, 29928a96671SYork Sun .ddr_sdram_rcw_2 = CONFIG_SYS_DDR_RCW_2 30028a96671SYork Sun }; 30128a96671SYork Sun 30228a96671SYork Sun fsl_ddr_cfg_regs_t ddr_cfg_regs_1200_2nd = { 30328a96671SYork Sun .cs[0].bnds = CONFIG_SYS_DDR2_CS0_BNDS, 30428a96671SYork Sun .cs[1].bnds = CONFIG_SYS_DDR2_CS1_BNDS, 30528a96671SYork Sun .cs[2].bnds = CONFIG_SYS_DDR2_CS2_BNDS, 30628a96671SYork Sun .cs[3].bnds = CONFIG_SYS_DDR2_CS3_BNDS, 30728a96671SYork Sun .cs[0].config = CONFIG_SYS_DDR2_CS0_CONFIG, 30828a96671SYork Sun .cs[0].config_2 = CONFIG_SYS_DDR_CS0_CONFIG_2, 30928a96671SYork Sun .cs[1].config = CONFIG_SYS_DDR2_CS1_CONFIG, 31028a96671SYork Sun .cs[2].config = CONFIG_SYS_DDR2_CS2_CONFIG, 31128a96671SYork Sun .cs[3].config = CONFIG_SYS_DDR2_CS3_CONFIG, 31228a96671SYork Sun .timing_cfg_3 = CONFIG_SYS_DDR_TIMING_3_1200, 31328a96671SYork Sun .timing_cfg_0 = CONFIG_SYS_DDR_TIMING_0_1200, 31428a96671SYork Sun .timing_cfg_1 = CONFIG_SYS_DDR_TIMING_1_1200, 31528a96671SYork Sun .timing_cfg_2 = CONFIG_SYS_DDR_TIMING_2_1200, 31628a96671SYork Sun .ddr_sdram_cfg = CONFIG_SYS_DDR_SDRAM_CFG, 31728a96671SYork Sun .ddr_sdram_cfg_2 = CONFIG_SYS_DDR_SDRAM_CFG2, 31828a96671SYork Sun .ddr_sdram_mode = CONFIG_SYS_DDR_MODE_1_1200, 31928a96671SYork Sun .ddr_sdram_mode_2 = CONFIG_SYS_DDR_MODE_2_1200, 32028a96671SYork Sun .ddr_sdram_md_cntl = CONFIG_SYS_DDR_MODE_CONTROL, 32128a96671SYork Sun .ddr_sdram_interval = CONFIG_SYS_DDR_INTERVAL_1200, 32228a96671SYork Sun .ddr_data_init = CONFIG_MEM_INIT_VALUE, 32328a96671SYork Sun .ddr_sdram_clk_cntl = CONFIG_SYS_DDR_CLK_CTRL_1200, 32428a96671SYork Sun .ddr_init_addr = CONFIG_SYS_DDR_INIT_ADDR, 32528a96671SYork Sun .ddr_init_ext_addr = CONFIG_SYS_DDR_INIT_EXT_ADDR, 32628a96671SYork Sun .timing_cfg_4 = CONFIG_SYS_DDR_TIMING_4, 32728a96671SYork Sun .timing_cfg_5 = CONFIG_SYS_DDR_TIMING_5, 32828a96671SYork Sun .ddr_zq_cntl = CONFIG_SYS_DDR_ZQ_CNTL, 32928a96671SYork Sun .ddr_wrlvl_cntl = CONFIG_SYS_DDR_WRLVL_CNTL, 33028a96671SYork Sun .ddr_sdram_rcw_1 = CONFIG_SYS_DDR_RCW_1, 33128a96671SYork Sun .ddr_sdram_rcw_2 = CONFIG_SYS_DDR_RCW_2 33228a96671SYork Sun }; 33328a96671SYork Sun 33428a96671SYork Sun fixed_ddr_parm_t fixed_ddr_parm_0[] = { 335dea8bd62SYork Sun {750, 850, &ddr_cfg_regs_800}, 336dea8bd62SYork Sun {850, 950, &ddr_cfg_regs_900}, 337dea8bd62SYork Sun {950, 1050, &ddr_cfg_regs_1000}, 338dea8bd62SYork Sun {1050, 1250, &ddr_cfg_regs_1200}, 33928a96671SYork Sun {0, 0, NULL} 34028a96671SYork Sun }; 34128a96671SYork Sun 34228a96671SYork Sun fixed_ddr_parm_t fixed_ddr_parm_1[] = { 343dea8bd62SYork Sun {750, 850, &ddr_cfg_regs_800_2nd}, 344dea8bd62SYork Sun {850, 950, &ddr_cfg_regs_900_2nd}, 345dea8bd62SYork Sun {950, 1050, &ddr_cfg_regs_1000_2nd}, 346dea8bd62SYork Sun {1050, 1250, &ddr_cfg_regs_1200_2nd}, 34728a96671SYork Sun {0, 0, NULL} 34828a96671SYork Sun }; 349