1*44937214SPrabhakar Kushwaha /* 2*44937214SPrabhakar Kushwaha * Copyright 2014 Freescale Semiconductor 3*44937214SPrabhakar Kushwaha * 4*44937214SPrabhakar Kushwaha * SPDX-License-Identifier: GPL-2.0+ 5*44937214SPrabhakar Kushwaha */ 6*44937214SPrabhakar Kushwaha 7*44937214SPrabhakar Kushwaha #ifndef __LS2_EMU_H 8*44937214SPrabhakar Kushwaha #define __LS2_EMU_H 9*44937214SPrabhakar Kushwaha 10*44937214SPrabhakar Kushwaha #include "ls2080a_common.h" 11*44937214SPrabhakar Kushwaha 12*44937214SPrabhakar Kushwaha #define CONFIG_SYS_CLK_FREQ 100000000 13*44937214SPrabhakar Kushwaha #define CONFIG_DDR_CLK_FREQ 133333333 14*44937214SPrabhakar Kushwaha 15*44937214SPrabhakar Kushwaha #define CONFIG_SYS_MXC_I2C1_SPEED 40000000 16*44937214SPrabhakar Kushwaha #define CONFIG_SYS_MXC_I2C2_SPEED 40000000 17*44937214SPrabhakar Kushwaha 18*44937214SPrabhakar Kushwaha #define CONFIG_DDR_SPD 19*44937214SPrabhakar Kushwaha #define CONFIG_SYS_FSL_DDR_EMU /* Support emulator */ 20*44937214SPrabhakar Kushwaha #define SPD_EEPROM_ADDRESS1 0x51 21*44937214SPrabhakar Kushwaha #define SPD_EEPROM_ADDRESS2 0x52 22*44937214SPrabhakar Kushwaha #define SPD_EEPROM_ADDRESS3 0x53 23*44937214SPrabhakar Kushwaha #define SPD_EEPROM_ADDRESS SPD_EEPROM_ADDRESS1 24*44937214SPrabhakar Kushwaha #define CONFIG_SYS_SPD_BUS_NUM 1 /* SPD on I2C bus 1 */ 25*44937214SPrabhakar Kushwaha #define CONFIG_DIMM_SLOTS_PER_CTLR 1 26*44937214SPrabhakar Kushwaha #define CONFIG_CHIP_SELECTS_PER_CTRL 4 27*44937214SPrabhakar Kushwaha #ifdef CONFIG_SYS_FSL_HAS_DP_DDR 28*44937214SPrabhakar Kushwaha #define CONFIG_DP_DDR_DIMM_SLOTS_PER_CTLR 1 29*44937214SPrabhakar Kushwaha #endif 30*44937214SPrabhakar Kushwaha 31*44937214SPrabhakar Kushwaha #define CONFIG_FSL_DDR_SYNC_REFRESH 32*44937214SPrabhakar Kushwaha 33*44937214SPrabhakar Kushwaha #define CONFIG_SYS_NOR0_CSPR_EXT (0x0) 34*44937214SPrabhakar Kushwaha #define CONFIG_SYS_NOR_AMASK IFC_AMASK(128*1024*1024) 35*44937214SPrabhakar Kushwaha /* 36*44937214SPrabhakar Kushwaha * NOR Flash Timing Params 37*44937214SPrabhakar Kushwaha */ 38*44937214SPrabhakar Kushwaha #define CONFIG_SYS_NOR0_CSPR \ 39*44937214SPrabhakar Kushwaha (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) | \ 40*44937214SPrabhakar Kushwaha CSPR_PORT_SIZE_16 | \ 41*44937214SPrabhakar Kushwaha CSPR_MSEL_NOR | \ 42*44937214SPrabhakar Kushwaha CSPR_V) 43*44937214SPrabhakar Kushwaha #define CONFIG_SYS_NOR0_CSPR_EARLY \ 44*44937214SPrabhakar Kushwaha (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS_EARLY) | \ 45*44937214SPrabhakar Kushwaha CSPR_PORT_SIZE_16 | \ 46*44937214SPrabhakar Kushwaha CSPR_MSEL_NOR | \ 47*44937214SPrabhakar Kushwaha CSPR_V) 48*44937214SPrabhakar Kushwaha #define CONFIG_SYS_NOR_CSOR CSOR_NOR_ADM_SHIFT(12) 49*44937214SPrabhakar Kushwaha #define CONFIG_SYS_NOR_FTIM0 (FTIM0_NOR_TACSE(0x1) | \ 50*44937214SPrabhakar Kushwaha FTIM0_NOR_TEADC(0x1) | \ 51*44937214SPrabhakar Kushwaha FTIM0_NOR_TEAHC(0x1)) 52*44937214SPrabhakar Kushwaha #define CONFIG_SYS_NOR_FTIM1 (FTIM1_NOR_TACO(0x1) | \ 53*44937214SPrabhakar Kushwaha FTIM1_NOR_TRAD_NOR(0x1)) 54*44937214SPrabhakar Kushwaha #define CONFIG_SYS_NOR_FTIM2 (FTIM2_NOR_TCS(0x0) | \ 55*44937214SPrabhakar Kushwaha FTIM2_NOR_TCH(0x0) | \ 56*44937214SPrabhakar Kushwaha FTIM2_NOR_TWP(0x1)) 57*44937214SPrabhakar Kushwaha #define CONFIG_SYS_NOR_FTIM3 0x04000000 58*44937214SPrabhakar Kushwaha #define CONFIG_SYS_IFC_CCR 0x01000000 59*44937214SPrabhakar Kushwaha 60*44937214SPrabhakar Kushwaha #define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NOR0_CSPR_EXT 61*44937214SPrabhakar Kushwaha #define CONFIG_SYS_CSPR0 CONFIG_SYS_NOR0_CSPR_EARLY 62*44937214SPrabhakar Kushwaha #define CONFIG_SYS_CSPR0_FINAL CONFIG_SYS_NOR0_CSPR 63*44937214SPrabhakar Kushwaha #define CONFIG_SYS_AMASK0 CONFIG_SYS_NOR_AMASK 64*44937214SPrabhakar Kushwaha #define CONFIG_SYS_CSOR0 CONFIG_SYS_NOR_CSOR 65*44937214SPrabhakar Kushwaha #define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NOR_FTIM0 66*44937214SPrabhakar Kushwaha #define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NOR_FTIM1 67*44937214SPrabhakar Kushwaha #define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NOR_FTIM2 68*44937214SPrabhakar Kushwaha #define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NOR_FTIM3 69*44937214SPrabhakar Kushwaha 70*44937214SPrabhakar Kushwaha /* Debug Server firmware */ 71*44937214SPrabhakar Kushwaha #define CONFIG_SYS_DEBUG_SERVER_FW_IN_NOR 72*44937214SPrabhakar Kushwaha #define CONFIG_SYS_DEBUG_SERVER_FW_ADDR 0x580C00000ULL 73*44937214SPrabhakar Kushwaha 74*44937214SPrabhakar Kushwaha /* 75*44937214SPrabhakar Kushwaha * This trick allows users to load MC images into DDR directly without 76*44937214SPrabhakar Kushwaha * copying from NOR flash. It dramatically improves speed. 77*44937214SPrabhakar Kushwaha */ 78*44937214SPrabhakar Kushwaha #define CONFIG_SYS_LS_MC_FW_IN_DDR 79*44937214SPrabhakar Kushwaha #define CONFIG_SYS_LS_MC_DPL_IN_DDR 80*44937214SPrabhakar Kushwaha #define CONFIG_SYS_LS_MC_DPC_IN_DDR 81*44937214SPrabhakar Kushwaha 82*44937214SPrabhakar Kushwaha #define CONFIG_SYS_LS_MC_BOOT_TIMEOUT_MS 200000 83*44937214SPrabhakar Kushwaha 84*44937214SPrabhakar Kushwaha /* Store environment at top of flash */ 85*44937214SPrabhakar Kushwaha #define CONFIG_ENV_SIZE 0x1000 86*44937214SPrabhakar Kushwaha 87*44937214SPrabhakar Kushwaha #endif /* __LS2_EMU_H */ 88