1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Copyright 2014 Freescale Semiconductor, Inc. 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 5*4882a593Smuzhiyun */ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #ifndef __CONFIG_H 8*4882a593Smuzhiyun #define __CONFIG_H 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun #define CONFIG_ARMV7_PSCI_1_0 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun #define CONFIG_ARMV7_SECURE_BASE OCRAM_BASE_S_ADDR 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun #define CONFIG_SYS_FSL_CLK 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun #define CONFIG_SKIP_LOWLEVEL_INIT 17*4882a593Smuzhiyun #define CONFIG_DEEP_SLEEP 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun /* 20*4882a593Smuzhiyun * Size of malloc() pool 21*4882a593Smuzhiyun */ 22*4882a593Smuzhiyun #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 16 * 1024 * 1024) 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_ADDR OCRAM_BASE_ADDR 25*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_SIZE OCRAM_SIZE 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun /* 28*4882a593Smuzhiyun * USB 29*4882a593Smuzhiyun */ 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun /* 32*4882a593Smuzhiyun * EHCI Support - disbaled by default as 33*4882a593Smuzhiyun * there is no signal coming out of soc on 34*4882a593Smuzhiyun * this board for this controller. However, 35*4882a593Smuzhiyun * the silicon still has this controller, 36*4882a593Smuzhiyun * and anyone can use this controller by 37*4882a593Smuzhiyun * taking signals out on their board. 38*4882a593Smuzhiyun */ 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun /*#define CONFIG_HAS_FSL_DR_USB*/ 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun #ifdef CONFIG_HAS_FSL_DR_USB 43*4882a593Smuzhiyun #define CONFIG_USB_EHCI_FSL 44*4882a593Smuzhiyun #define CONFIG_EHCI_HCD_INIT_AFTER_RESET 45*4882a593Smuzhiyun #endif 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun /* XHCI Support - enabled by default */ 48*4882a593Smuzhiyun #define CONFIG_HAS_FSL_XHCI_USB 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun #ifdef CONFIG_HAS_FSL_XHCI_USB 51*4882a593Smuzhiyun #define CONFIG_USB_XHCI_FSL 52*4882a593Smuzhiyun #define CONFIG_USB_MAX_CONTROLLER_COUNT 1 53*4882a593Smuzhiyun #endif 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun #define CONFIG_SYS_CLK_FREQ 100000000 56*4882a593Smuzhiyun #define CONFIG_DDR_CLK_FREQ 100000000 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun #define DDR_SDRAM_CFG 0x470c0008 59*4882a593Smuzhiyun #define DDR_CS0_BNDS 0x008000bf 60*4882a593Smuzhiyun #define DDR_CS0_CONFIG 0x80014302 61*4882a593Smuzhiyun #define DDR_TIMING_CFG_0 0x50550004 62*4882a593Smuzhiyun #define DDR_TIMING_CFG_1 0xbcb38c56 63*4882a593Smuzhiyun #define DDR_TIMING_CFG_2 0x0040d120 64*4882a593Smuzhiyun #define DDR_TIMING_CFG_3 0x010e1000 65*4882a593Smuzhiyun #define DDR_TIMING_CFG_4 0x00000001 66*4882a593Smuzhiyun #define DDR_TIMING_CFG_5 0x03401400 67*4882a593Smuzhiyun #define DDR_SDRAM_CFG_2 0x00401010 68*4882a593Smuzhiyun #define DDR_SDRAM_MODE 0x00061c60 69*4882a593Smuzhiyun #define DDR_SDRAM_MODE_2 0x00180000 70*4882a593Smuzhiyun #define DDR_SDRAM_INTERVAL 0x18600618 71*4882a593Smuzhiyun #define DDR_DDR_WRLVL_CNTL 0x8655f605 72*4882a593Smuzhiyun #define DDR_DDR_WRLVL_CNTL_2 0x05060607 73*4882a593Smuzhiyun #define DDR_DDR_WRLVL_CNTL_3 0x05050505 74*4882a593Smuzhiyun #define DDR_DDR_CDR1 0x80040000 75*4882a593Smuzhiyun #define DDR_DDR_CDR2 0x00000001 76*4882a593Smuzhiyun #define DDR_SDRAM_CLK_CNTL 0x02000000 77*4882a593Smuzhiyun #define DDR_DDR_ZQ_CNTL 0x89080600 78*4882a593Smuzhiyun #define DDR_CS0_CONFIG_2 0 79*4882a593Smuzhiyun #define DDR_SDRAM_CFG_MEM_EN 0x80000000 80*4882a593Smuzhiyun #define SDRAM_CFG2_D_INIT 0x00000010 81*4882a593Smuzhiyun #define DDR_CDR2_VREF_TRAIN_EN 0x00000080 82*4882a593Smuzhiyun #define SDRAM_CFG2_FRC_SR 0x80000000 83*4882a593Smuzhiyun #define SDRAM_CFG_BI 0x00000001 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun #ifdef CONFIG_RAMBOOT_PBL 86*4882a593Smuzhiyun #define CONFIG_SYS_FSL_PBL_PBI board/freescale/ls1021atwr/ls102xa_pbi.cfg 87*4882a593Smuzhiyun #endif 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun #ifdef CONFIG_SD_BOOT 90*4882a593Smuzhiyun #ifdef CONFIG_SD_BOOT_QSPI 91*4882a593Smuzhiyun #define CONFIG_SYS_FSL_PBL_RCW \ 92*4882a593Smuzhiyun board/freescale/ls1021atwr/ls102xa_rcw_sd_qspi.cfg 93*4882a593Smuzhiyun #else 94*4882a593Smuzhiyun #define CONFIG_SYS_FSL_PBL_RCW \ 95*4882a593Smuzhiyun board/freescale/ls1021atwr/ls102xa_rcw_sd_ifc.cfg 96*4882a593Smuzhiyun #endif 97*4882a593Smuzhiyun #define CONFIG_SPL_FRAMEWORK 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun #ifdef CONFIG_SECURE_BOOT 100*4882a593Smuzhiyun /* 101*4882a593Smuzhiyun * HDR would be appended at end of image and copied to DDR along 102*4882a593Smuzhiyun * with U-Boot image. 103*4882a593Smuzhiyun */ 104*4882a593Smuzhiyun #define CONFIG_U_BOOT_HDR_SIZE (16 << 10) 105*4882a593Smuzhiyun #endif /* ifdef CONFIG_SECURE_BOOT */ 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun #define CONFIG_SPL_TEXT_BASE 0x10000000 108*4882a593Smuzhiyun #define CONFIG_SPL_MAX_SIZE 0x1a000 109*4882a593Smuzhiyun #define CONFIG_SPL_STACK 0x1001d000 110*4882a593Smuzhiyun #define CONFIG_SPL_PAD_TO 0x1c000 111*4882a593Smuzhiyun #define CONFIG_SYS_TEXT_BASE 0x82000000 112*4882a593Smuzhiyun 113*4882a593Smuzhiyun #define CONFIG_SYS_SPL_MALLOC_START (CONFIG_SYS_TEXT_BASE + \ 114*4882a593Smuzhiyun CONFIG_SYS_MONITOR_LEN) 115*4882a593Smuzhiyun #define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000 116*4882a593Smuzhiyun #define CONFIG_SPL_BSS_START_ADDR 0x80100000 117*4882a593Smuzhiyun #define CONFIG_SPL_BSS_MAX_SIZE 0x80000 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun #ifdef CONFIG_U_BOOT_HDR_SIZE 120*4882a593Smuzhiyun /* 121*4882a593Smuzhiyun * HDR would be appended at end of image and copied to DDR along 122*4882a593Smuzhiyun * with U-Boot image. Here u-boot max. size is 512K. So if binary 123*4882a593Smuzhiyun * size increases then increase this size in case of secure boot as 124*4882a593Smuzhiyun * it uses raw u-boot image instead of fit image. 125*4882a593Smuzhiyun */ 126*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_LEN (0x100000 + CONFIG_U_BOOT_HDR_SIZE) 127*4882a593Smuzhiyun #else 128*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_LEN 0x100000 129*4882a593Smuzhiyun #endif /* ifdef CONFIG_U_BOOT_HDR_SIZE */ 130*4882a593Smuzhiyun #endif 131*4882a593Smuzhiyun 132*4882a593Smuzhiyun #ifdef CONFIG_QSPI_BOOT 133*4882a593Smuzhiyun #define CONFIG_SYS_TEXT_BASE 0x40100000 134*4882a593Smuzhiyun #endif 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun #ifndef CONFIG_SYS_TEXT_BASE 137*4882a593Smuzhiyun #define CONFIG_SYS_TEXT_BASE 0x60100000 138*4882a593Smuzhiyun #endif 139*4882a593Smuzhiyun 140*4882a593Smuzhiyun #define CONFIG_NR_DRAM_BANKS 1 141*4882a593Smuzhiyun #define PHYS_SDRAM 0x80000000 142*4882a593Smuzhiyun #define PHYS_SDRAM_SIZE (1u * 1024 * 1024 * 1024) 143*4882a593Smuzhiyun 144*4882a593Smuzhiyun #define CONFIG_SYS_DDR_SDRAM_BASE 0x80000000UL 145*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_SDRAM_BASE 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun #if !defined(CONFIG_SD_BOOT) && !defined(CONFIG_NAND_BOOT) && \ 148*4882a593Smuzhiyun !defined(CONFIG_QSPI_BOOT) 149*4882a593Smuzhiyun #define CONFIG_U_QE 150*4882a593Smuzhiyun #define CONFIG_SYS_QE_FMAN_FW_IN_NOR 151*4882a593Smuzhiyun #endif 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun /* 154*4882a593Smuzhiyun * IFC Definitions 155*4882a593Smuzhiyun */ 156*4882a593Smuzhiyun #if !defined(CONFIG_QSPI_BOOT) && !defined(CONFIG_SD_BOOT_QSPI) 157*4882a593Smuzhiyun #define CONFIG_FSL_IFC 158*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_BASE 0x60000000 159*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_BASE_PHYS CONFIG_SYS_FLASH_BASE 160*4882a593Smuzhiyun 161*4882a593Smuzhiyun #define CONFIG_SYS_NOR0_CSPR_EXT (0x0) 162*4882a593Smuzhiyun #define CONFIG_SYS_NOR0_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) | \ 163*4882a593Smuzhiyun CSPR_PORT_SIZE_16 | \ 164*4882a593Smuzhiyun CSPR_MSEL_NOR | \ 165*4882a593Smuzhiyun CSPR_V) 166*4882a593Smuzhiyun #define CONFIG_SYS_NOR_AMASK IFC_AMASK(128 * 1024 * 1024) 167*4882a593Smuzhiyun 168*4882a593Smuzhiyun /* NOR Flash Timing Params */ 169*4882a593Smuzhiyun #define CONFIG_SYS_NOR_CSOR (CSOR_NOR_ADM_SHIFT(4) | \ 170*4882a593Smuzhiyun CSOR_NOR_TRHZ_80) 171*4882a593Smuzhiyun #define CONFIG_SYS_NOR_FTIM0 (FTIM0_NOR_TACSE(0x4) | \ 172*4882a593Smuzhiyun FTIM0_NOR_TEADC(0x5) | \ 173*4882a593Smuzhiyun FTIM0_NOR_TAVDS(0x0) | \ 174*4882a593Smuzhiyun FTIM0_NOR_TEAHC(0x5)) 175*4882a593Smuzhiyun #define CONFIG_SYS_NOR_FTIM1 (FTIM1_NOR_TACO(0x35) | \ 176*4882a593Smuzhiyun FTIM1_NOR_TRAD_NOR(0x1A) | \ 177*4882a593Smuzhiyun FTIM1_NOR_TSEQRAD_NOR(0x13)) 178*4882a593Smuzhiyun #define CONFIG_SYS_NOR_FTIM2 (FTIM2_NOR_TCS(0x4) | \ 179*4882a593Smuzhiyun FTIM2_NOR_TCH(0x4) | \ 180*4882a593Smuzhiyun FTIM2_NOR_TWP(0x1c) | \ 181*4882a593Smuzhiyun FTIM2_NOR_TWPH(0x0e)) 182*4882a593Smuzhiyun #define CONFIG_SYS_NOR_FTIM3 0 183*4882a593Smuzhiyun 184*4882a593Smuzhiyun #define CONFIG_FLASH_CFI_DRIVER 185*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_CFI 186*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 187*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_QUIET_TEST 188*4882a593Smuzhiyun #define CONFIG_FLASH_SHOW_PROGRESS 45 /* count down from 45/5: 9..1 */ 189*4882a593Smuzhiyun 190*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_BANKS 1 /* number of banks */ 191*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_SECT 1024 /* sectors per device */ 192*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */ 193*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */ 194*4882a593Smuzhiyun 195*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_EMPTY_INFO 196*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_BANKS_LIST { CONFIG_SYS_FLASH_BASE_PHYS } 197*4882a593Smuzhiyun 198*4882a593Smuzhiyun #define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS 199*4882a593Smuzhiyun #define CONFIG_SYS_WRITE_SWAPPED_DATA 200*4882a593Smuzhiyun #endif 201*4882a593Smuzhiyun 202*4882a593Smuzhiyun /* CPLD */ 203*4882a593Smuzhiyun 204*4882a593Smuzhiyun #define CONFIG_SYS_CPLD_BASE 0x7fb00000 205*4882a593Smuzhiyun #define CPLD_BASE_PHYS CONFIG_SYS_CPLD_BASE 206*4882a593Smuzhiyun 207*4882a593Smuzhiyun #define CONFIG_SYS_FPGA_CSPR_EXT (0x0) 208*4882a593Smuzhiyun #define CONFIG_SYS_FPGA_CSPR (CSPR_PHYS_ADDR(CPLD_BASE_PHYS) | \ 209*4882a593Smuzhiyun CSPR_PORT_SIZE_8 | \ 210*4882a593Smuzhiyun CSPR_MSEL_GPCM | \ 211*4882a593Smuzhiyun CSPR_V) 212*4882a593Smuzhiyun #define CONFIG_SYS_FPGA_AMASK IFC_AMASK(64 * 1024) 213*4882a593Smuzhiyun #define CONFIG_SYS_FPGA_CSOR (CSOR_NOR_ADM_SHIFT(4) | \ 214*4882a593Smuzhiyun CSOR_NOR_NOR_MODE_AVD_NOR | \ 215*4882a593Smuzhiyun CSOR_NOR_TRHZ_80) 216*4882a593Smuzhiyun 217*4882a593Smuzhiyun /* CPLD Timing parameters for IFC GPCM */ 218*4882a593Smuzhiyun #define CONFIG_SYS_FPGA_FTIM0 (FTIM0_GPCM_TACSE(0xf) | \ 219*4882a593Smuzhiyun FTIM0_GPCM_TEADC(0xf) | \ 220*4882a593Smuzhiyun FTIM0_GPCM_TEAHC(0xf)) 221*4882a593Smuzhiyun #define CONFIG_SYS_FPGA_FTIM1 (FTIM1_GPCM_TACO(0xff) | \ 222*4882a593Smuzhiyun FTIM1_GPCM_TRAD(0x3f)) 223*4882a593Smuzhiyun #define CONFIG_SYS_FPGA_FTIM2 (FTIM2_GPCM_TCS(0xf) | \ 224*4882a593Smuzhiyun FTIM2_GPCM_TCH(0xf) | \ 225*4882a593Smuzhiyun FTIM2_GPCM_TWP(0xff)) 226*4882a593Smuzhiyun #define CONFIG_SYS_FPGA_FTIM3 0x0 227*4882a593Smuzhiyun #define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NOR0_CSPR_EXT 228*4882a593Smuzhiyun #define CONFIG_SYS_CSPR0 CONFIG_SYS_NOR0_CSPR 229*4882a593Smuzhiyun #define CONFIG_SYS_AMASK0 CONFIG_SYS_NOR_AMASK 230*4882a593Smuzhiyun #define CONFIG_SYS_CSOR0 CONFIG_SYS_NOR_CSOR 231*4882a593Smuzhiyun #define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NOR_FTIM0 232*4882a593Smuzhiyun #define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NOR_FTIM1 233*4882a593Smuzhiyun #define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NOR_FTIM2 234*4882a593Smuzhiyun #define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NOR_FTIM3 235*4882a593Smuzhiyun #define CONFIG_SYS_CSPR1_EXT CONFIG_SYS_FPGA_CSPR_EXT 236*4882a593Smuzhiyun #define CONFIG_SYS_CSPR1 CONFIG_SYS_FPGA_CSPR 237*4882a593Smuzhiyun #define CONFIG_SYS_AMASK1 CONFIG_SYS_FPGA_AMASK 238*4882a593Smuzhiyun #define CONFIG_SYS_CSOR1 CONFIG_SYS_FPGA_CSOR 239*4882a593Smuzhiyun #define CONFIG_SYS_CS1_FTIM0 CONFIG_SYS_FPGA_FTIM0 240*4882a593Smuzhiyun #define CONFIG_SYS_CS1_FTIM1 CONFIG_SYS_FPGA_FTIM1 241*4882a593Smuzhiyun #define CONFIG_SYS_CS1_FTIM2 CONFIG_SYS_FPGA_FTIM2 242*4882a593Smuzhiyun #define CONFIG_SYS_CS1_FTIM3 CONFIG_SYS_FPGA_FTIM3 243*4882a593Smuzhiyun 244*4882a593Smuzhiyun /* 245*4882a593Smuzhiyun * Serial Port 246*4882a593Smuzhiyun */ 247*4882a593Smuzhiyun #ifdef CONFIG_LPUART 248*4882a593Smuzhiyun #define CONFIG_LPUART_32B_REG 249*4882a593Smuzhiyun #else 250*4882a593Smuzhiyun #define CONFIG_CONS_INDEX 1 251*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_SERIAL 252*4882a593Smuzhiyun #ifndef CONFIG_DM_SERIAL 253*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_REG_SIZE 1 254*4882a593Smuzhiyun #endif 255*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_CLK get_serial_clock() 256*4882a593Smuzhiyun #endif 257*4882a593Smuzhiyun 258*4882a593Smuzhiyun /* 259*4882a593Smuzhiyun * I2C 260*4882a593Smuzhiyun */ 261*4882a593Smuzhiyun #define CONFIG_SYS_I2C 262*4882a593Smuzhiyun #define CONFIG_SYS_I2C_MXC 263*4882a593Smuzhiyun #define CONFIG_SYS_I2C_MXC_I2C1 /* enable I2C bus 1 */ 264*4882a593Smuzhiyun #define CONFIG_SYS_I2C_MXC_I2C2 /* enable I2C bus 2 */ 265*4882a593Smuzhiyun #define CONFIG_SYS_I2C_MXC_I2C3 /* enable I2C bus 3 */ 266*4882a593Smuzhiyun 267*4882a593Smuzhiyun /* EEPROM */ 268*4882a593Smuzhiyun #define CONFIG_ID_EEPROM 269*4882a593Smuzhiyun #define CONFIG_SYS_I2C_EEPROM_NXID 270*4882a593Smuzhiyun #define CONFIG_SYS_EEPROM_BUS_NUM 1 271*4882a593Smuzhiyun #define CONFIG_SYS_I2C_EEPROM_ADDR 0x53 272*4882a593Smuzhiyun #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 273*4882a593Smuzhiyun #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3 274*4882a593Smuzhiyun #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 5 275*4882a593Smuzhiyun 276*4882a593Smuzhiyun /* 277*4882a593Smuzhiyun * MMC 278*4882a593Smuzhiyun */ 279*4882a593Smuzhiyun #define CONFIG_FSL_ESDHC 280*4882a593Smuzhiyun 281*4882a593Smuzhiyun /* SPI */ 282*4882a593Smuzhiyun #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) 283*4882a593Smuzhiyun /* QSPI */ 284*4882a593Smuzhiyun #define QSPI0_AMBA_BASE 0x40000000 285*4882a593Smuzhiyun #define FSL_QSPI_FLASH_SIZE (1 << 24) 286*4882a593Smuzhiyun #define FSL_QSPI_FLASH_NUM 2 287*4882a593Smuzhiyun 288*4882a593Smuzhiyun /* DSPI */ 289*4882a593Smuzhiyun #endif 290*4882a593Smuzhiyun 291*4882a593Smuzhiyun /* DM SPI */ 292*4882a593Smuzhiyun #if defined(CONFIG_FSL_DSPI) || defined(CONFIG_FSL_QSPI) 293*4882a593Smuzhiyun #define CONFIG_DM_SPI_FLASH 294*4882a593Smuzhiyun #endif 295*4882a593Smuzhiyun 296*4882a593Smuzhiyun /* 297*4882a593Smuzhiyun * Video 298*4882a593Smuzhiyun */ 299*4882a593Smuzhiyun #ifdef CONFIG_VIDEO_FSL_DCU_FB 300*4882a593Smuzhiyun #define CONFIG_VIDEO_LOGO 301*4882a593Smuzhiyun #define CONFIG_VIDEO_BMP_LOGO 302*4882a593Smuzhiyun 303*4882a593Smuzhiyun #define CONFIG_FSL_DCU_SII9022A 304*4882a593Smuzhiyun #define CONFIG_SYS_I2C_DVI_BUS_NUM 1 305*4882a593Smuzhiyun #define CONFIG_SYS_I2C_DVI_ADDR 0x39 306*4882a593Smuzhiyun #endif 307*4882a593Smuzhiyun 308*4882a593Smuzhiyun /* 309*4882a593Smuzhiyun * eTSEC 310*4882a593Smuzhiyun */ 311*4882a593Smuzhiyun #define CONFIG_TSEC_ENET 312*4882a593Smuzhiyun 313*4882a593Smuzhiyun #ifdef CONFIG_TSEC_ENET 314*4882a593Smuzhiyun #define CONFIG_MII 315*4882a593Smuzhiyun #define CONFIG_MII_DEFAULT_TSEC 1 316*4882a593Smuzhiyun #define CONFIG_TSEC1 1 317*4882a593Smuzhiyun #define CONFIG_TSEC1_NAME "eTSEC1" 318*4882a593Smuzhiyun #define CONFIG_TSEC2 1 319*4882a593Smuzhiyun #define CONFIG_TSEC2_NAME "eTSEC2" 320*4882a593Smuzhiyun #define CONFIG_TSEC3 1 321*4882a593Smuzhiyun #define CONFIG_TSEC3_NAME "eTSEC3" 322*4882a593Smuzhiyun 323*4882a593Smuzhiyun #define TSEC1_PHY_ADDR 2 324*4882a593Smuzhiyun #define TSEC2_PHY_ADDR 0 325*4882a593Smuzhiyun #define TSEC3_PHY_ADDR 1 326*4882a593Smuzhiyun 327*4882a593Smuzhiyun #define TSEC1_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) 328*4882a593Smuzhiyun #define TSEC2_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) 329*4882a593Smuzhiyun #define TSEC3_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) 330*4882a593Smuzhiyun 331*4882a593Smuzhiyun #define TSEC1_PHYIDX 0 332*4882a593Smuzhiyun #define TSEC2_PHYIDX 0 333*4882a593Smuzhiyun #define TSEC3_PHYIDX 0 334*4882a593Smuzhiyun 335*4882a593Smuzhiyun #define CONFIG_ETHPRIME "eTSEC1" 336*4882a593Smuzhiyun 337*4882a593Smuzhiyun #define CONFIG_PHY_ATHEROS 338*4882a593Smuzhiyun 339*4882a593Smuzhiyun #define CONFIG_HAS_ETH0 340*4882a593Smuzhiyun #define CONFIG_HAS_ETH1 341*4882a593Smuzhiyun #define CONFIG_HAS_ETH2 342*4882a593Smuzhiyun #endif 343*4882a593Smuzhiyun 344*4882a593Smuzhiyun /* PCIe */ 345*4882a593Smuzhiyun #define CONFIG_PCIE1 /* PCIE controller 1 */ 346*4882a593Smuzhiyun #define CONFIG_PCIE2 /* PCIE controller 2 */ 347*4882a593Smuzhiyun 348*4882a593Smuzhiyun #ifdef CONFIG_PCI 349*4882a593Smuzhiyun #define CONFIG_PCI_SCAN_SHOW 350*4882a593Smuzhiyun #endif 351*4882a593Smuzhiyun 352*4882a593Smuzhiyun #define CONFIG_CMDLINE_TAG 353*4882a593Smuzhiyun 354*4882a593Smuzhiyun #define CONFIG_PEN_ADDR_BIG_ENDIAN 355*4882a593Smuzhiyun #define CONFIG_LAYERSCAPE_NS_ACCESS 356*4882a593Smuzhiyun #define CONFIG_SMP_PEN_ADDR 0x01ee0200 357*4882a593Smuzhiyun #define COUNTER_FREQUENCY 12500000 358*4882a593Smuzhiyun 359*4882a593Smuzhiyun #define CONFIG_HWCONFIG 360*4882a593Smuzhiyun #define HWCONFIG_BUFFER_SIZE 256 361*4882a593Smuzhiyun 362*4882a593Smuzhiyun #define CONFIG_FSL_DEVICE_DISABLE 363*4882a593Smuzhiyun 364*4882a593Smuzhiyun #include <config_distro_defaults.h> 365*4882a593Smuzhiyun #define BOOT_TARGET_DEVICES(func) \ 366*4882a593Smuzhiyun func(MMC, mmc, 0) \ 367*4882a593Smuzhiyun func(USB, usb, 0) 368*4882a593Smuzhiyun #include <config_distro_bootcmd.h> 369*4882a593Smuzhiyun 370*4882a593Smuzhiyun #ifdef CONFIG_LPUART 371*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS \ 372*4882a593Smuzhiyun "bootargs=root=/dev/ram0 rw console=ttyLP0,115200\0" \ 373*4882a593Smuzhiyun "initrd_high=0xffffffff\0" \ 374*4882a593Smuzhiyun "fdt_high=0xffffffff\0" \ 375*4882a593Smuzhiyun "fdt_addr=0x64f00000\0" \ 376*4882a593Smuzhiyun "kernel_addr=0x65000000\0" \ 377*4882a593Smuzhiyun "scriptaddr=0x80000000\0" \ 378*4882a593Smuzhiyun "scripthdraddr=0x80080000\0" \ 379*4882a593Smuzhiyun "fdtheader_addr_r=0x80100000\0" \ 380*4882a593Smuzhiyun "kernelheader_addr_r=0x80200000\0" \ 381*4882a593Smuzhiyun "kernel_addr_r=0x81000000\0" \ 382*4882a593Smuzhiyun "fdt_addr_r=0x90000000\0" \ 383*4882a593Smuzhiyun "ramdisk_addr_r=0xa0000000\0" \ 384*4882a593Smuzhiyun "load_addr=0xa0000000\0" \ 385*4882a593Smuzhiyun "kernel_size=0x2800000\0" \ 386*4882a593Smuzhiyun BOOTENV \ 387*4882a593Smuzhiyun "boot_scripts=ls1021atwr_boot.scr\0" \ 388*4882a593Smuzhiyun "boot_script_hdr=hdr_ls1021atwr_bs.out\0" \ 389*4882a593Smuzhiyun "scan_dev_for_boot_part=" \ 390*4882a593Smuzhiyun "part list ${devtype} ${devnum} devplist; " \ 391*4882a593Smuzhiyun "env exists devplist || setenv devplist 1; " \ 392*4882a593Smuzhiyun "for distro_bootpart in ${devplist}; do " \ 393*4882a593Smuzhiyun "if fstype ${devtype} " \ 394*4882a593Smuzhiyun "${devnum}:${distro_bootpart} " \ 395*4882a593Smuzhiyun "bootfstype; then " \ 396*4882a593Smuzhiyun "run scan_dev_for_boot; " \ 397*4882a593Smuzhiyun "fi; " \ 398*4882a593Smuzhiyun "done\0" \ 399*4882a593Smuzhiyun "scan_dev_for_boot=" \ 400*4882a593Smuzhiyun "echo Scanning ${devtype} " \ 401*4882a593Smuzhiyun "${devnum}:${distro_bootpart}...; " \ 402*4882a593Smuzhiyun "for prefix in ${boot_prefixes}; do " \ 403*4882a593Smuzhiyun "run scan_dev_for_scripts; " \ 404*4882a593Smuzhiyun "done;" \ 405*4882a593Smuzhiyun "\0" \ 406*4882a593Smuzhiyun "boot_a_script=" \ 407*4882a593Smuzhiyun "load ${devtype} ${devnum}:${distro_bootpart} " \ 408*4882a593Smuzhiyun "${scriptaddr} ${prefix}${script}; " \ 409*4882a593Smuzhiyun "env exists secureboot && load ${devtype} " \ 410*4882a593Smuzhiyun "${devnum}:${distro_bootpart} " \ 411*4882a593Smuzhiyun "${scripthdraddr} ${prefix}${boot_script_hdr} " \ 412*4882a593Smuzhiyun "&& esbc_validate ${scripthdraddr};" \ 413*4882a593Smuzhiyun "source ${scriptaddr}\0" \ 414*4882a593Smuzhiyun "installer=load mmc 0:2 $load_addr " \ 415*4882a593Smuzhiyun "/flex_installer_arm32.itb; " \ 416*4882a593Smuzhiyun "bootm $load_addr#ls1021atwr\0" \ 417*4882a593Smuzhiyun "qspi_bootcmd=echo Trying load from qspi..;" \ 418*4882a593Smuzhiyun "sf probe && sf read $load_addr " \ 419*4882a593Smuzhiyun "$kernel_addr $kernel_size && bootm $load_addr#$board\0" \ 420*4882a593Smuzhiyun "nor_bootcmd=echo Trying load from nor..;" \ 421*4882a593Smuzhiyun "cp.b $kernel_addr $load_addr " \ 422*4882a593Smuzhiyun "$kernel_size && bootm $load_addr#$board\0" 423*4882a593Smuzhiyun #else 424*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS \ 425*4882a593Smuzhiyun "bootargs=root=/dev/ram0 rw console=ttyS0,115200\0" \ 426*4882a593Smuzhiyun "initrd_high=0xffffffff\0" \ 427*4882a593Smuzhiyun "fdt_high=0xffffffff\0" \ 428*4882a593Smuzhiyun "fdt_addr=0x64f00000\0" \ 429*4882a593Smuzhiyun "kernel_addr=0x65000000\0" \ 430*4882a593Smuzhiyun "scriptaddr=0x80000000\0" \ 431*4882a593Smuzhiyun "scripthdraddr=0x80080000\0" \ 432*4882a593Smuzhiyun "fdtheader_addr_r=0x80100000\0" \ 433*4882a593Smuzhiyun "kernelheader_addr_r=0x80200000\0" \ 434*4882a593Smuzhiyun "kernel_addr_r=0x81000000\0" \ 435*4882a593Smuzhiyun "fdt_addr_r=0x90000000\0" \ 436*4882a593Smuzhiyun "ramdisk_addr_r=0xa0000000\0" \ 437*4882a593Smuzhiyun "load_addr=0xa0000000\0" \ 438*4882a593Smuzhiyun "kernel_size=0x2800000\0" \ 439*4882a593Smuzhiyun BOOTENV \ 440*4882a593Smuzhiyun "boot_scripts=ls1021atwr_boot.scr\0" \ 441*4882a593Smuzhiyun "boot_script_hdr=hdr_ls1021atwr_bs.out\0" \ 442*4882a593Smuzhiyun "scan_dev_for_boot_part=" \ 443*4882a593Smuzhiyun "part list ${devtype} ${devnum} devplist; " \ 444*4882a593Smuzhiyun "env exists devplist || setenv devplist 1; " \ 445*4882a593Smuzhiyun "for distro_bootpart in ${devplist}; do " \ 446*4882a593Smuzhiyun "if fstype ${devtype} " \ 447*4882a593Smuzhiyun "${devnum}:${distro_bootpart} " \ 448*4882a593Smuzhiyun "bootfstype; then " \ 449*4882a593Smuzhiyun "run scan_dev_for_boot; " \ 450*4882a593Smuzhiyun "fi; " \ 451*4882a593Smuzhiyun "done\0" \ 452*4882a593Smuzhiyun "scan_dev_for_boot=" \ 453*4882a593Smuzhiyun "echo Scanning ${devtype} " \ 454*4882a593Smuzhiyun "${devnum}:${distro_bootpart}...; " \ 455*4882a593Smuzhiyun "for prefix in ${boot_prefixes}; do " \ 456*4882a593Smuzhiyun "run scan_dev_for_scripts; " \ 457*4882a593Smuzhiyun "done;" \ 458*4882a593Smuzhiyun "\0" \ 459*4882a593Smuzhiyun "boot_a_script=" \ 460*4882a593Smuzhiyun "load ${devtype} ${devnum}:${distro_bootpart} " \ 461*4882a593Smuzhiyun "${scriptaddr} ${prefix}${script}; " \ 462*4882a593Smuzhiyun "env exists secureboot && load ${devtype} " \ 463*4882a593Smuzhiyun "${devnum}:${distro_bootpart} " \ 464*4882a593Smuzhiyun "${scripthdraddr} ${prefix}${boot_script_hdr} " \ 465*4882a593Smuzhiyun "&& esbc_validate ${scripthdraddr};" \ 466*4882a593Smuzhiyun "source ${scriptaddr}\0" \ 467*4882a593Smuzhiyun "installer=load mmc 0:2 $load_addr " \ 468*4882a593Smuzhiyun "/flex_installer_arm32.itb; " \ 469*4882a593Smuzhiyun "bootm $load_addr#ls1021atwr\0" \ 470*4882a593Smuzhiyun "qspi_bootcmd=echo Trying load from qspi..;" \ 471*4882a593Smuzhiyun "sf probe && sf read $load_addr " \ 472*4882a593Smuzhiyun "$kernel_addr $kernel_size && bootm $load_addr#$board\0" \ 473*4882a593Smuzhiyun "nor_bootcmd=echo Trying load from nor..;" \ 474*4882a593Smuzhiyun "cp.b $kernel_addr $load_addr " \ 475*4882a593Smuzhiyun "$kernel_size && bootm $load_addr#$board\0" 476*4882a593Smuzhiyun #endif 477*4882a593Smuzhiyun 478*4882a593Smuzhiyun #undef CONFIG_BOOTCOMMAND 479*4882a593Smuzhiyun #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) 480*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND "run distro_bootcmd; env exists secureboot" \ 481*4882a593Smuzhiyun "&& esbc_halt; run qspi_bootcmd;" 482*4882a593Smuzhiyun #else 483*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND "run distro_bootcmd; env exists secureboot" \ 484*4882a593Smuzhiyun "&& esbc_halt; run nor_bootcmd;" 485*4882a593Smuzhiyun #endif 486*4882a593Smuzhiyun 487*4882a593Smuzhiyun /* 488*4882a593Smuzhiyun * Miscellaneous configurable options 489*4882a593Smuzhiyun */ 490*4882a593Smuzhiyun #define CONFIG_SYS_LONGHELP /* undef to save memory */ 491*4882a593Smuzhiyun #define CONFIG_AUTO_COMPLETE 492*4882a593Smuzhiyun 493*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_START 0x80000000 494*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_END 0x9fffffff 495*4882a593Smuzhiyun 496*4882a593Smuzhiyun #define CONFIG_SYS_LOAD_ADDR 0x82000000 497*4882a593Smuzhiyun 498*4882a593Smuzhiyun #define CONFIG_LS102XA_STREAM_ID 499*4882a593Smuzhiyun 500*4882a593Smuzhiyun #define CONFIG_SYS_INIT_SP_OFFSET \ 501*4882a593Smuzhiyun (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 502*4882a593Smuzhiyun #define CONFIG_SYS_INIT_SP_ADDR \ 503*4882a593Smuzhiyun (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) 504*4882a593Smuzhiyun 505*4882a593Smuzhiyun #ifdef CONFIG_SPL_BUILD 506*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_BASE CONFIG_SPL_TEXT_BASE 507*4882a593Smuzhiyun #else 508*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */ 509*4882a593Smuzhiyun #endif 510*4882a593Smuzhiyun 511*4882a593Smuzhiyun #define CONFIG_SYS_QE_FW_ADDR 0x60940000 512*4882a593Smuzhiyun 513*4882a593Smuzhiyun /* 514*4882a593Smuzhiyun * Environment 515*4882a593Smuzhiyun */ 516*4882a593Smuzhiyun #define CONFIG_ENV_OVERWRITE 517*4882a593Smuzhiyun 518*4882a593Smuzhiyun #if defined(CONFIG_SD_BOOT) 519*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET 0x300000 520*4882a593Smuzhiyun #define CONFIG_SYS_MMC_ENV_DEV 0 521*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x20000 522*4882a593Smuzhiyun #elif defined(CONFIG_QSPI_BOOT) 523*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x2000 524*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET 0x300000 525*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE 0x10000 526*4882a593Smuzhiyun #else 527*4882a593Smuzhiyun #define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x300000) 528*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x20000 529*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE 0x20000 /* 128K (one sector) */ 530*4882a593Smuzhiyun #endif 531*4882a593Smuzhiyun 532*4882a593Smuzhiyun #define CONFIG_MISC_INIT_R 533*4882a593Smuzhiyun 534*4882a593Smuzhiyun #include <asm/fsl_secure_boot.h> 535*4882a593Smuzhiyun #define CONFIG_SYS_BOOTM_LEN (64 << 20) /* Increase max gunzip size */ 536*4882a593Smuzhiyun 537*4882a593Smuzhiyun #endif 538