1550e3dc0SWang Huan /* 2550e3dc0SWang Huan * Copyright 2014 Freescale Semiconductor, Inc. 3550e3dc0SWang Huan * 4550e3dc0SWang Huan * SPDX-License-Identifier: GPL-2.0+ 5550e3dc0SWang Huan */ 6550e3dc0SWang Huan 7550e3dc0SWang Huan #ifndef __CONFIG_H 8550e3dc0SWang Huan #define __CONFIG_H 9550e3dc0SWang Huan 10550e3dc0SWang Huan #define CONFIG_LS102XA 11550e3dc0SWang Huan 12aeb901f2SHongbo Zhang #define CONFIG_ARMV7_PSCI_1_0 13340848b1SWang Dongsheng 143288628aSHongbo Zhang #define CONFIG_ARMV7_SECURE_BASE OCRAM_BASE_S_ADDR 153288628aSHongbo Zhang 1618fb0e3cSGong Qianyu #define CONFIG_SYS_FSL_CLK 17550e3dc0SWang Huan 18550e3dc0SWang Huan #define CONFIG_SKIP_LOWLEVEL_INIT 19550e3dc0SWang Huan 2041ba57d0Stang yuantian #define CONFIG_DEEP_SLEEP 2141ba57d0Stang yuantian 22550e3dc0SWang Huan /* 23550e3dc0SWang Huan * Size of malloc() pool 24550e3dc0SWang Huan */ 25550e3dc0SWang Huan #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 16 * 1024 * 1024) 26550e3dc0SWang Huan 27550e3dc0SWang Huan #define CONFIG_SYS_INIT_RAM_ADDR OCRAM_BASE_ADDR 28550e3dc0SWang Huan #define CONFIG_SYS_INIT_RAM_SIZE OCRAM_SIZE 29550e3dc0SWang Huan 30550e3dc0SWang Huan #ifndef __ASSEMBLY__ 31550e3dc0SWang Huan unsigned long get_board_sys_clk(void); 32550e3dc0SWang Huan unsigned long get_board_ddr_clk(void); 33550e3dc0SWang Huan #endif 34550e3dc0SWang Huan 3570097027SAlison Wang #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) 36d612f0abSAlison Wang #define CONFIG_SYS_CLK_FREQ 100000000 37d612f0abSAlison Wang #define CONFIG_DDR_CLK_FREQ 100000000 38d612f0abSAlison Wang #define CONFIG_QIXIS_I2C_ACCESS 39d612f0abSAlison Wang #else 40550e3dc0SWang Huan #define CONFIG_SYS_CLK_FREQ get_board_sys_clk() 41550e3dc0SWang Huan #define CONFIG_DDR_CLK_FREQ get_board_ddr_clk() 42d612f0abSAlison Wang #endif 43550e3dc0SWang Huan 4486949c2bSAlison Wang #ifdef CONFIG_RAMBOOT_PBL 4586949c2bSAlison Wang #define CONFIG_SYS_FSL_PBL_PBI board/freescale/ls1021aqds/ls102xa_pbi.cfg 4686949c2bSAlison Wang #endif 4786949c2bSAlison Wang 4886949c2bSAlison Wang #ifdef CONFIG_SD_BOOT 4970097027SAlison Wang #ifdef CONFIG_SD_BOOT_QSPI 5070097027SAlison Wang #define CONFIG_SYS_FSL_PBL_RCW \ 5170097027SAlison Wang board/freescale/ls1021aqds/ls102xa_rcw_sd_qspi.cfg 5270097027SAlison Wang #else 5370097027SAlison Wang #define CONFIG_SYS_FSL_PBL_RCW \ 5470097027SAlison Wang board/freescale/ls1021aqds/ls102xa_rcw_sd_ifc.cfg 5570097027SAlison Wang #endif 5686949c2bSAlison Wang #define CONFIG_SPL_FRAMEWORK 5786949c2bSAlison Wang #define CONFIG_SPL_LDSCRIPT "arch/$(ARCH)/cpu/u-boot-spl.lds" 5886949c2bSAlison Wang 5986949c2bSAlison Wang #define CONFIG_SPL_TEXT_BASE 0x10000000 6086949c2bSAlison Wang #define CONFIG_SPL_MAX_SIZE 0x1a000 6186949c2bSAlison Wang #define CONFIG_SPL_STACK 0x1001d000 6286949c2bSAlison Wang #define CONFIG_SPL_PAD_TO 0x1c000 6386949c2bSAlison Wang #define CONFIG_SYS_TEXT_BASE 0x82000000 6486949c2bSAlison Wang 6541ba57d0Stang yuantian #define CONFIG_SYS_SPL_MALLOC_START (CONFIG_SYS_TEXT_BASE + \ 6641ba57d0Stang yuantian CONFIG_SYS_MONITOR_LEN) 6786949c2bSAlison Wang #define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000 6886949c2bSAlison Wang #define CONFIG_SPL_BSS_START_ADDR 0x80100000 6986949c2bSAlison Wang #define CONFIG_SPL_BSS_MAX_SIZE 0x80000 707ee52af4SAlison Wang #define CONFIG_SYS_MONITOR_LEN 0xc0000 7186949c2bSAlison Wang #endif 7286949c2bSAlison Wang 73d612f0abSAlison Wang #ifdef CONFIG_QSPI_BOOT 74d612f0abSAlison Wang #define CONFIG_SYS_TEXT_BASE 0x40010000 7570097027SAlison Wang #endif 7670097027SAlison Wang 778ab967b6SAlison Wang #ifdef CONFIG_NAND_BOOT 788ab967b6SAlison Wang #define CONFIG_SYS_FSL_PBL_RCW board/freescale/ls1021aqds/ls102xa_rcw_nand.cfg 798ab967b6SAlison Wang #define CONFIG_SPL_FRAMEWORK 808ab967b6SAlison Wang #define CONFIG_SPL_LDSCRIPT "arch/$(ARCH)/cpu/u-boot-spl.lds" 818ab967b6SAlison Wang 828ab967b6SAlison Wang #define CONFIG_SPL_TEXT_BASE 0x10000000 838ab967b6SAlison Wang #define CONFIG_SPL_MAX_SIZE 0x1a000 848ab967b6SAlison Wang #define CONFIG_SPL_STACK 0x1001d000 858ab967b6SAlison Wang #define CONFIG_SPL_PAD_TO 0x1c000 868ab967b6SAlison Wang #define CONFIG_SYS_TEXT_BASE 0x82000000 878ab967b6SAlison Wang 888ab967b6SAlison Wang #define CONFIG_SYS_NAND_U_BOOT_SIZE (400 << 10) 898ab967b6SAlison Wang #define CONFIG_SYS_NAND_U_BOOT_OFFS CONFIG_SPL_PAD_TO 908ab967b6SAlison Wang #define CONFIG_SYS_NAND_PAGE_SIZE 2048 918ab967b6SAlison Wang #define CONFIG_SYS_NAND_U_BOOT_DST CONFIG_SYS_TEXT_BASE 928ab967b6SAlison Wang #define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_TEXT_BASE 938ab967b6SAlison Wang 948ab967b6SAlison Wang #define CONFIG_SYS_SPL_MALLOC_START 0x80200000 958ab967b6SAlison Wang #define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000 968ab967b6SAlison Wang #define CONFIG_SPL_BSS_START_ADDR 0x80100000 978ab967b6SAlison Wang #define CONFIG_SPL_BSS_MAX_SIZE 0x80000 988ab967b6SAlison Wang #define CONFIG_SYS_MONITOR_LEN 0x80000 998ab967b6SAlison Wang #endif 1008ab967b6SAlison Wang 101550e3dc0SWang Huan #ifndef CONFIG_SYS_TEXT_BASE 1021c69a51cSAlison Wang #define CONFIG_SYS_TEXT_BASE 0x60100000 103550e3dc0SWang Huan #endif 104550e3dc0SWang Huan 105550e3dc0SWang Huan #define CONFIG_NR_DRAM_BANKS 1 106550e3dc0SWang Huan 107550e3dc0SWang Huan #define CONFIG_DDR_SPD 108550e3dc0SWang Huan #define SPD_EEPROM_ADDRESS 0x51 109550e3dc0SWang Huan #define CONFIG_SYS_SPD_BUS_NUM 0 110550e3dc0SWang Huan 111550e3dc0SWang Huan #define CONFIG_FSL_DDR_INTERACTIVE /* Interactive debugging */ 112c7eae7fcSYork Sun #ifndef CONFIG_SYS_FSL_DDR4 113c7eae7fcSYork Sun #define CONFIG_SYS_DDR_RAW_TIMING 114c7eae7fcSYork Sun #endif 115550e3dc0SWang Huan #define CONFIG_DIMM_SLOTS_PER_CTLR 1 116550e3dc0SWang Huan #define CONFIG_CHIP_SELECTS_PER_CTRL 4 117550e3dc0SWang Huan 118550e3dc0SWang Huan #define CONFIG_SYS_DDR_SDRAM_BASE 0x80000000UL 119550e3dc0SWang Huan #define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_SDRAM_BASE 120550e3dc0SWang Huan 121550e3dc0SWang Huan #define CONFIG_DDR_ECC 122550e3dc0SWang Huan #ifdef CONFIG_DDR_ECC 123550e3dc0SWang Huan #define CONFIG_ECC_INIT_VIA_DDRCONTROLLER 124550e3dc0SWang Huan #define CONFIG_MEM_INIT_VALUE 0xdeadbeef 125550e3dc0SWang Huan #endif 126550e3dc0SWang Huan 1274c59ab9cSAlison Wang #if !defined(CONFIG_SD_BOOT) && !defined(CONFIG_NAND_BOOT) && \ 1284c59ab9cSAlison Wang !defined(CONFIG_QSPI_BOOT) 12963e75fd7SZhao Qiang #define CONFIG_U_QE 13063e75fd7SZhao Qiang #endif 13163e75fd7SZhao Qiang 132550e3dc0SWang Huan /* 133550e3dc0SWang Huan * IFC Definitions 134550e3dc0SWang Huan */ 13570097027SAlison Wang #if !defined(CONFIG_QSPI_BOOT) && !defined(CONFIG_SD_BOOT_QSPI) 136550e3dc0SWang Huan #define CONFIG_FSL_IFC 137550e3dc0SWang Huan #define CONFIG_SYS_FLASH_BASE 0x60000000 138550e3dc0SWang Huan #define CONFIG_SYS_FLASH_BASE_PHYS CONFIG_SYS_FLASH_BASE 139550e3dc0SWang Huan 140550e3dc0SWang Huan #define CONFIG_SYS_NOR0_CSPR_EXT (0x0) 141550e3dc0SWang Huan #define CONFIG_SYS_NOR0_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) | \ 142550e3dc0SWang Huan CSPR_PORT_SIZE_16 | \ 143550e3dc0SWang Huan CSPR_MSEL_NOR | \ 144550e3dc0SWang Huan CSPR_V) 145550e3dc0SWang Huan #define CONFIG_SYS_NOR1_CSPR_EXT (0x0) 146550e3dc0SWang Huan #define CONFIG_SYS_NOR1_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS \ 147550e3dc0SWang Huan + 0x8000000) | \ 148550e3dc0SWang Huan CSPR_PORT_SIZE_16 | \ 149550e3dc0SWang Huan CSPR_MSEL_NOR | \ 150550e3dc0SWang Huan CSPR_V) 151550e3dc0SWang Huan #define CONFIG_SYS_NOR_AMASK IFC_AMASK(128 * 1024 * 1024) 152550e3dc0SWang Huan 153550e3dc0SWang Huan #define CONFIG_SYS_NOR_CSOR (CSOR_NOR_ADM_SHIFT(4) | \ 154550e3dc0SWang Huan CSOR_NOR_TRHZ_80) 155550e3dc0SWang Huan #define CONFIG_SYS_NOR_FTIM0 (FTIM0_NOR_TACSE(0x4) | \ 156550e3dc0SWang Huan FTIM0_NOR_TEADC(0x5) | \ 157550e3dc0SWang Huan FTIM0_NOR_TEAHC(0x5)) 158550e3dc0SWang Huan #define CONFIG_SYS_NOR_FTIM1 (FTIM1_NOR_TACO(0x35) | \ 159550e3dc0SWang Huan FTIM1_NOR_TRAD_NOR(0x1a) | \ 160550e3dc0SWang Huan FTIM1_NOR_TSEQRAD_NOR(0x13)) 161550e3dc0SWang Huan #define CONFIG_SYS_NOR_FTIM2 (FTIM2_NOR_TCS(0x4) | \ 162550e3dc0SWang Huan FTIM2_NOR_TCH(0x4) | \ 163550e3dc0SWang Huan FTIM2_NOR_TWPH(0xe) | \ 164550e3dc0SWang Huan FTIM2_NOR_TWP(0x1c)) 165550e3dc0SWang Huan #define CONFIG_SYS_NOR_FTIM3 0 166550e3dc0SWang Huan 167550e3dc0SWang Huan #define CONFIG_FLASH_CFI_DRIVER 168550e3dc0SWang Huan #define CONFIG_SYS_FLASH_CFI 169550e3dc0SWang Huan #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 170550e3dc0SWang Huan #define CONFIG_SYS_FLASH_QUIET_TEST 171550e3dc0SWang Huan #define CONFIG_FLASH_SHOW_PROGRESS 45 172550e3dc0SWang Huan #define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS 173272c5265SYuan Yao #define CONFIG_SYS_WRITE_SWAPPED_DATA 174550e3dc0SWang Huan 175550e3dc0SWang Huan #define CONFIG_SYS_MAX_FLASH_BANKS 2 /* number of banks */ 176550e3dc0SWang Huan #define CONFIG_SYS_MAX_FLASH_SECT 1024 /* sectors per device */ 177550e3dc0SWang Huan #define CONFIG_SYS_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */ 178550e3dc0SWang Huan #define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */ 179550e3dc0SWang Huan 180550e3dc0SWang Huan #define CONFIG_SYS_FLASH_EMPTY_INFO 181550e3dc0SWang Huan #define CONFIG_SYS_FLASH_BANKS_LIST {CONFIG_SYS_FLASH_BASE_PHYS, \ 182550e3dc0SWang Huan CONFIG_SYS_FLASH_BASE_PHYS + 0x8000000} 183550e3dc0SWang Huan 184550e3dc0SWang Huan /* 185550e3dc0SWang Huan * NAND Flash Definitions 186550e3dc0SWang Huan */ 187550e3dc0SWang Huan #define CONFIG_NAND_FSL_IFC 188550e3dc0SWang Huan 189550e3dc0SWang Huan #define CONFIG_SYS_NAND_BASE 0x7e800000 190550e3dc0SWang Huan #define CONFIG_SYS_NAND_BASE_PHYS CONFIG_SYS_NAND_BASE 191550e3dc0SWang Huan 192550e3dc0SWang Huan #define CONFIG_SYS_NAND_CSPR_EXT (0x0) 193550e3dc0SWang Huan 194550e3dc0SWang Huan #define CONFIG_SYS_NAND_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_NAND_BASE_PHYS) \ 195550e3dc0SWang Huan | CSPR_PORT_SIZE_8 \ 196550e3dc0SWang Huan | CSPR_MSEL_NAND \ 197550e3dc0SWang Huan | CSPR_V) 198550e3dc0SWang Huan #define CONFIG_SYS_NAND_AMASK IFC_AMASK(64*1024) 199550e3dc0SWang Huan #define CONFIG_SYS_NAND_CSOR (CSOR_NAND_ECC_ENC_EN /* ECC on encode */ \ 200550e3dc0SWang Huan | CSOR_NAND_ECC_DEC_EN /* ECC on decode */ \ 201550e3dc0SWang Huan | CSOR_NAND_ECC_MODE_4 /* 4-bit ECC */ \ 202550e3dc0SWang Huan | CSOR_NAND_RAL_3 /* RAL = 3 Bytes */ \ 203550e3dc0SWang Huan | CSOR_NAND_PGS_2K /* Page Size = 2K */ \ 204550e3dc0SWang Huan | CSOR_NAND_SPRZ_64 /* Spare size = 64 */ \ 205550e3dc0SWang Huan | CSOR_NAND_PB(64)) /* 64 Pages Per Block */ 206550e3dc0SWang Huan 207550e3dc0SWang Huan #define CONFIG_SYS_NAND_ONFI_DETECTION 208550e3dc0SWang Huan 209550e3dc0SWang Huan #define CONFIG_SYS_NAND_FTIM0 (FTIM0_NAND_TCCST(0x7) | \ 210550e3dc0SWang Huan FTIM0_NAND_TWP(0x18) | \ 211550e3dc0SWang Huan FTIM0_NAND_TWCHT(0x7) | \ 212550e3dc0SWang Huan FTIM0_NAND_TWH(0xa)) 213550e3dc0SWang Huan #define CONFIG_SYS_NAND_FTIM1 (FTIM1_NAND_TADLE(0x32) | \ 214550e3dc0SWang Huan FTIM1_NAND_TWBE(0x39) | \ 215550e3dc0SWang Huan FTIM1_NAND_TRR(0xe) | \ 216550e3dc0SWang Huan FTIM1_NAND_TRP(0x18)) 217550e3dc0SWang Huan #define CONFIG_SYS_NAND_FTIM2 (FTIM2_NAND_TRAD(0xf) | \ 218550e3dc0SWang Huan FTIM2_NAND_TREH(0xa) | \ 219550e3dc0SWang Huan FTIM2_NAND_TWHRE(0x1e)) 220550e3dc0SWang Huan #define CONFIG_SYS_NAND_FTIM3 0x0 221550e3dc0SWang Huan 222550e3dc0SWang Huan #define CONFIG_SYS_NAND_BASE_LIST { CONFIG_SYS_NAND_BASE } 223550e3dc0SWang Huan #define CONFIG_SYS_MAX_NAND_DEVICE 1 224550e3dc0SWang Huan #define CONFIG_CMD_NAND 225550e3dc0SWang Huan 226550e3dc0SWang Huan #define CONFIG_SYS_NAND_BLOCK_SIZE (128 * 1024) 227d612f0abSAlison Wang #endif 228550e3dc0SWang Huan 229550e3dc0SWang Huan /* 230550e3dc0SWang Huan * QIXIS Definitions 231550e3dc0SWang Huan */ 232550e3dc0SWang Huan #define CONFIG_FSL_QIXIS 233550e3dc0SWang Huan 234550e3dc0SWang Huan #ifdef CONFIG_FSL_QIXIS 235550e3dc0SWang Huan #define QIXIS_BASE 0x7fb00000 236550e3dc0SWang Huan #define QIXIS_BASE_PHYS QIXIS_BASE 237550e3dc0SWang Huan #define CONFIG_SYS_I2C_FPGA_ADDR 0x66 238550e3dc0SWang Huan #define QIXIS_LBMAP_SWITCH 6 239550e3dc0SWang Huan #define QIXIS_LBMAP_MASK 0x0f 240550e3dc0SWang Huan #define QIXIS_LBMAP_SHIFT 0 241550e3dc0SWang Huan #define QIXIS_LBMAP_DFLTBANK 0x00 242550e3dc0SWang Huan #define QIXIS_LBMAP_ALTBANK 0x04 243aeb901f2SHongbo Zhang #define QIXIS_PWR_CTL 0x21 244aeb901f2SHongbo Zhang #define QIXIS_PWR_CTL_POWEROFF 0x80 245550e3dc0SWang Huan #define QIXIS_RST_CTL_RESET 0x44 246550e3dc0SWang Huan #define QIXIS_RCFG_CTL_RECONFIG_IDLE 0x20 247550e3dc0SWang Huan #define QIXIS_RCFG_CTL_RECONFIG_START 0x21 248550e3dc0SWang Huan #define QIXIS_RCFG_CTL_WATCHDOG_ENBLE 0x08 249349cfc97SHongbo Zhang #define QIXIS_CTL_SYS 0x5 250349cfc97SHongbo Zhang #define QIXIS_CTL_SYS_EVTSW_MASK 0x0c 251349cfc97SHongbo Zhang #define QIXIS_CTL_SYS_EVTSW_IRQ 0x04 252349cfc97SHongbo Zhang #define QIXIS_RST_FORCE_3 0x45 253349cfc97SHongbo Zhang #define QIXIS_RST_FORCE_3_PCIESLOT1 0x80 254349cfc97SHongbo Zhang #define QIXIS_PWR_CTL2 0x21 255349cfc97SHongbo Zhang #define QIXIS_PWR_CTL2_PCTL 0x2 256550e3dc0SWang Huan 257550e3dc0SWang Huan #define CONFIG_SYS_FPGA_CSPR_EXT (0x0) 258550e3dc0SWang Huan #define CONFIG_SYS_FPGA_CSPR (CSPR_PHYS_ADDR(QIXIS_BASE_PHYS) | \ 259550e3dc0SWang Huan CSPR_PORT_SIZE_8 | \ 260550e3dc0SWang Huan CSPR_MSEL_GPCM | \ 261550e3dc0SWang Huan CSPR_V) 262550e3dc0SWang Huan #define CONFIG_SYS_FPGA_AMASK IFC_AMASK(64 * 1024) 263550e3dc0SWang Huan #define CONFIG_SYS_FPGA_CSOR (CSOR_NOR_ADM_SHIFT(4) | \ 264550e3dc0SWang Huan CSOR_NOR_NOR_MODE_AVD_NOR | \ 265550e3dc0SWang Huan CSOR_NOR_TRHZ_80) 266550e3dc0SWang Huan 267550e3dc0SWang Huan /* 268550e3dc0SWang Huan * QIXIS Timing parameters for IFC GPCM 269550e3dc0SWang Huan */ 270550e3dc0SWang Huan #define CONFIG_SYS_FPGA_FTIM0 (FTIM0_GPCM_TACSE(0xe) | \ 271550e3dc0SWang Huan FTIM0_GPCM_TEADC(0xe) | \ 272550e3dc0SWang Huan FTIM0_GPCM_TEAHC(0xe)) 273550e3dc0SWang Huan #define CONFIG_SYS_FPGA_FTIM1 (FTIM1_GPCM_TACO(0xe) | \ 274550e3dc0SWang Huan FTIM1_GPCM_TRAD(0x1f)) 275550e3dc0SWang Huan #define CONFIG_SYS_FPGA_FTIM2 (FTIM2_GPCM_TCS(0xe) | \ 276550e3dc0SWang Huan FTIM2_GPCM_TCH(0xe) | \ 277550e3dc0SWang Huan FTIM2_GPCM_TWP(0xf0)) 278550e3dc0SWang Huan #define CONFIG_SYS_FPGA_FTIM3 0x0 279550e3dc0SWang Huan #endif 280550e3dc0SWang Huan 2818ab967b6SAlison Wang #if defined(CONFIG_NAND_BOOT) 2828ab967b6SAlison Wang #define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NAND_CSPR_EXT 2838ab967b6SAlison Wang #define CONFIG_SYS_CSPR0 CONFIG_SYS_NAND_CSPR 2848ab967b6SAlison Wang #define CONFIG_SYS_AMASK0 CONFIG_SYS_NAND_AMASK 2858ab967b6SAlison Wang #define CONFIG_SYS_CSOR0 CONFIG_SYS_NAND_CSOR 2868ab967b6SAlison Wang #define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NAND_FTIM0 2878ab967b6SAlison Wang #define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NAND_FTIM1 2888ab967b6SAlison Wang #define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NAND_FTIM2 2898ab967b6SAlison Wang #define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NAND_FTIM3 2908ab967b6SAlison Wang #define CONFIG_SYS_CSPR1_EXT CONFIG_SYS_NOR0_CSPR_EXT 2918ab967b6SAlison Wang #define CONFIG_SYS_CSPR1 CONFIG_SYS_NOR0_CSPR 2928ab967b6SAlison Wang #define CONFIG_SYS_AMASK1 CONFIG_SYS_NOR_AMASK 2938ab967b6SAlison Wang #define CONFIG_SYS_CSOR1 CONFIG_SYS_NOR_CSOR 2948ab967b6SAlison Wang #define CONFIG_SYS_CS1_FTIM0 CONFIG_SYS_NOR_FTIM0 2958ab967b6SAlison Wang #define CONFIG_SYS_CS1_FTIM1 CONFIG_SYS_NOR_FTIM1 2968ab967b6SAlison Wang #define CONFIG_SYS_CS1_FTIM2 CONFIG_SYS_NOR_FTIM2 2978ab967b6SAlison Wang #define CONFIG_SYS_CS1_FTIM3 CONFIG_SYS_NOR_FTIM3 2988ab967b6SAlison Wang #define CONFIG_SYS_CSPR2_EXT CONFIG_SYS_NOR1_CSPR_EXT 2998ab967b6SAlison Wang #define CONFIG_SYS_CSPR2 CONFIG_SYS_NOR1_CSPR 3008ab967b6SAlison Wang #define CONFIG_SYS_AMASK2 CONFIG_SYS_NOR_AMASK 3018ab967b6SAlison Wang #define CONFIG_SYS_CSOR2 CONFIG_SYS_NOR_CSOR 3028ab967b6SAlison Wang #define CONFIG_SYS_CS2_FTIM0 CONFIG_SYS_NOR_FTIM0 3038ab967b6SAlison Wang #define CONFIG_SYS_CS2_FTIM1 CONFIG_SYS_NOR_FTIM1 3048ab967b6SAlison Wang #define CONFIG_SYS_CS2_FTIM2 CONFIG_SYS_NOR_FTIM2 3058ab967b6SAlison Wang #define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_NOR_FTIM3 3068ab967b6SAlison Wang #define CONFIG_SYS_CSPR3_EXT CONFIG_SYS_FPGA_CSPR_EXT 3078ab967b6SAlison Wang #define CONFIG_SYS_CSPR3 CONFIG_SYS_FPGA_CSPR 3088ab967b6SAlison Wang #define CONFIG_SYS_AMASK3 CONFIG_SYS_FPGA_AMASK 3098ab967b6SAlison Wang #define CONFIG_SYS_CSOR3 CONFIG_SYS_FPGA_CSOR 3108ab967b6SAlison Wang #define CONFIG_SYS_CS3_FTIM0 CONFIG_SYS_FPGA_FTIM0 3118ab967b6SAlison Wang #define CONFIG_SYS_CS3_FTIM1 CONFIG_SYS_FPGA_FTIM1 3128ab967b6SAlison Wang #define CONFIG_SYS_CS3_FTIM2 CONFIG_SYS_FPGA_FTIM2 3138ab967b6SAlison Wang #define CONFIG_SYS_CS3_FTIM3 CONFIG_SYS_FPGA_FTIM3 3148ab967b6SAlison Wang #else 315550e3dc0SWang Huan #define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NOR0_CSPR_EXT 316550e3dc0SWang Huan #define CONFIG_SYS_CSPR0 CONFIG_SYS_NOR0_CSPR 317550e3dc0SWang Huan #define CONFIG_SYS_AMASK0 CONFIG_SYS_NOR_AMASK 318550e3dc0SWang Huan #define CONFIG_SYS_CSOR0 CONFIG_SYS_NOR_CSOR 319550e3dc0SWang Huan #define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NOR_FTIM0 320550e3dc0SWang Huan #define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NOR_FTIM1 321550e3dc0SWang Huan #define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NOR_FTIM2 322550e3dc0SWang Huan #define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NOR_FTIM3 323550e3dc0SWang Huan #define CONFIG_SYS_CSPR1_EXT CONFIG_SYS_NOR1_CSPR_EXT 324550e3dc0SWang Huan #define CONFIG_SYS_CSPR1 CONFIG_SYS_NOR1_CSPR 325550e3dc0SWang Huan #define CONFIG_SYS_AMASK1 CONFIG_SYS_NOR_AMASK 326550e3dc0SWang Huan #define CONFIG_SYS_CSOR1 CONFIG_SYS_NOR_CSOR 327550e3dc0SWang Huan #define CONFIG_SYS_CS1_FTIM0 CONFIG_SYS_NOR_FTIM0 328550e3dc0SWang Huan #define CONFIG_SYS_CS1_FTIM1 CONFIG_SYS_NOR_FTIM1 329550e3dc0SWang Huan #define CONFIG_SYS_CS1_FTIM2 CONFIG_SYS_NOR_FTIM2 330550e3dc0SWang Huan #define CONFIG_SYS_CS1_FTIM3 CONFIG_SYS_NOR_FTIM3 331550e3dc0SWang Huan #define CONFIG_SYS_CSPR2_EXT CONFIG_SYS_NAND_CSPR_EXT 332550e3dc0SWang Huan #define CONFIG_SYS_CSPR2 CONFIG_SYS_NAND_CSPR 333550e3dc0SWang Huan #define CONFIG_SYS_AMASK2 CONFIG_SYS_NAND_AMASK 334550e3dc0SWang Huan #define CONFIG_SYS_CSOR2 CONFIG_SYS_NAND_CSOR 335550e3dc0SWang Huan #define CONFIG_SYS_CS2_FTIM0 CONFIG_SYS_NAND_FTIM0 336550e3dc0SWang Huan #define CONFIG_SYS_CS2_FTIM1 CONFIG_SYS_NAND_FTIM1 337550e3dc0SWang Huan #define CONFIG_SYS_CS2_FTIM2 CONFIG_SYS_NAND_FTIM2 338550e3dc0SWang Huan #define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_NAND_FTIM3 339550e3dc0SWang Huan #define CONFIG_SYS_CSPR3_EXT CONFIG_SYS_FPGA_CSPR_EXT 340550e3dc0SWang Huan #define CONFIG_SYS_CSPR3 CONFIG_SYS_FPGA_CSPR 341550e3dc0SWang Huan #define CONFIG_SYS_AMASK3 CONFIG_SYS_FPGA_AMASK 342550e3dc0SWang Huan #define CONFIG_SYS_CSOR3 CONFIG_SYS_FPGA_CSOR 343550e3dc0SWang Huan #define CONFIG_SYS_CS3_FTIM0 CONFIG_SYS_FPGA_FTIM0 344550e3dc0SWang Huan #define CONFIG_SYS_CS3_FTIM1 CONFIG_SYS_FPGA_FTIM1 345550e3dc0SWang Huan #define CONFIG_SYS_CS3_FTIM2 CONFIG_SYS_FPGA_FTIM2 346550e3dc0SWang Huan #define CONFIG_SYS_CS3_FTIM3 CONFIG_SYS_FPGA_FTIM3 3478ab967b6SAlison Wang #endif 348550e3dc0SWang Huan 349550e3dc0SWang Huan /* 350550e3dc0SWang Huan * Serial Port 351550e3dc0SWang Huan */ 3528fc2121aSAlison Wang #ifdef CONFIG_LPUART 3538fc2121aSAlison Wang #define CONFIG_LPUART_32B_REG 3548fc2121aSAlison Wang #else 355550e3dc0SWang Huan #define CONFIG_CONS_INDEX 1 356550e3dc0SWang Huan #define CONFIG_SYS_NS16550_SERIAL 357d83b47b7SYork Sun #ifndef CONFIG_DM_SERIAL 358550e3dc0SWang Huan #define CONFIG_SYS_NS16550_REG_SIZE 1 359d83b47b7SYork Sun #endif 360550e3dc0SWang Huan #define CONFIG_SYS_NS16550_CLK get_serial_clock() 3618fc2121aSAlison Wang #endif 362550e3dc0SWang Huan 363550e3dc0SWang Huan /* 364550e3dc0SWang Huan * I2C 365550e3dc0SWang Huan */ 366550e3dc0SWang Huan #define CONFIG_SYS_I2C 367550e3dc0SWang Huan #define CONFIG_SYS_I2C_MXC 36803544c66SAlbert ARIBAUD \\(3ADEV\\) #define CONFIG_SYS_I2C_MXC_I2C1 /* enable I2C bus 1 */ 36903544c66SAlbert ARIBAUD \\(3ADEV\\) #define CONFIG_SYS_I2C_MXC_I2C2 /* enable I2C bus 2 */ 370f8cb101eSYork Sun #define CONFIG_SYS_I2C_MXC_I2C3 /* enable I2C bus 3 */ 371550e3dc0SWang Huan 372550e3dc0SWang Huan /* 373550e3dc0SWang Huan * I2C bus multiplexer 374550e3dc0SWang Huan */ 375550e3dc0SWang Huan #define I2C_MUX_PCA_ADDR_PRI 0x77 376550e3dc0SWang Huan #define I2C_MUX_CH_DEFAULT 0x8 377dd04832dSXiubo Li #define I2C_MUX_CH_CH7301 0xC 378550e3dc0SWang Huan 379550e3dc0SWang Huan /* 380550e3dc0SWang Huan * MMC 381550e3dc0SWang Huan */ 382550e3dc0SWang Huan #define CONFIG_FSL_ESDHC 383550e3dc0SWang Huan 384e5493d4eSHaikun Wang /* SPI */ 38570097027SAlison Wang #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) 386e5493d4eSHaikun Wang /* QSPI */ 387d612f0abSAlison Wang #define QSPI0_AMBA_BASE 0x40000000 388d612f0abSAlison Wang #define FSL_QSPI_FLASH_SIZE (1 << 24) 389d612f0abSAlison Wang #define FSL_QSPI_FLASH_NUM 2 390e5493d4eSHaikun Wang 391e5493d4eSHaikun Wang /* DSPI */ 392e5493d4eSHaikun Wang 393e5493d4eSHaikun Wang /* DM SPI */ 394e5493d4eSHaikun Wang #if defined(CONFIG_FSL_DSPI) || defined(CONFIG_FSL_QSPI) 395e5493d4eSHaikun Wang #define CONFIG_DM_SPI_FLASH 3966812484aSJagan Teki #define CONFIG_SPI_FLASH_DATAFLASH 397e5493d4eSHaikun Wang #endif 398d612f0abSAlison Wang #endif 399d612f0abSAlison Wang 400550e3dc0SWang Huan /* 4018776cb20SNikhil Badola * USB 4028776cb20SNikhil Badola */ 403081a1b73SRamneek Mehresh /* EHCI Support - disbaled by default */ 404081a1b73SRamneek Mehresh /*#define CONFIG_HAS_FSL_DR_USB*/ 4058776cb20SNikhil Badola 4068776cb20SNikhil Badola #ifdef CONFIG_HAS_FSL_DR_USB 4078776cb20SNikhil Badola #define CONFIG_USB_EHCI 4088776cb20SNikhil Badola #define CONFIG_USB_EHCI_FSL 4098776cb20SNikhil Badola #define CONFIG_EHCI_HCD_INIT_AFTER_RESET 4108776cb20SNikhil Badola #endif 411081a1b73SRamneek Mehresh 412081a1b73SRamneek Mehresh /*XHCI Support - enabled by default*/ 413081a1b73SRamneek Mehresh #define CONFIG_HAS_FSL_XHCI_USB 414081a1b73SRamneek Mehresh 415081a1b73SRamneek Mehresh #ifdef CONFIG_HAS_FSL_XHCI_USB 416081a1b73SRamneek Mehresh #define CONFIG_USB_XHCI_FSL 417081a1b73SRamneek Mehresh #define CONFIG_USB_MAX_CONTROLLER_COUNT 1 418081a1b73SRamneek Mehresh #define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS 2 419081a1b73SRamneek Mehresh #endif 420081a1b73SRamneek Mehresh 4218776cb20SNikhil Badola /* 422dd04832dSXiubo Li * Video 423dd04832dSXiubo Li */ 424*b215fb3fSSanchayan Maity #ifdef CONFIG_VIDEO_FSL_DCU_FB 425dd04832dSXiubo Li #define CONFIG_CMD_BMP 426dd04832dSXiubo Li #define CONFIG_VIDEO_LOGO 427dd04832dSXiubo Li #define CONFIG_VIDEO_BMP_LOGO 428dd04832dSXiubo Li 429dd04832dSXiubo Li #define CONFIG_FSL_DIU_CH7301 430dd04832dSXiubo Li #define CONFIG_SYS_I2C_DVI_BUS_NUM 0 431dd04832dSXiubo Li #define CONFIG_SYS_I2C_QIXIS_ADDR 0x66 432dd04832dSXiubo Li #define CONFIG_SYS_I2C_DVI_ADDR 0x75 433dd04832dSXiubo Li #endif 434dd04832dSXiubo Li 435dd04832dSXiubo Li /* 436550e3dc0SWang Huan * eTSEC 437550e3dc0SWang Huan */ 438550e3dc0SWang Huan #define CONFIG_TSEC_ENET 439550e3dc0SWang Huan 440550e3dc0SWang Huan #ifdef CONFIG_TSEC_ENET 441550e3dc0SWang Huan #define CONFIG_MII 442550e3dc0SWang Huan #define CONFIG_MII_DEFAULT_TSEC 3 443550e3dc0SWang Huan #define CONFIG_TSEC1 1 444550e3dc0SWang Huan #define CONFIG_TSEC1_NAME "eTSEC1" 445550e3dc0SWang Huan #define CONFIG_TSEC2 1 446550e3dc0SWang Huan #define CONFIG_TSEC2_NAME "eTSEC2" 447550e3dc0SWang Huan #define CONFIG_TSEC3 1 448550e3dc0SWang Huan #define CONFIG_TSEC3_NAME "eTSEC3" 449550e3dc0SWang Huan 450550e3dc0SWang Huan #define TSEC1_PHY_ADDR 1 451550e3dc0SWang Huan #define TSEC2_PHY_ADDR 2 452550e3dc0SWang Huan #define TSEC3_PHY_ADDR 3 453550e3dc0SWang Huan 454550e3dc0SWang Huan #define TSEC1_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) 455550e3dc0SWang Huan #define TSEC2_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) 456550e3dc0SWang Huan #define TSEC3_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) 457550e3dc0SWang Huan 458550e3dc0SWang Huan #define TSEC1_PHYIDX 0 459550e3dc0SWang Huan #define TSEC2_PHYIDX 0 460550e3dc0SWang Huan #define TSEC3_PHYIDX 0 461550e3dc0SWang Huan 462550e3dc0SWang Huan #define CONFIG_ETHPRIME "eTSEC1" 463550e3dc0SWang Huan 464550e3dc0SWang Huan #define CONFIG_PHY_GIGE 465550e3dc0SWang Huan #define CONFIG_PHYLIB 466550e3dc0SWang Huan #define CONFIG_PHY_REALTEK 467550e3dc0SWang Huan 468550e3dc0SWang Huan #define CONFIG_HAS_ETH0 469550e3dc0SWang Huan #define CONFIG_HAS_ETH1 470550e3dc0SWang Huan #define CONFIG_HAS_ETH2 471550e3dc0SWang Huan 472550e3dc0SWang Huan #define CONFIG_FSL_SGMII_RISER 1 473550e3dc0SWang Huan #define SGMII_RISER_PHY_OFFSET 0x1b 474550e3dc0SWang Huan 475550e3dc0SWang Huan #ifdef CONFIG_FSL_SGMII_RISER 476550e3dc0SWang Huan #define CONFIG_SYS_TBIPA_VALUE 8 477550e3dc0SWang Huan #endif 478550e3dc0SWang Huan 479550e3dc0SWang Huan #endif 480da419027SMinghuan Lian 481da419027SMinghuan Lian /* PCIe */ 482b38eaec5SRobert P. J. Day #define CONFIG_PCIE1 /* PCIE controller 1 */ 483b38eaec5SRobert P. J. Day #define CONFIG_PCIE2 /* PCIE controller 2 */ 484da419027SMinghuan Lian 485180b8688SMinghuan Lian #ifdef CONFIG_PCI 486180b8688SMinghuan Lian #define CONFIG_PCI_SCAN_SHOW 487180b8688SMinghuan Lian #define CONFIG_CMD_PCI 488180b8688SMinghuan Lian #endif 489180b8688SMinghuan Lian 490550e3dc0SWang Huan #define CONFIG_CMDLINE_TAG 491550e3dc0SWang Huan #define CONFIG_CMDLINE_EDITING 49286949c2bSAlison Wang 4931a2826f6SXiubo Li #define CONFIG_PEN_ADDR_BIG_ENDIAN 494435acd83SMingkai Hu #define CONFIG_LAYERSCAPE_NS_ACCESS 4951a2826f6SXiubo Li #define CONFIG_SMP_PEN_ADDR 0x01ee0200 496e4916e85SAndre Przywara #define COUNTER_FREQUENCY 12500000 4971a2826f6SXiubo Li 498550e3dc0SWang Huan #define CONFIG_HWCONFIG 49903c22449SZhuoyu Zhang #define HWCONFIG_BUFFER_SIZE 256 50003c22449SZhuoyu Zhang 50103c22449SZhuoyu Zhang #define CONFIG_FSL_DEVICE_DISABLE 502550e3dc0SWang Huan 503550e3dc0SWang Huan 504713bf94fSZhao Qiang #define CONFIG_SYS_QE_FW_ADDR 0x600c0000 50563e75fd7SZhao Qiang 5068fc2121aSAlison Wang #ifdef CONFIG_LPUART 5078fc2121aSAlison Wang #define CONFIG_EXTRA_ENV_SETTINGS \ 5088fc2121aSAlison Wang "bootargs=root=/dev/ram0 rw console=ttyLP0,115200\0" \ 50999fe4541SAlison Wang "fdt_high=0xffffffff\0" \ 51099fe4541SAlison Wang "initrd_high=0xffffffff\0" \ 5118fc2121aSAlison Wang "hwconfig=fsl_ddr:ctlr_intlv=null,bank_intlv=null\0" 5128fc2121aSAlison Wang #else 513550e3dc0SWang Huan #define CONFIG_EXTRA_ENV_SETTINGS \ 514550e3dc0SWang Huan "bootargs=root=/dev/ram0 rw console=ttyS0,115200\0" \ 51599fe4541SAlison Wang "fdt_high=0xffffffff\0" \ 51699fe4541SAlison Wang "initrd_high=0xffffffff\0" \ 517550e3dc0SWang Huan "hwconfig=fsl_ddr:ctlr_intlv=null,bank_intlv=null\0" 5188fc2121aSAlison Wang #endif 519550e3dc0SWang Huan 520550e3dc0SWang Huan /* 521550e3dc0SWang Huan * Miscellaneous configurable options 522550e3dc0SWang Huan */ 523550e3dc0SWang Huan #define CONFIG_SYS_LONGHELP /* undef to save memory */ 524550e3dc0SWang Huan #define CONFIG_AUTO_COMPLETE 525550e3dc0SWang Huan #define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */ 526550e3dc0SWang Huan #define CONFIG_SYS_PBSIZE \ 527550e3dc0SWang Huan (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) 528550e3dc0SWang Huan #define CONFIG_SYS_MAXARGS 16 /* max number of command args */ 529550e3dc0SWang Huan #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE 530550e3dc0SWang Huan 531550e3dc0SWang Huan #define CONFIG_SYS_MEMTEST_START 0x80000000 532550e3dc0SWang Huan #define CONFIG_SYS_MEMTEST_END 0x9fffffff 533550e3dc0SWang Huan 534550e3dc0SWang Huan #define CONFIG_SYS_LOAD_ADDR 0x82000000 535550e3dc0SWang Huan 536660673afSXiubo Li #define CONFIG_LS102XA_STREAM_ID 537660673afSXiubo Li 538550e3dc0SWang Huan #define CONFIG_SYS_INIT_SP_OFFSET \ 539550e3dc0SWang Huan (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 540550e3dc0SWang Huan #define CONFIG_SYS_INIT_SP_ADDR \ 541550e3dc0SWang Huan (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) 542550e3dc0SWang Huan 54386949c2bSAlison Wang #ifdef CONFIG_SPL_BUILD 54486949c2bSAlison Wang #define CONFIG_SYS_MONITOR_BASE CONFIG_SPL_TEXT_BASE 54586949c2bSAlison Wang #else 546550e3dc0SWang Huan #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */ 54786949c2bSAlison Wang #endif 548550e3dc0SWang Huan 549550e3dc0SWang Huan /* 550550e3dc0SWang Huan * Environment 551550e3dc0SWang Huan */ 552550e3dc0SWang Huan #define CONFIG_ENV_OVERWRITE 553550e3dc0SWang Huan 55486949c2bSAlison Wang #if defined(CONFIG_SD_BOOT) 55586949c2bSAlison Wang #define CONFIG_ENV_OFFSET 0x100000 55686949c2bSAlison Wang #define CONFIG_ENV_IS_IN_MMC 55786949c2bSAlison Wang #define CONFIG_SYS_MMC_ENV_DEV 0 55886949c2bSAlison Wang #define CONFIG_ENV_SIZE 0x2000 559d612f0abSAlison Wang #elif defined(CONFIG_QSPI_BOOT) 560d612f0abSAlison Wang #define CONFIG_ENV_IS_IN_SPI_FLASH 561d612f0abSAlison Wang #define CONFIG_ENV_SIZE 0x2000 /* 8KB */ 562d612f0abSAlison Wang #define CONFIG_ENV_OFFSET 0x100000 /* 1MB */ 563d612f0abSAlison Wang #define CONFIG_ENV_SECT_SIZE 0x10000 5648ab967b6SAlison Wang #elif defined(CONFIG_NAND_BOOT) 5658ab967b6SAlison Wang #define CONFIG_ENV_IS_IN_NAND 5668ab967b6SAlison Wang #define CONFIG_ENV_SIZE 0x2000 5678ab967b6SAlison Wang #define CONFIG_ENV_OFFSET (10 * CONFIG_SYS_NAND_BLOCK_SIZE) 56886949c2bSAlison Wang #else 569550e3dc0SWang Huan #define CONFIG_ENV_IS_IN_FLASH 570550e3dc0SWang Huan #define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SECT_SIZE) 571550e3dc0SWang Huan #define CONFIG_ENV_SIZE 0x2000 572550e3dc0SWang Huan #define CONFIG_ENV_SECT_SIZE 0x20000 /* 128K (one sector) */ 57386949c2bSAlison Wang #endif 574550e3dc0SWang Huan 5754ba4a095SRuchika Gupta #define CONFIG_MISC_INIT_R 5764ba4a095SRuchika Gupta 5774ba4a095SRuchika Gupta /* Hash command with SHA acceleration supported in hardware */ 578ef6c55a2SAneesh Bansal #ifdef CONFIG_FSL_CAAM 5794ba4a095SRuchika Gupta #define CONFIG_CMD_HASH 5804ba4a095SRuchika Gupta #define CONFIG_SHA_HW_ACCEL 581ef6c55a2SAneesh Bansal #endif 582ef6c55a2SAneesh Bansal 583ef6c55a2SAneesh Bansal #include <asm/fsl_secure_boot.h> 584cc7b8b9aSAlison Wang #define CONFIG_SYS_BOOTM_LEN (64 << 20) /* Increase max gunzip size */ 5854ba4a095SRuchika Gupta 586550e3dc0SWang Huan #endif 587