1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Copyright (C) 2014 Freescale Semiconductor 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 5*4882a593Smuzhiyun */ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #ifndef __LS2_SIMU_H 8*4882a593Smuzhiyun #define __LS2_SIMU_H 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun #include "ls2080a_common.h" 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun #define CONFIG_SYS_CLK_FREQ 100000000 13*4882a593Smuzhiyun #define CONFIG_DDR_CLK_FREQ 133333333 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun #define CONFIG_SYS_MXC_I2C1_SPEED 40000000 16*4882a593Smuzhiyun #define CONFIG_SYS_MXC_I2C2_SPEED 40000000 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun #define CONFIG_DIMM_SLOTS_PER_CTLR 1 19*4882a593Smuzhiyun #define CONFIG_CHIP_SELECTS_PER_CTRL 4 20*4882a593Smuzhiyun #ifdef CONFIG_SYS_FSL_HAS_DP_DDR 21*4882a593Smuzhiyun #define CONFIG_DP_DDR_DIMM_SLOTS_PER_CTLR 1 22*4882a593Smuzhiyun #endif 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun /* SMSC 91C111 ethernet configuration */ 25*4882a593Smuzhiyun #define CONFIG_SMC91111 26*4882a593Smuzhiyun #define CONFIG_SMC91111_BASE (0x2210000) 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun #define CONFIG_SYS_NOR0_CSPR_EXT (0x0) 29*4882a593Smuzhiyun #define CONFIG_SYS_NOR_AMASK IFC_AMASK(128*1024*1024) 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun #ifdef CONFIG_MTD_NOR_FLASH 32*4882a593Smuzhiyun #define CONFIG_FLASH_CFI_DRIVER 33*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_CFI 34*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 35*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_QUIET_TEST 36*4882a593Smuzhiyun #endif 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun /* 39*4882a593Smuzhiyun * NOR Flash Timing Params 40*4882a593Smuzhiyun */ 41*4882a593Smuzhiyun #define CONFIG_SYS_NOR0_CSPR \ 42*4882a593Smuzhiyun (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) | \ 43*4882a593Smuzhiyun CSPR_PORT_SIZE_16 | \ 44*4882a593Smuzhiyun CSPR_MSEL_NOR | \ 45*4882a593Smuzhiyun CSPR_V) 46*4882a593Smuzhiyun #define CONFIG_SYS_NOR0_CSPR_EARLY \ 47*4882a593Smuzhiyun (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS_EARLY) | \ 48*4882a593Smuzhiyun CSPR_PORT_SIZE_16 | \ 49*4882a593Smuzhiyun CSPR_MSEL_NOR | \ 50*4882a593Smuzhiyun CSPR_V) 51*4882a593Smuzhiyun #define CONFIG_SYS_NOR_CSOR CSOR_NOR_ADM_SHIFT(12) 52*4882a593Smuzhiyun #define CONFIG_SYS_NOR_FTIM0 (FTIM0_NOR_TACSE(0x1) | \ 53*4882a593Smuzhiyun FTIM0_NOR_TEADC(0x1) | \ 54*4882a593Smuzhiyun FTIM0_NOR_TEAHC(0x1)) 55*4882a593Smuzhiyun #define CONFIG_SYS_NOR_FTIM1 (FTIM1_NOR_TACO(0x1) | \ 56*4882a593Smuzhiyun FTIM1_NOR_TRAD_NOR(0x1)) 57*4882a593Smuzhiyun #define CONFIG_SYS_NOR_FTIM2 (FTIM2_NOR_TCS(0x0) | \ 58*4882a593Smuzhiyun FTIM2_NOR_TCH(0x0) | \ 59*4882a593Smuzhiyun FTIM2_NOR_TWP(0x1)) 60*4882a593Smuzhiyun #define CONFIG_SYS_NOR_FTIM3 0x04000000 61*4882a593Smuzhiyun #define CONFIG_SYS_IFC_CCR 0x01000000 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun #ifdef CONFIG_MTD_NOR_FLASH 64*4882a593Smuzhiyun #define CONFIG_FLASH_SHOW_PROGRESS 45 /* count down from 45/5: 9..1 */ 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_BANKS 1 /* number of banks */ 67*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_SECT 1024 /* sectors per device */ 68*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */ 69*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */ 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_EMPTY_INFO 72*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_BANKS_LIST { CONFIG_SYS_FLASH_BASE } 73*4882a593Smuzhiyun #endif 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun #define CONFIG_NAND_FSL_IFC 76*4882a593Smuzhiyun #define CONFIG_SYS_NAND_MAX_ECCPOS 256 77*4882a593Smuzhiyun #define CONFIG_SYS_NAND_MAX_OOBFREE 2 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun #define CONFIG_SYS_NAND_CSPR_EXT (0x0) 80*4882a593Smuzhiyun #define CONFIG_SYS_NAND_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_NAND_BASE_PHYS) \ 81*4882a593Smuzhiyun | CSPR_PORT_SIZE_8 /* Port Size = 8 bit */ \ 82*4882a593Smuzhiyun | CSPR_MSEL_NAND /* MSEL = NAND */ \ 83*4882a593Smuzhiyun | CSPR_V) 84*4882a593Smuzhiyun #define CONFIG_SYS_NAND_AMASK IFC_AMASK(64 * 1024) 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun #define CONFIG_SYS_NAND_CSOR (CSOR_NAND_ECC_ENC_EN /* ECC on encode */ \ 87*4882a593Smuzhiyun | CSOR_NAND_ECC_DEC_EN /* ECC on decode */ \ 88*4882a593Smuzhiyun | CSOR_NAND_ECC_MODE_4 /* 4-bit ECC */ \ 89*4882a593Smuzhiyun | CSOR_NAND_RAL_3 /* RAL = 2Byes */ \ 90*4882a593Smuzhiyun | CSOR_NAND_PGS_2K /* Page Size = 2K */ \ 91*4882a593Smuzhiyun | CSOR_NAND_SPRZ_64/* Spare size = 64 */ \ 92*4882a593Smuzhiyun | CSOR_NAND_PB(64)) /*Pages Per Block = 64*/ 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun #define CONFIG_SYS_NAND_ONFI_DETECTION 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun /* ONFI NAND Flash mode0 Timing Params */ 97*4882a593Smuzhiyun #define CONFIG_SYS_NAND_FTIM0 (FTIM0_NAND_TCCST(0x07) | \ 98*4882a593Smuzhiyun FTIM0_NAND_TWP(0x18) | \ 99*4882a593Smuzhiyun FTIM0_NAND_TWCHT(0x07) | \ 100*4882a593Smuzhiyun FTIM0_NAND_TWH(0x0a)) 101*4882a593Smuzhiyun #define CONFIG_SYS_NAND_FTIM1 (FTIM1_NAND_TADLE(0x32) | \ 102*4882a593Smuzhiyun FTIM1_NAND_TWBE(0x39) | \ 103*4882a593Smuzhiyun FTIM1_NAND_TRR(0x0e) | \ 104*4882a593Smuzhiyun FTIM1_NAND_TRP(0x18)) 105*4882a593Smuzhiyun #define CONFIG_SYS_NAND_FTIM2 (FTIM2_NAND_TRAD(0x0f) | \ 106*4882a593Smuzhiyun FTIM2_NAND_TREH(0x0a) | \ 107*4882a593Smuzhiyun FTIM2_NAND_TWHRE(0x1e)) 108*4882a593Smuzhiyun #define CONFIG_SYS_NAND_FTIM3 0x0 109*4882a593Smuzhiyun 110*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BASE_LIST { CONFIG_SYS_NAND_BASE } 111*4882a593Smuzhiyun #define CONFIG_SYS_MAX_NAND_DEVICE 1 112*4882a593Smuzhiyun #define CONFIG_MTD_NAND_VERIFY_WRITE 113*4882a593Smuzhiyun 114*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BLOCK_SIZE (128 * 1024) 115*4882a593Smuzhiyun 116*4882a593Smuzhiyun #define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NOR0_CSPR_EXT 117*4882a593Smuzhiyun #define CONFIG_SYS_CSPR0 CONFIG_SYS_NOR0_CSPR_EARLY 118*4882a593Smuzhiyun #define CONFIG_SYS_CSPR0_FINAL CONFIG_SYS_NOR0_CSPR 119*4882a593Smuzhiyun #define CONFIG_SYS_AMASK0 CONFIG_SYS_NOR_AMASK 120*4882a593Smuzhiyun #define CONFIG_SYS_CSOR0 CONFIG_SYS_NOR_CSOR 121*4882a593Smuzhiyun #define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NOR_FTIM0 122*4882a593Smuzhiyun #define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NOR_FTIM1 123*4882a593Smuzhiyun #define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NOR_FTIM2 124*4882a593Smuzhiyun #define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NOR_FTIM3 125*4882a593Smuzhiyun #define CONFIG_SYS_CSPR1_EXT CONFIG_SYS_NAND_CSPR_EXT 126*4882a593Smuzhiyun #define CONFIG_SYS_CSPR1 CONFIG_SYS_NAND_CSPR 127*4882a593Smuzhiyun #define CONFIG_SYS_AMASK1 CONFIG_SYS_NAND_AMASK 128*4882a593Smuzhiyun #define CONFIG_SYS_CSOR1 CONFIG_SYS_NAND_CSOR 129*4882a593Smuzhiyun #define CONFIG_SYS_CS1_FTIM0 CONFIG_SYS_NAND_FTIM0 130*4882a593Smuzhiyun #define CONFIG_SYS_CS1_FTIM1 CONFIG_SYS_NAND_FTIM1 131*4882a593Smuzhiyun #define CONFIG_SYS_CS1_FTIM2 CONFIG_SYS_NAND_FTIM2 132*4882a593Smuzhiyun #define CONFIG_SYS_CS1_FTIM3 CONFIG_SYS_NAND_FTIM3 133*4882a593Smuzhiyun 134*4882a593Smuzhiyun /* MMC */ 135*4882a593Smuzhiyun #ifdef CONFIG_MMC 136*4882a593Smuzhiyun #define CONFIG_FSL_ESDHC 137*4882a593Smuzhiyun #define CONFIG_SYS_FSL_MMC_HAS_CAPBLT_VS33 138*4882a593Smuzhiyun #endif 139*4882a593Smuzhiyun 140*4882a593Smuzhiyun /* Debug Server firmware */ 141*4882a593Smuzhiyun #define CONFIG_SYS_DEBUG_SERVER_FW_IN_NOR 142*4882a593Smuzhiyun #define CONFIG_SYS_DEBUG_SERVER_FW_ADDR 0x580C00000ULL 143*4882a593Smuzhiyun 144*4882a593Smuzhiyun /* MC firmware */ 145*4882a593Smuzhiyun #define CONFIG_SYS_LS_MC_DPL_IN_NOR 146*4882a593Smuzhiyun #define CONFIG_SYS_LS_MC_DPL_ADDR 0x5806C0000ULL 147*4882a593Smuzhiyun 148*4882a593Smuzhiyun #define CONFIG_SYS_LS_MC_DPC_IN_NOR 149*4882a593Smuzhiyun #define CONFIG_SYS_LS_MC_DPC_ADDR 0x5806F8000ULL 150*4882a593Smuzhiyun 151*4882a593Smuzhiyun #define CONFIG_SYS_LS_MC_BOOT_TIMEOUT_MS 200000 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun /* Store environment at top of flash */ 154*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x1000 155*4882a593Smuzhiyun 156*4882a593Smuzhiyun #endif /* __LS2_SIMU_H */ 157