1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Copyright 2017 NXP 3*4882a593Smuzhiyun * Copyright 2015 Freescale Semiconductor 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun #ifndef __LS2_QDS_H 9*4882a593Smuzhiyun #define __LS2_QDS_H 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun #include "ls2080a_common.h" 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun #ifndef __ASSEMBLY__ 14*4882a593Smuzhiyun unsigned long get_board_sys_clk(void); 15*4882a593Smuzhiyun unsigned long get_board_ddr_clk(void); 16*4882a593Smuzhiyun #endif 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun #ifdef CONFIG_FSL_QSPI 19*4882a593Smuzhiyun #undef CONFIG_CMD_IMLS 20*4882a593Smuzhiyun #define CONFIG_QIXIS_I2C_ACCESS 21*4882a593Smuzhiyun #define CONFIG_SYS_I2C_EARLY_INIT 22*4882a593Smuzhiyun #define CONFIG_SYS_I2C_IFDR_DIV 0x7e 23*4882a593Smuzhiyun #endif 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun #define CONFIG_SYS_I2C_FPGA_ADDR 0x66 26*4882a593Smuzhiyun #define CONFIG_SYS_CLK_FREQ get_board_sys_clk() 27*4882a593Smuzhiyun #define CONFIG_DDR_CLK_FREQ get_board_ddr_clk() 28*4882a593Smuzhiyun #define COUNTER_FREQUENCY_REAL (CONFIG_SYS_CLK_FREQ/4) 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun #define CONFIG_DDR_SPD 31*4882a593Smuzhiyun #define CONFIG_DDR_ECC 32*4882a593Smuzhiyun #define CONFIG_ECC_INIT_VIA_DDRCONTROLLER 33*4882a593Smuzhiyun #define CONFIG_MEM_INIT_VALUE 0xdeadbeef 34*4882a593Smuzhiyun #define SPD_EEPROM_ADDRESS1 0x51 35*4882a593Smuzhiyun #define SPD_EEPROM_ADDRESS2 0x52 36*4882a593Smuzhiyun #define SPD_EEPROM_ADDRESS3 0x53 37*4882a593Smuzhiyun #define SPD_EEPROM_ADDRESS4 0x54 38*4882a593Smuzhiyun #define SPD_EEPROM_ADDRESS5 0x55 39*4882a593Smuzhiyun #define SPD_EEPROM_ADDRESS6 0x56 /* dummy address */ 40*4882a593Smuzhiyun #define SPD_EEPROM_ADDRESS SPD_EEPROM_ADDRESS1 41*4882a593Smuzhiyun #define CONFIG_SYS_SPD_BUS_NUM 0 /* SPD on I2C bus 0 */ 42*4882a593Smuzhiyun #define CONFIG_DIMM_SLOTS_PER_CTLR 2 43*4882a593Smuzhiyun #define CONFIG_CHIP_SELECTS_PER_CTRL 4 44*4882a593Smuzhiyun #ifdef CONFIG_SYS_FSL_HAS_DP_DDR 45*4882a593Smuzhiyun #define CONFIG_DP_DDR_DIMM_SLOTS_PER_CTLR 1 46*4882a593Smuzhiyun #endif 47*4882a593Smuzhiyun #define CONFIG_FSL_DDR_BIST /* enable built-in memory test */ 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun /* SATA */ 50*4882a593Smuzhiyun #define CONFIG_LIBATA 51*4882a593Smuzhiyun #define CONFIG_SCSI_AHCI 52*4882a593Smuzhiyun #define CONFIG_SCSI_AHCI_PLAT 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun #define CONFIG_SYS_SATA1 AHCI_BASE_ADDR1 55*4882a593Smuzhiyun #define CONFIG_SYS_SATA2 AHCI_BASE_ADDR2 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 58*4882a593Smuzhiyun #define CONFIG_SYS_SCSI_MAX_LUN 1 59*4882a593Smuzhiyun #define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ 60*4882a593Smuzhiyun CONFIG_SYS_SCSI_MAX_LUN) 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun /* undefined CONFIG_FSL_DDR_SYNC_REFRESH for simulator */ 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun #define CONFIG_SYS_NOR0_CSPR_EXT (0x0) 65*4882a593Smuzhiyun #define CONFIG_SYS_NOR_AMASK IFC_AMASK(128*1024*1024) 66*4882a593Smuzhiyun #define CONFIG_SYS_NOR_AMASK_EARLY IFC_AMASK(64*1024*1024) 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun #define CONFIG_SYS_NOR0_CSPR \ 69*4882a593Smuzhiyun (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) | \ 70*4882a593Smuzhiyun CSPR_PORT_SIZE_16 | \ 71*4882a593Smuzhiyun CSPR_MSEL_NOR | \ 72*4882a593Smuzhiyun CSPR_V) 73*4882a593Smuzhiyun #define CONFIG_SYS_NOR0_CSPR_EARLY \ 74*4882a593Smuzhiyun (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS_EARLY) | \ 75*4882a593Smuzhiyun CSPR_PORT_SIZE_16 | \ 76*4882a593Smuzhiyun CSPR_MSEL_NOR | \ 77*4882a593Smuzhiyun CSPR_V) 78*4882a593Smuzhiyun #define CONFIG_SYS_NOR1_CSPR \ 79*4882a593Smuzhiyun (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH1_BASE_PHYS) | \ 80*4882a593Smuzhiyun CSPR_PORT_SIZE_16 | \ 81*4882a593Smuzhiyun CSPR_MSEL_NOR | \ 82*4882a593Smuzhiyun CSPR_V) 83*4882a593Smuzhiyun #define CONFIG_SYS_NOR1_CSPR_EARLY \ 84*4882a593Smuzhiyun (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH1_BASE_PHYS_EARLY) | \ 85*4882a593Smuzhiyun CSPR_PORT_SIZE_16 | \ 86*4882a593Smuzhiyun CSPR_MSEL_NOR | \ 87*4882a593Smuzhiyun CSPR_V) 88*4882a593Smuzhiyun #define CONFIG_SYS_NOR_CSOR CSOR_NOR_ADM_SHIFT(12) 89*4882a593Smuzhiyun #define CONFIG_SYS_NOR_FTIM0 (FTIM0_NOR_TACSE(0x4) | \ 90*4882a593Smuzhiyun FTIM0_NOR_TEADC(0x5) | \ 91*4882a593Smuzhiyun FTIM0_NOR_TEAHC(0x5)) 92*4882a593Smuzhiyun #define CONFIG_SYS_NOR_FTIM1 (FTIM1_NOR_TACO(0x35) | \ 93*4882a593Smuzhiyun FTIM1_NOR_TRAD_NOR(0x1a) |\ 94*4882a593Smuzhiyun FTIM1_NOR_TSEQRAD_NOR(0x13)) 95*4882a593Smuzhiyun #define CONFIG_SYS_NOR_FTIM2 (FTIM2_NOR_TCS(0x4) | \ 96*4882a593Smuzhiyun FTIM2_NOR_TCH(0x4) | \ 97*4882a593Smuzhiyun FTIM2_NOR_TWPH(0x0E) | \ 98*4882a593Smuzhiyun FTIM2_NOR_TWP(0x1c)) 99*4882a593Smuzhiyun #define CONFIG_SYS_NOR_FTIM3 0x04000000 100*4882a593Smuzhiyun #define CONFIG_SYS_IFC_CCR 0x01000000 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun #ifdef CONFIG_MTD_NOR_FLASH 103*4882a593Smuzhiyun #define CONFIG_FLASH_CFI_DRIVER 104*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_CFI 105*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 106*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_QUIET_TEST 107*4882a593Smuzhiyun #define CONFIG_FLASH_SHOW_PROGRESS 45 /* count down from 45/5: 9..1 */ 108*4882a593Smuzhiyun 109*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_BANKS 2 /* number of banks */ 110*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_SECT 1024 /* sectors per device */ 111*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */ 112*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */ 113*4882a593Smuzhiyun 114*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_EMPTY_INFO 115*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_BANKS_LIST { CONFIG_SYS_FLASH_BASE,\ 116*4882a593Smuzhiyun CONFIG_SYS_FLASH_BASE + 0x40000000} 117*4882a593Smuzhiyun #endif 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun #define CONFIG_NAND_FSL_IFC 120*4882a593Smuzhiyun #define CONFIG_SYS_NAND_MAX_ECCPOS 256 121*4882a593Smuzhiyun #define CONFIG_SYS_NAND_MAX_OOBFREE 2 122*4882a593Smuzhiyun 123*4882a593Smuzhiyun #define CONFIG_SYS_NAND_CSPR_EXT (0x0) 124*4882a593Smuzhiyun #define CONFIG_SYS_NAND_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_NAND_BASE_PHYS) \ 125*4882a593Smuzhiyun | CSPR_PORT_SIZE_8 /* Port Size = 8 bit */ \ 126*4882a593Smuzhiyun | CSPR_MSEL_NAND /* MSEL = NAND */ \ 127*4882a593Smuzhiyun | CSPR_V) 128*4882a593Smuzhiyun #define CONFIG_SYS_NAND_AMASK IFC_AMASK(64 * 1024) 129*4882a593Smuzhiyun 130*4882a593Smuzhiyun #define CONFIG_SYS_NAND_CSOR (CSOR_NAND_ECC_ENC_EN /* ECC on encode */ \ 131*4882a593Smuzhiyun | CSOR_NAND_ECC_DEC_EN /* ECC on decode */ \ 132*4882a593Smuzhiyun | CSOR_NAND_ECC_MODE_4 /* 4-bit ECC */ \ 133*4882a593Smuzhiyun | CSOR_NAND_RAL_3 /* RAL = 3Byes */ \ 134*4882a593Smuzhiyun | CSOR_NAND_PGS_2K /* Page Size = 2K */ \ 135*4882a593Smuzhiyun | CSOR_NAND_SPRZ_64/* Spare size = 64 */ \ 136*4882a593Smuzhiyun | CSOR_NAND_PB(64)) /*Pages Per Block = 64*/ 137*4882a593Smuzhiyun 138*4882a593Smuzhiyun #define CONFIG_SYS_NAND_ONFI_DETECTION 139*4882a593Smuzhiyun 140*4882a593Smuzhiyun /* ONFI NAND Flash mode0 Timing Params */ 141*4882a593Smuzhiyun #define CONFIG_SYS_NAND_FTIM0 (FTIM0_NAND_TCCST(0x07) | \ 142*4882a593Smuzhiyun FTIM0_NAND_TWP(0x18) | \ 143*4882a593Smuzhiyun FTIM0_NAND_TWCHT(0x07) | \ 144*4882a593Smuzhiyun FTIM0_NAND_TWH(0x0a)) 145*4882a593Smuzhiyun #define CONFIG_SYS_NAND_FTIM1 (FTIM1_NAND_TADLE(0x32) | \ 146*4882a593Smuzhiyun FTIM1_NAND_TWBE(0x39) | \ 147*4882a593Smuzhiyun FTIM1_NAND_TRR(0x0e) | \ 148*4882a593Smuzhiyun FTIM1_NAND_TRP(0x18)) 149*4882a593Smuzhiyun #define CONFIG_SYS_NAND_FTIM2 (FTIM2_NAND_TRAD(0x0f) | \ 150*4882a593Smuzhiyun FTIM2_NAND_TREH(0x0a) | \ 151*4882a593Smuzhiyun FTIM2_NAND_TWHRE(0x1e)) 152*4882a593Smuzhiyun #define CONFIG_SYS_NAND_FTIM3 0x0 153*4882a593Smuzhiyun 154*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BASE_LIST { CONFIG_SYS_NAND_BASE } 155*4882a593Smuzhiyun #define CONFIG_SYS_MAX_NAND_DEVICE 1 156*4882a593Smuzhiyun #define CONFIG_MTD_NAND_VERIFY_WRITE 157*4882a593Smuzhiyun 158*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BLOCK_SIZE (128 * 1024) 159*4882a593Smuzhiyun 160*4882a593Smuzhiyun #define CONFIG_FSL_QIXIS /* use common QIXIS code */ 161*4882a593Smuzhiyun #define QIXIS_LBMAP_SWITCH 0x06 162*4882a593Smuzhiyun #define QIXIS_LBMAP_MASK 0x0f 163*4882a593Smuzhiyun #define QIXIS_LBMAP_SHIFT 0 164*4882a593Smuzhiyun #define QIXIS_LBMAP_DFLTBANK 0x00 165*4882a593Smuzhiyun #define QIXIS_LBMAP_ALTBANK 0x04 166*4882a593Smuzhiyun #define QIXIS_LBMAP_NAND 0x09 167*4882a593Smuzhiyun #define QIXIS_LBMAP_SD 0x00 168*4882a593Smuzhiyun #define QIXIS_LBMAP_QSPI 0x0f 169*4882a593Smuzhiyun #define QIXIS_RST_CTL_RESET 0x31 170*4882a593Smuzhiyun #define QIXIS_RCFG_CTL_RECONFIG_IDLE 0x20 171*4882a593Smuzhiyun #define QIXIS_RCFG_CTL_RECONFIG_START 0x21 172*4882a593Smuzhiyun #define QIXIS_RCFG_CTL_WATCHDOG_ENBLE 0x08 173*4882a593Smuzhiyun #define QIXIS_RCW_SRC_NAND 0x107 174*4882a593Smuzhiyun #define QIXIS_RCW_SRC_SD 0x40 175*4882a593Smuzhiyun #define QIXIS_RCW_SRC_QSPI 0x62 176*4882a593Smuzhiyun #define QIXIS_RST_FORCE_MEM 0x01 177*4882a593Smuzhiyun 178*4882a593Smuzhiyun #define CONFIG_SYS_CSPR3_EXT (0x0) 179*4882a593Smuzhiyun #define CONFIG_SYS_CSPR3 (CSPR_PHYS_ADDR(QIXIS_BASE_PHYS_EARLY) \ 180*4882a593Smuzhiyun | CSPR_PORT_SIZE_8 \ 181*4882a593Smuzhiyun | CSPR_MSEL_GPCM \ 182*4882a593Smuzhiyun | CSPR_V) 183*4882a593Smuzhiyun #define CONFIG_SYS_CSPR3_FINAL (CSPR_PHYS_ADDR(QIXIS_BASE_PHYS) \ 184*4882a593Smuzhiyun | CSPR_PORT_SIZE_8 \ 185*4882a593Smuzhiyun | CSPR_MSEL_GPCM \ 186*4882a593Smuzhiyun | CSPR_V) 187*4882a593Smuzhiyun 188*4882a593Smuzhiyun #define CONFIG_SYS_AMASK3 IFC_AMASK(64*1024) 189*4882a593Smuzhiyun #define CONFIG_SYS_CSOR3 CSOR_GPCM_ADM_SHIFT(12) 190*4882a593Smuzhiyun /* QIXIS Timing parameters for IFC CS3 */ 191*4882a593Smuzhiyun #define CONFIG_SYS_CS3_FTIM0 (FTIM0_GPCM_TACSE(0x0e) | \ 192*4882a593Smuzhiyun FTIM0_GPCM_TEADC(0x0e) | \ 193*4882a593Smuzhiyun FTIM0_GPCM_TEAHC(0x0e)) 194*4882a593Smuzhiyun #define CONFIG_SYS_CS3_FTIM1 (FTIM1_GPCM_TACO(0xff) | \ 195*4882a593Smuzhiyun FTIM1_GPCM_TRAD(0x3f)) 196*4882a593Smuzhiyun #define CONFIG_SYS_CS3_FTIM2 (FTIM2_GPCM_TCS(0xf) | \ 197*4882a593Smuzhiyun FTIM2_GPCM_TCH(0xf) | \ 198*4882a593Smuzhiyun FTIM2_GPCM_TWP(0x3E)) 199*4882a593Smuzhiyun #define CONFIG_SYS_CS3_FTIM3 0x0 200*4882a593Smuzhiyun 201*4882a593Smuzhiyun #if defined(CONFIG_SPL) 202*4882a593Smuzhiyun #if defined(CONFIG_NAND_BOOT) 203*4882a593Smuzhiyun #define CONFIG_SYS_CSPR1_EXT CONFIG_SYS_NOR0_CSPR_EXT 204*4882a593Smuzhiyun #define CONFIG_SYS_CSPR1 CONFIG_SYS_NOR0_CSPR_EARLY 205*4882a593Smuzhiyun #define CONFIG_SYS_CSPR1_FINAL CONFIG_SYS_NOR0_CSPR 206*4882a593Smuzhiyun #define CONFIG_SYS_AMASK1 CONFIG_SYS_NOR_AMASK 207*4882a593Smuzhiyun #define CONFIG_SYS_CSOR1 CONFIG_SYS_NOR_CSOR 208*4882a593Smuzhiyun #define CONFIG_SYS_CS1_FTIM0 CONFIG_SYS_NOR_FTIM0 209*4882a593Smuzhiyun #define CONFIG_SYS_CS1_FTIM1 CONFIG_SYS_NOR_FTIM1 210*4882a593Smuzhiyun #define CONFIG_SYS_CS1_FTIM2 CONFIG_SYS_NOR_FTIM2 211*4882a593Smuzhiyun #define CONFIG_SYS_CS1_FTIM3 CONFIG_SYS_NOR_FTIM3 212*4882a593Smuzhiyun #define CONFIG_SYS_CSPR2_EXT CONFIG_SYS_NOR0_CSPR_EXT 213*4882a593Smuzhiyun #define CONFIG_SYS_CSPR2 CONFIG_SYS_NOR1_CSPR_EARLY 214*4882a593Smuzhiyun #define CONFIG_SYS_CSPR2_FINAL CONFIG_SYS_NOR1_CSPR 215*4882a593Smuzhiyun #define CONFIG_SYS_AMASK2 CONFIG_SYS_NOR_AMASK_EARLY 216*4882a593Smuzhiyun #define CONFIG_SYS_AMASK2_FINAL CONFIG_SYS_NOR_AMASK 217*4882a593Smuzhiyun #define CONFIG_SYS_CSOR2 CONFIG_SYS_NOR_CSOR 218*4882a593Smuzhiyun #define CONFIG_SYS_CS2_FTIM0 CONFIG_SYS_NOR_FTIM0 219*4882a593Smuzhiyun #define CONFIG_SYS_CS2_FTIM1 CONFIG_SYS_NOR_FTIM1 220*4882a593Smuzhiyun #define CONFIG_SYS_CS2_FTIM2 CONFIG_SYS_NOR_FTIM2 221*4882a593Smuzhiyun #define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_NOR_FTIM3 222*4882a593Smuzhiyun #define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NAND_CSPR_EXT 223*4882a593Smuzhiyun #define CONFIG_SYS_CSPR0 CONFIG_SYS_NAND_CSPR 224*4882a593Smuzhiyun #define CONFIG_SYS_AMASK0 CONFIG_SYS_NAND_AMASK 225*4882a593Smuzhiyun #define CONFIG_SYS_CSOR0 CONFIG_SYS_NAND_CSOR 226*4882a593Smuzhiyun #define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NAND_FTIM0 227*4882a593Smuzhiyun #define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NAND_FTIM1 228*4882a593Smuzhiyun #define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NAND_FTIM2 229*4882a593Smuzhiyun #define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NAND_FTIM3 230*4882a593Smuzhiyun 231*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET (896 * 1024) 232*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE 0x20000 233*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x2000 234*4882a593Smuzhiyun #define CONFIG_SPL_PAD_TO 0x20000 235*4882a593Smuzhiyun #define CONFIG_SYS_NAND_U_BOOT_OFFS (256 * 1024) 236*4882a593Smuzhiyun #define CONFIG_SYS_NAND_U_BOOT_SIZE (640 * 1024) 237*4882a593Smuzhiyun #elif defined(CONFIG_SD_BOOT) 238*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET 0x300000 239*4882a593Smuzhiyun #define CONFIG_SYS_MMC_ENV_DEV 0 240*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x20000 241*4882a593Smuzhiyun #endif 242*4882a593Smuzhiyun #else 243*4882a593Smuzhiyun #define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NOR0_CSPR_EXT 244*4882a593Smuzhiyun #define CONFIG_SYS_CSPR0 CONFIG_SYS_NOR0_CSPR_EARLY 245*4882a593Smuzhiyun #define CONFIG_SYS_CSPR0_FINAL CONFIG_SYS_NOR0_CSPR 246*4882a593Smuzhiyun #define CONFIG_SYS_AMASK0 CONFIG_SYS_NOR_AMASK 247*4882a593Smuzhiyun #define CONFIG_SYS_CSOR0 CONFIG_SYS_NOR_CSOR 248*4882a593Smuzhiyun #define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NOR_FTIM0 249*4882a593Smuzhiyun #define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NOR_FTIM1 250*4882a593Smuzhiyun #define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NOR_FTIM2 251*4882a593Smuzhiyun #define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NOR_FTIM3 252*4882a593Smuzhiyun #define CONFIG_SYS_CSPR1_EXT CONFIG_SYS_NOR0_CSPR_EXT 253*4882a593Smuzhiyun #define CONFIG_SYS_CSPR1 CONFIG_SYS_NOR1_CSPR_EARLY 254*4882a593Smuzhiyun #define CONFIG_SYS_CSPR1_FINAL CONFIG_SYS_NOR1_CSPR 255*4882a593Smuzhiyun #define CONFIG_SYS_AMASK1 CONFIG_SYS_NOR_AMASK_EARLY 256*4882a593Smuzhiyun #define CONFIG_SYS_AMASK1_FINAL CONFIG_SYS_NOR_AMASK 257*4882a593Smuzhiyun #define CONFIG_SYS_CSOR1 CONFIG_SYS_NOR_CSOR 258*4882a593Smuzhiyun #define CONFIG_SYS_CS1_FTIM0 CONFIG_SYS_NOR_FTIM0 259*4882a593Smuzhiyun #define CONFIG_SYS_CS1_FTIM1 CONFIG_SYS_NOR_FTIM1 260*4882a593Smuzhiyun #define CONFIG_SYS_CS1_FTIM2 CONFIG_SYS_NOR_FTIM2 261*4882a593Smuzhiyun #define CONFIG_SYS_CS1_FTIM3 CONFIG_SYS_NOR_FTIM3 262*4882a593Smuzhiyun #define CONFIG_SYS_CSPR2_EXT CONFIG_SYS_NAND_CSPR_EXT 263*4882a593Smuzhiyun #define CONFIG_SYS_CSPR2 CONFIG_SYS_NAND_CSPR 264*4882a593Smuzhiyun #define CONFIG_SYS_AMASK2 CONFIG_SYS_NAND_AMASK 265*4882a593Smuzhiyun #define CONFIG_SYS_CSOR2 CONFIG_SYS_NAND_CSOR 266*4882a593Smuzhiyun #define CONFIG_SYS_CS2_FTIM0 CONFIG_SYS_NAND_FTIM0 267*4882a593Smuzhiyun #define CONFIG_SYS_CS2_FTIM1 CONFIG_SYS_NAND_FTIM1 268*4882a593Smuzhiyun #define CONFIG_SYS_CS2_FTIM2 CONFIG_SYS_NAND_FTIM2 269*4882a593Smuzhiyun #define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_NAND_FTIM3 270*4882a593Smuzhiyun 271*4882a593Smuzhiyun #ifndef CONFIG_QSPI_BOOT 272*4882a593Smuzhiyun #define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x300000) 273*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE 0x20000 274*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x2000 275*4882a593Smuzhiyun #endif 276*4882a593Smuzhiyun #endif 277*4882a593Smuzhiyun 278*4882a593Smuzhiyun /* Debug Server firmware */ 279*4882a593Smuzhiyun #define CONFIG_SYS_DEBUG_SERVER_FW_IN_NOR 280*4882a593Smuzhiyun #define CONFIG_SYS_DEBUG_SERVER_FW_ADDR 0x580D00000ULL 281*4882a593Smuzhiyun 282*4882a593Smuzhiyun #define CONFIG_SYS_LS_MC_BOOT_TIMEOUT_MS 5000 283*4882a593Smuzhiyun 284*4882a593Smuzhiyun /* 285*4882a593Smuzhiyun * I2C 286*4882a593Smuzhiyun */ 287*4882a593Smuzhiyun #define I2C_MUX_PCA_ADDR 0x77 288*4882a593Smuzhiyun #define I2C_MUX_PCA_ADDR_PRI 0x77 /* Primary Mux*/ 289*4882a593Smuzhiyun 290*4882a593Smuzhiyun /* I2C bus multiplexer */ 291*4882a593Smuzhiyun #define I2C_MUX_CH_DEFAULT 0x8 292*4882a593Smuzhiyun 293*4882a593Smuzhiyun /* SPI */ 294*4882a593Smuzhiyun #if defined(CONFIG_FSL_QSPI) || defined(CONFIG_FSL_DSPI) 295*4882a593Smuzhiyun #ifdef CONFIG_FSL_DSPI 296*4882a593Smuzhiyun #define CONFIG_SPI_FLASH_STMICRO 297*4882a593Smuzhiyun #define CONFIG_SPI_FLASH_SST 298*4882a593Smuzhiyun #define CONFIG_SPI_FLASH_EON 299*4882a593Smuzhiyun #endif 300*4882a593Smuzhiyun 301*4882a593Smuzhiyun #ifdef CONFIG_FSL_QSPI 302*4882a593Smuzhiyun #define CONFIG_SPI_FLASH_SPANSION 303*4882a593Smuzhiyun #define FSL_QSPI_FLASH_SIZE (1 << 26) /* 64MB */ 304*4882a593Smuzhiyun #define FSL_QSPI_FLASH_NUM 4 305*4882a593Smuzhiyun #endif 306*4882a593Smuzhiyun /* 307*4882a593Smuzhiyun * Verify QSPI when boot from NAND, QIXIS brdcfg9 need configure. 308*4882a593Smuzhiyun * If boot from on-board NAND, ISO1 = 1, ISO2 = 0, IBOOT = 0 309*4882a593Smuzhiyun * If boot from IFCCard NAND, ISO1 = 0, ISO2 = 0, IBOOT = 1 310*4882a593Smuzhiyun */ 311*4882a593Smuzhiyun #define FSL_QIXIS_BRDCFG9_QSPI 0x1 312*4882a593Smuzhiyun 313*4882a593Smuzhiyun #endif 314*4882a593Smuzhiyun 315*4882a593Smuzhiyun /* 316*4882a593Smuzhiyun * MMC 317*4882a593Smuzhiyun */ 318*4882a593Smuzhiyun #ifdef CONFIG_MMC 319*4882a593Smuzhiyun #define CONFIG_ESDHC_DETECT_QUIRK ((readb(QIXIS_BASE + QIXIS_STAT_PRES1) & \ 320*4882a593Smuzhiyun QIXIS_SDID_MASK) != QIXIS_ESDHC_NO_ADAPTER) 321*4882a593Smuzhiyun #endif 322*4882a593Smuzhiyun 323*4882a593Smuzhiyun /* 324*4882a593Smuzhiyun * RTC configuration 325*4882a593Smuzhiyun */ 326*4882a593Smuzhiyun #define RTC 327*4882a593Smuzhiyun #define CONFIG_RTC_DS3231 1 328*4882a593Smuzhiyun #define CONFIG_SYS_I2C_RTC_ADDR 0x68 329*4882a593Smuzhiyun 330*4882a593Smuzhiyun /* EEPROM */ 331*4882a593Smuzhiyun #define CONFIG_ID_EEPROM 332*4882a593Smuzhiyun #define CONFIG_SYS_I2C_EEPROM_NXID 333*4882a593Smuzhiyun #define CONFIG_SYS_EEPROM_BUS_NUM 0 334*4882a593Smuzhiyun #define CONFIG_SYS_I2C_EEPROM_ADDR 0x57 335*4882a593Smuzhiyun #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 336*4882a593Smuzhiyun #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3 337*4882a593Smuzhiyun #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 5 338*4882a593Smuzhiyun 339*4882a593Smuzhiyun #define CONFIG_FSL_MEMAC 340*4882a593Smuzhiyun 341*4882a593Smuzhiyun #ifdef CONFIG_PCI 342*4882a593Smuzhiyun #define CONFIG_PCI_SCAN_SHOW 343*4882a593Smuzhiyun #endif 344*4882a593Smuzhiyun 345*4882a593Smuzhiyun /* MMC */ 346*4882a593Smuzhiyun #ifdef CONFIG_MMC 347*4882a593Smuzhiyun #define CONFIG_FSL_ESDHC 348*4882a593Smuzhiyun #define CONFIG_SYS_FSL_MMC_HAS_CAPBLT_VS33 349*4882a593Smuzhiyun #endif 350*4882a593Smuzhiyun 351*4882a593Smuzhiyun /* Initial environment variables */ 352*4882a593Smuzhiyun #undef CONFIG_EXTRA_ENV_SETTINGS 353*4882a593Smuzhiyun #ifdef CONFIG_SECURE_BOOT 354*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS \ 355*4882a593Smuzhiyun "hwconfig=fsl_ddr:bank_intlv=auto\0" \ 356*4882a593Smuzhiyun "loadaddr=0x80100000\0" \ 357*4882a593Smuzhiyun "kernel_addr=0x100000\0" \ 358*4882a593Smuzhiyun "ramdisk_addr=0x800000\0" \ 359*4882a593Smuzhiyun "ramdisk_size=0x2000000\0" \ 360*4882a593Smuzhiyun "fdt_high=0xa0000000\0" \ 361*4882a593Smuzhiyun "initrd_high=0xffffffffffffffff\0" \ 362*4882a593Smuzhiyun "kernel_start=0x581000000\0" \ 363*4882a593Smuzhiyun "kernel_load=0xa0000000\0" \ 364*4882a593Smuzhiyun "kernel_size=0x2800000\0" \ 365*4882a593Smuzhiyun "mcmemsize=0x40000000\0" \ 366*4882a593Smuzhiyun "mcinitcmd=esbc_validate 0x580700000;" \ 367*4882a593Smuzhiyun "esbc_validate 0x580740000;" \ 368*4882a593Smuzhiyun "fsl_mc start mc 0x580a00000" \ 369*4882a593Smuzhiyun " 0x580e00000 \0" 370*4882a593Smuzhiyun #elif defined(CONFIG_SD_BOOT) 371*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS \ 372*4882a593Smuzhiyun "hwconfig=fsl_ddr:bank_intlv=auto\0" \ 373*4882a593Smuzhiyun "loadaddr=0x90100000\0" \ 374*4882a593Smuzhiyun "kernel_addr=0x800\0" \ 375*4882a593Smuzhiyun "ramdisk_addr=0x800000\0" \ 376*4882a593Smuzhiyun "ramdisk_size=0x2000000\0" \ 377*4882a593Smuzhiyun "fdt_high=0xa0000000\0" \ 378*4882a593Smuzhiyun "initrd_high=0xffffffffffffffff\0" \ 379*4882a593Smuzhiyun "kernel_start=0x8000\0" \ 380*4882a593Smuzhiyun "kernel_load=0xa0000000\0" \ 381*4882a593Smuzhiyun "kernel_size=0x14000\0" \ 382*4882a593Smuzhiyun "mcinitcmd=mmcinfo;mmc read 0x80000000 0x5000 0x800;" \ 383*4882a593Smuzhiyun "mmc read 0x80100000 0x7000 0x800;" \ 384*4882a593Smuzhiyun "fsl_mc start mc 0x80000000 0x80100000\0" \ 385*4882a593Smuzhiyun "mcmemsize=0x70000000 \0" 386*4882a593Smuzhiyun #else 387*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS \ 388*4882a593Smuzhiyun "hwconfig=fsl_ddr:bank_intlv=auto\0" \ 389*4882a593Smuzhiyun "loadaddr=0x80100000\0" \ 390*4882a593Smuzhiyun "kernel_addr=0x100000\0" \ 391*4882a593Smuzhiyun "ramdisk_addr=0x800000\0" \ 392*4882a593Smuzhiyun "ramdisk_size=0x2000000\0" \ 393*4882a593Smuzhiyun "fdt_high=0xa0000000\0" \ 394*4882a593Smuzhiyun "initrd_high=0xffffffffffffffff\0" \ 395*4882a593Smuzhiyun "kernel_start=0x581000000\0" \ 396*4882a593Smuzhiyun "kernel_load=0xa0000000\0" \ 397*4882a593Smuzhiyun "kernel_size=0x2800000\0" \ 398*4882a593Smuzhiyun "mcmemsize=0x40000000\0" \ 399*4882a593Smuzhiyun "mcinitcmd=fsl_mc start mc 0x580a00000" \ 400*4882a593Smuzhiyun " 0x580e00000 \0" 401*4882a593Smuzhiyun #endif /* CONFIG_SECURE_BOOT */ 402*4882a593Smuzhiyun 403*4882a593Smuzhiyun 404*4882a593Smuzhiyun #if defined(CONFIG_FSL_MC_ENET) && !defined(CONFIG_SPL_BUILD) 405*4882a593Smuzhiyun #define CONFIG_FSL_MEMAC 406*4882a593Smuzhiyun #define CONFIG_PHYLIB_10G 407*4882a593Smuzhiyun #define CONFIG_PHY_VITESSE 408*4882a593Smuzhiyun #define CONFIG_PHY_REALTEK 409*4882a593Smuzhiyun #define CONFIG_PHY_TERANETICS 410*4882a593Smuzhiyun #define SGMII_CARD_PORT1_PHY_ADDR 0x1C 411*4882a593Smuzhiyun #define SGMII_CARD_PORT2_PHY_ADDR 0x1d 412*4882a593Smuzhiyun #define SGMII_CARD_PORT3_PHY_ADDR 0x1E 413*4882a593Smuzhiyun #define SGMII_CARD_PORT4_PHY_ADDR 0x1F 414*4882a593Smuzhiyun 415*4882a593Smuzhiyun #define XQSGMII_CARD_PHY1_PORT0_ADDR 0x0 416*4882a593Smuzhiyun #define XQSGMII_CARD_PHY1_PORT1_ADDR 0x1 417*4882a593Smuzhiyun #define XQSGMII_CARD_PHY1_PORT2_ADDR 0x2 418*4882a593Smuzhiyun #define XQSGMII_CARD_PHY1_PORT3_ADDR 0x3 419*4882a593Smuzhiyun #define XQSGMII_CARD_PHY2_PORT0_ADDR 0x4 420*4882a593Smuzhiyun #define XQSGMII_CARD_PHY2_PORT1_ADDR 0x5 421*4882a593Smuzhiyun #define XQSGMII_CARD_PHY2_PORT2_ADDR 0x6 422*4882a593Smuzhiyun #define XQSGMII_CARD_PHY2_PORT3_ADDR 0x7 423*4882a593Smuzhiyun #define XQSGMII_CARD_PHY3_PORT0_ADDR 0x8 424*4882a593Smuzhiyun #define XQSGMII_CARD_PHY3_PORT1_ADDR 0x9 425*4882a593Smuzhiyun #define XQSGMII_CARD_PHY3_PORT2_ADDR 0xa 426*4882a593Smuzhiyun #define XQSGMII_CARD_PHY3_PORT3_ADDR 0xb 427*4882a593Smuzhiyun #define XQSGMII_CARD_PHY4_PORT0_ADDR 0xc 428*4882a593Smuzhiyun #define XQSGMII_CARD_PHY4_PORT1_ADDR 0xd 429*4882a593Smuzhiyun #define XQSGMII_CARD_PHY4_PORT2_ADDR 0xe 430*4882a593Smuzhiyun #define XQSGMII_CARD_PHY4_PORT3_ADDR 0xf 431*4882a593Smuzhiyun 432*4882a593Smuzhiyun #define CONFIG_MII /* MII PHY management */ 433*4882a593Smuzhiyun #define CONFIG_ETHPRIME "DPMAC1@xgmii" 434*4882a593Smuzhiyun 435*4882a593Smuzhiyun #endif 436*4882a593Smuzhiyun 437*4882a593Smuzhiyun /* 438*4882a593Smuzhiyun * USB 439*4882a593Smuzhiyun */ 440*4882a593Smuzhiyun #define CONFIG_HAS_FSL_XHCI_USB 441*4882a593Smuzhiyun #define CONFIG_USB_XHCI_FSL 442*4882a593Smuzhiyun #define CONFIG_USB_MAX_CONTROLLER_COUNT 2 443*4882a593Smuzhiyun 444*4882a593Smuzhiyun #include <asm/fsl_secure_boot.h> 445*4882a593Smuzhiyun 446*4882a593Smuzhiyun #endif /* __LS2_QDS_H */ 447