1c8a7d9daSWang Huan /* 2c8a7d9daSWang Huan * Copyright 2014 Freescale Semiconductor, Inc. 3c8a7d9daSWang Huan * 4c8a7d9daSWang Huan * SPDX-License-Identifier: GPL-2.0+ 5c8a7d9daSWang Huan */ 6c8a7d9daSWang Huan 7c8a7d9daSWang Huan #ifndef __CONFIG_H 8c8a7d9daSWang Huan #define __CONFIG_H 9c8a7d9daSWang Huan 10aeb901f2SHongbo Zhang #define CONFIG_ARMV7_PSCI_1_0 11340848b1SWang Dongsheng 123288628aSHongbo Zhang #define CONFIG_ARMV7_SECURE_BASE OCRAM_BASE_S_ADDR 133288628aSHongbo Zhang 1418fb0e3cSGong Qianyu #define CONFIG_SYS_FSL_CLK 15c8a7d9daSWang Huan 16c8a7d9daSWang Huan #define CONFIG_SKIP_LOWLEVEL_INIT 1799e1bd42STang Yuantian #define CONFIG_DEEP_SLEEP 18c8a7d9daSWang Huan 19c8a7d9daSWang Huan /* 20c8a7d9daSWang Huan * Size of malloc() pool 21c8a7d9daSWang Huan */ 22c8a7d9daSWang Huan #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 16 * 1024 * 1024) 23c8a7d9daSWang Huan 24c8a7d9daSWang Huan #define CONFIG_SYS_INIT_RAM_ADDR OCRAM_BASE_ADDR 25c8a7d9daSWang Huan #define CONFIG_SYS_INIT_RAM_SIZE OCRAM_SIZE 26c8a7d9daSWang Huan 27c8a7d9daSWang Huan /* 2810a28644SRamneek Mehresh * USB 2910a28644SRamneek Mehresh */ 3010a28644SRamneek Mehresh 3110a28644SRamneek Mehresh /* 3210a28644SRamneek Mehresh * EHCI Support - disbaled by default as 3310a28644SRamneek Mehresh * there is no signal coming out of soc on 3410a28644SRamneek Mehresh * this board for this controller. However, 3510a28644SRamneek Mehresh * the silicon still has this controller, 3610a28644SRamneek Mehresh * and anyone can use this controller by 3710a28644SRamneek Mehresh * taking signals out on their board. 3810a28644SRamneek Mehresh */ 3910a28644SRamneek Mehresh 4010a28644SRamneek Mehresh /*#define CONFIG_HAS_FSL_DR_USB*/ 4110a28644SRamneek Mehresh 4210a28644SRamneek Mehresh #ifdef CONFIG_HAS_FSL_DR_USB 4310a28644SRamneek Mehresh #define CONFIG_USB_EHCI_FSL 4410a28644SRamneek Mehresh #define CONFIG_EHCI_HCD_INIT_AFTER_RESET 4510a28644SRamneek Mehresh #endif 4610a28644SRamneek Mehresh 4710a28644SRamneek Mehresh /* XHCI Support - enabled by default */ 4810a28644SRamneek Mehresh #define CONFIG_HAS_FSL_XHCI_USB 4910a28644SRamneek Mehresh 5010a28644SRamneek Mehresh #ifdef CONFIG_HAS_FSL_XHCI_USB 5110a28644SRamneek Mehresh #define CONFIG_USB_XHCI_FSL 5210a28644SRamneek Mehresh #define CONFIG_USB_MAX_CONTROLLER_COUNT 1 5310a28644SRamneek Mehresh #endif 5410a28644SRamneek Mehresh 55c8a7d9daSWang Huan #define CONFIG_SYS_CLK_FREQ 100000000 56c8a7d9daSWang Huan #define CONFIG_DDR_CLK_FREQ 100000000 57c8a7d9daSWang Huan 58a88cc3bdSYork Sun #define DDR_SDRAM_CFG 0x470c0008 59a88cc3bdSYork Sun #define DDR_CS0_BNDS 0x008000bf 60a88cc3bdSYork Sun #define DDR_CS0_CONFIG 0x80014302 61a88cc3bdSYork Sun #define DDR_TIMING_CFG_0 0x50550004 62a88cc3bdSYork Sun #define DDR_TIMING_CFG_1 0xbcb38c56 63a88cc3bdSYork Sun #define DDR_TIMING_CFG_2 0x0040d120 64a88cc3bdSYork Sun #define DDR_TIMING_CFG_3 0x010e1000 65a88cc3bdSYork Sun #define DDR_TIMING_CFG_4 0x00000001 66a88cc3bdSYork Sun #define DDR_TIMING_CFG_5 0x03401400 67a88cc3bdSYork Sun #define DDR_SDRAM_CFG_2 0x00401010 68a88cc3bdSYork Sun #define DDR_SDRAM_MODE 0x00061c60 69a88cc3bdSYork Sun #define DDR_SDRAM_MODE_2 0x00180000 70a88cc3bdSYork Sun #define DDR_SDRAM_INTERVAL 0x18600618 71a88cc3bdSYork Sun #define DDR_DDR_WRLVL_CNTL 0x8655f605 72a88cc3bdSYork Sun #define DDR_DDR_WRLVL_CNTL_2 0x05060607 73a88cc3bdSYork Sun #define DDR_DDR_WRLVL_CNTL_3 0x05050505 74a88cc3bdSYork Sun #define DDR_DDR_CDR1 0x80040000 75a88cc3bdSYork Sun #define DDR_DDR_CDR2 0x00000001 76a88cc3bdSYork Sun #define DDR_SDRAM_CLK_CNTL 0x02000000 77a88cc3bdSYork Sun #define DDR_DDR_ZQ_CNTL 0x89080600 78a88cc3bdSYork Sun #define DDR_CS0_CONFIG_2 0 79a88cc3bdSYork Sun #define DDR_SDRAM_CFG_MEM_EN 0x80000000 8099e1bd42STang Yuantian #define SDRAM_CFG2_D_INIT 0x00000010 8199e1bd42STang Yuantian #define DDR_CDR2_VREF_TRAIN_EN 0x00000080 8299e1bd42STang Yuantian #define SDRAM_CFG2_FRC_SR 0x80000000 8399e1bd42STang Yuantian #define SDRAM_CFG_BI 0x00000001 84a88cc3bdSYork Sun 858415bb68SAlison Wang #ifdef CONFIG_RAMBOOT_PBL 868415bb68SAlison Wang #define CONFIG_SYS_FSL_PBL_PBI board/freescale/ls1021atwr/ls102xa_pbi.cfg 878415bb68SAlison Wang #endif 888415bb68SAlison Wang 898415bb68SAlison Wang #ifdef CONFIG_SD_BOOT 90947cee11SAlison Wang #ifdef CONFIG_SD_BOOT_QSPI 91947cee11SAlison Wang #define CONFIG_SYS_FSL_PBL_RCW \ 92947cee11SAlison Wang board/freescale/ls1021atwr/ls102xa_rcw_sd_qspi.cfg 93947cee11SAlison Wang #else 94947cee11SAlison Wang #define CONFIG_SYS_FSL_PBL_RCW \ 95947cee11SAlison Wang board/freescale/ls1021atwr/ls102xa_rcw_sd_ifc.cfg 96947cee11SAlison Wang #endif 978415bb68SAlison Wang #define CONFIG_SPL_FRAMEWORK 98e7e720c2SSumit Garg 99e7e720c2SSumit Garg #ifdef CONFIG_SECURE_BOOT 100e7e720c2SSumit Garg /* 101e7e720c2SSumit Garg * HDR would be appended at end of image and copied to DDR along 102e7e720c2SSumit Garg * with U-Boot image. 103e7e720c2SSumit Garg */ 104693d4c9fSSemen Protsenko #define CONFIG_U_BOOT_HDR_SIZE (16 << 10) 105e7e720c2SSumit Garg #endif /* ifdef CONFIG_SECURE_BOOT */ 1068415bb68SAlison Wang 1078415bb68SAlison Wang #define CONFIG_SPL_TEXT_BASE 0x10000000 1088415bb68SAlison Wang #define CONFIG_SPL_MAX_SIZE 0x1a000 1098415bb68SAlison Wang #define CONFIG_SPL_STACK 0x1001d000 1108415bb68SAlison Wang #define CONFIG_SPL_PAD_TO 0x1c000 1118415bb68SAlison Wang #define CONFIG_SYS_TEXT_BASE 0x82000000 1128415bb68SAlison Wang 11399e1bd42STang Yuantian #define CONFIG_SYS_SPL_MALLOC_START (CONFIG_SYS_TEXT_BASE + \ 11499e1bd42STang Yuantian CONFIG_SYS_MONITOR_LEN) 1158415bb68SAlison Wang #define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000 1168415bb68SAlison Wang #define CONFIG_SPL_BSS_START_ADDR 0x80100000 1178415bb68SAlison Wang #define CONFIG_SPL_BSS_MAX_SIZE 0x80000 118e7e720c2SSumit Garg 119e7e720c2SSumit Garg #ifdef CONFIG_U_BOOT_HDR_SIZE 120e7e720c2SSumit Garg /* 121e7e720c2SSumit Garg * HDR would be appended at end of image and copied to DDR along 122e7e720c2SSumit Garg * with U-Boot image. Here u-boot max. size is 512K. So if binary 123e7e720c2SSumit Garg * size increases then increase this size in case of secure boot as 124e7e720c2SSumit Garg * it uses raw u-boot image instead of fit image. 125e7e720c2SSumit Garg */ 1269b6639faSVinitha Pillai #define CONFIG_SYS_MONITOR_LEN (0x100000 + CONFIG_U_BOOT_HDR_SIZE) 127e7e720c2SSumit Garg #else 1289b6639faSVinitha Pillai #define CONFIG_SYS_MONITOR_LEN 0x100000 129e7e720c2SSumit Garg #endif /* ifdef CONFIG_U_BOOT_HDR_SIZE */ 1308415bb68SAlison Wang #endif 1318415bb68SAlison Wang 132d612f0abSAlison Wang #ifdef CONFIG_QSPI_BOOT 133615bfce5SAlison Wang #define CONFIG_SYS_TEXT_BASE 0x40100000 134947cee11SAlison Wang #endif 135947cee11SAlison Wang 136c8a7d9daSWang Huan #ifndef CONFIG_SYS_TEXT_BASE 1371c69a51cSAlison Wang #define CONFIG_SYS_TEXT_BASE 0x60100000 138c8a7d9daSWang Huan #endif 139c8a7d9daSWang Huan 140c8a7d9daSWang Huan #define CONFIG_NR_DRAM_BANKS 1 141c8a7d9daSWang Huan #define PHYS_SDRAM 0x80000000 142c8a7d9daSWang Huan #define PHYS_SDRAM_SIZE (1u * 1024 * 1024 * 1024) 143c8a7d9daSWang Huan 144c8a7d9daSWang Huan #define CONFIG_SYS_DDR_SDRAM_BASE 0x80000000UL 145c8a7d9daSWang Huan #define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_SDRAM_BASE 146c8a7d9daSWang Huan 1474c59ab9cSAlison Wang #if !defined(CONFIG_SD_BOOT) && !defined(CONFIG_NAND_BOOT) && \ 1484c59ab9cSAlison Wang !defined(CONFIG_QSPI_BOOT) 149eaa859e7SZhao Qiang #define CONFIG_U_QE 1505aa03dddSZhao Qiang #define CONFIG_SYS_QE_FMAN_FW_IN_NOR 151eaa859e7SZhao Qiang #endif 152eaa859e7SZhao Qiang 153c8a7d9daSWang Huan /* 154c8a7d9daSWang Huan * IFC Definitions 155c8a7d9daSWang Huan */ 156947cee11SAlison Wang #if !defined(CONFIG_QSPI_BOOT) && !defined(CONFIG_SD_BOOT_QSPI) 157c8a7d9daSWang Huan #define CONFIG_FSL_IFC 158c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_BASE 0x60000000 159c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_BASE_PHYS CONFIG_SYS_FLASH_BASE 160c8a7d9daSWang Huan 161c8a7d9daSWang Huan #define CONFIG_SYS_NOR0_CSPR_EXT (0x0) 162c8a7d9daSWang Huan #define CONFIG_SYS_NOR0_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) | \ 163c8a7d9daSWang Huan CSPR_PORT_SIZE_16 | \ 164c8a7d9daSWang Huan CSPR_MSEL_NOR | \ 165c8a7d9daSWang Huan CSPR_V) 166c8a7d9daSWang Huan #define CONFIG_SYS_NOR_AMASK IFC_AMASK(128 * 1024 * 1024) 167c8a7d9daSWang Huan 168c8a7d9daSWang Huan /* NOR Flash Timing Params */ 169c8a7d9daSWang Huan #define CONFIG_SYS_NOR_CSOR (CSOR_NOR_ADM_SHIFT(4) | \ 170c8a7d9daSWang Huan CSOR_NOR_TRHZ_80) 171c8a7d9daSWang Huan #define CONFIG_SYS_NOR_FTIM0 (FTIM0_NOR_TACSE(0x4) | \ 172c8a7d9daSWang Huan FTIM0_NOR_TEADC(0x5) | \ 173c8a7d9daSWang Huan FTIM0_NOR_TAVDS(0x0) | \ 174c8a7d9daSWang Huan FTIM0_NOR_TEAHC(0x5)) 175c8a7d9daSWang Huan #define CONFIG_SYS_NOR_FTIM1 (FTIM1_NOR_TACO(0x35) | \ 176c8a7d9daSWang Huan FTIM1_NOR_TRAD_NOR(0x1A) | \ 177c8a7d9daSWang Huan FTIM1_NOR_TSEQRAD_NOR(0x13)) 178c8a7d9daSWang Huan #define CONFIG_SYS_NOR_FTIM2 (FTIM2_NOR_TCS(0x4) | \ 179c8a7d9daSWang Huan FTIM2_NOR_TCH(0x4) | \ 180c8a7d9daSWang Huan FTIM2_NOR_TWP(0x1c) | \ 181c8a7d9daSWang Huan FTIM2_NOR_TWPH(0x0e)) 182c8a7d9daSWang Huan #define CONFIG_SYS_NOR_FTIM3 0 183c8a7d9daSWang Huan 184c8a7d9daSWang Huan #define CONFIG_FLASH_CFI_DRIVER 185c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_CFI 186c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 187c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_QUIET_TEST 188c8a7d9daSWang Huan #define CONFIG_FLASH_SHOW_PROGRESS 45 /* count down from 45/5: 9..1 */ 189c8a7d9daSWang Huan 190c8a7d9daSWang Huan #define CONFIG_SYS_MAX_FLASH_BANKS 1 /* number of banks */ 191c8a7d9daSWang Huan #define CONFIG_SYS_MAX_FLASH_SECT 1024 /* sectors per device */ 192c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */ 193c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */ 194c8a7d9daSWang Huan 195c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_EMPTY_INFO 196c8a7d9daSWang Huan #define CONFIG_SYS_FLASH_BANKS_LIST { CONFIG_SYS_FLASH_BASE_PHYS } 197c8a7d9daSWang Huan 198c8a7d9daSWang Huan #define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS 199272c5265SYuan Yao #define CONFIG_SYS_WRITE_SWAPPED_DATA 200d612f0abSAlison Wang #endif 201c8a7d9daSWang Huan 202c8a7d9daSWang Huan /* CPLD */ 203c8a7d9daSWang Huan 204c8a7d9daSWang Huan #define CONFIG_SYS_CPLD_BASE 0x7fb00000 205c8a7d9daSWang Huan #define CPLD_BASE_PHYS CONFIG_SYS_CPLD_BASE 206c8a7d9daSWang Huan 207c8a7d9daSWang Huan #define CONFIG_SYS_FPGA_CSPR_EXT (0x0) 208c8a7d9daSWang Huan #define CONFIG_SYS_FPGA_CSPR (CSPR_PHYS_ADDR(CPLD_BASE_PHYS) | \ 209c8a7d9daSWang Huan CSPR_PORT_SIZE_8 | \ 210c8a7d9daSWang Huan CSPR_MSEL_GPCM | \ 211c8a7d9daSWang Huan CSPR_V) 212c8a7d9daSWang Huan #define CONFIG_SYS_FPGA_AMASK IFC_AMASK(64 * 1024) 213c8a7d9daSWang Huan #define CONFIG_SYS_FPGA_CSOR (CSOR_NOR_ADM_SHIFT(4) | \ 214c8a7d9daSWang Huan CSOR_NOR_NOR_MODE_AVD_NOR | \ 215c8a7d9daSWang Huan CSOR_NOR_TRHZ_80) 216c8a7d9daSWang Huan 217c8a7d9daSWang Huan /* CPLD Timing parameters for IFC GPCM */ 218c8a7d9daSWang Huan #define CONFIG_SYS_FPGA_FTIM0 (FTIM0_GPCM_TACSE(0xf) | \ 219c8a7d9daSWang Huan FTIM0_GPCM_TEADC(0xf) | \ 220c8a7d9daSWang Huan FTIM0_GPCM_TEAHC(0xf)) 221c8a7d9daSWang Huan #define CONFIG_SYS_FPGA_FTIM1 (FTIM1_GPCM_TACO(0xff) | \ 222c8a7d9daSWang Huan FTIM1_GPCM_TRAD(0x3f)) 223c8a7d9daSWang Huan #define CONFIG_SYS_FPGA_FTIM2 (FTIM2_GPCM_TCS(0xf) | \ 224c8a7d9daSWang Huan FTIM2_GPCM_TCH(0xf) | \ 225c8a7d9daSWang Huan FTIM2_GPCM_TWP(0xff)) 226c8a7d9daSWang Huan #define CONFIG_SYS_FPGA_FTIM3 0x0 227c8a7d9daSWang Huan #define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NOR0_CSPR_EXT 228c8a7d9daSWang Huan #define CONFIG_SYS_CSPR0 CONFIG_SYS_NOR0_CSPR 229c8a7d9daSWang Huan #define CONFIG_SYS_AMASK0 CONFIG_SYS_NOR_AMASK 230c8a7d9daSWang Huan #define CONFIG_SYS_CSOR0 CONFIG_SYS_NOR_CSOR 231c8a7d9daSWang Huan #define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NOR_FTIM0 232c8a7d9daSWang Huan #define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NOR_FTIM1 233c8a7d9daSWang Huan #define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NOR_FTIM2 234c8a7d9daSWang Huan #define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NOR_FTIM3 235c8a7d9daSWang Huan #define CONFIG_SYS_CSPR1_EXT CONFIG_SYS_FPGA_CSPR_EXT 236c8a7d9daSWang Huan #define CONFIG_SYS_CSPR1 CONFIG_SYS_FPGA_CSPR 237c8a7d9daSWang Huan #define CONFIG_SYS_AMASK1 CONFIG_SYS_FPGA_AMASK 238c8a7d9daSWang Huan #define CONFIG_SYS_CSOR1 CONFIG_SYS_FPGA_CSOR 239c8a7d9daSWang Huan #define CONFIG_SYS_CS1_FTIM0 CONFIG_SYS_FPGA_FTIM0 240c8a7d9daSWang Huan #define CONFIG_SYS_CS1_FTIM1 CONFIG_SYS_FPGA_FTIM1 241c8a7d9daSWang Huan #define CONFIG_SYS_CS1_FTIM2 CONFIG_SYS_FPGA_FTIM2 242c8a7d9daSWang Huan #define CONFIG_SYS_CS1_FTIM3 CONFIG_SYS_FPGA_FTIM3 243c8a7d9daSWang Huan 244c8a7d9daSWang Huan /* 245c8a7d9daSWang Huan * Serial Port 246c8a7d9daSWang Huan */ 24755d53ab4SAlison Wang #ifdef CONFIG_LPUART 24855d53ab4SAlison Wang #define CONFIG_LPUART_32B_REG 24955d53ab4SAlison Wang #else 250c8a7d9daSWang Huan #define CONFIG_CONS_INDEX 1 251c8a7d9daSWang Huan #define CONFIG_SYS_NS16550_SERIAL 252f833cd62SBin Meng #ifndef CONFIG_DM_SERIAL 253c8a7d9daSWang Huan #define CONFIG_SYS_NS16550_REG_SIZE 1 254f833cd62SBin Meng #endif 255c8a7d9daSWang Huan #define CONFIG_SYS_NS16550_CLK get_serial_clock() 25655d53ab4SAlison Wang #endif 257c8a7d9daSWang Huan 258c8a7d9daSWang Huan /* 259c8a7d9daSWang Huan * I2C 260c8a7d9daSWang Huan */ 261c8a7d9daSWang Huan #define CONFIG_SYS_I2C 262c8a7d9daSWang Huan #define CONFIG_SYS_I2C_MXC 26303544c66SAlbert ARIBAUD \\(3ADEV\\) #define CONFIG_SYS_I2C_MXC_I2C1 /* enable I2C bus 1 */ 26403544c66SAlbert ARIBAUD \\(3ADEV\\) #define CONFIG_SYS_I2C_MXC_I2C2 /* enable I2C bus 2 */ 265f8cb101eSYork Sun #define CONFIG_SYS_I2C_MXC_I2C3 /* enable I2C bus 3 */ 266c8a7d9daSWang Huan 2675175a288SAlison Wang /* EEPROM */ 2685175a288SAlison Wang #define CONFIG_ID_EEPROM 2695175a288SAlison Wang #define CONFIG_SYS_I2C_EEPROM_NXID 2705175a288SAlison Wang #define CONFIG_SYS_EEPROM_BUS_NUM 1 2715175a288SAlison Wang #define CONFIG_SYS_I2C_EEPROM_ADDR 0x53 2725175a288SAlison Wang #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 2735175a288SAlison Wang #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3 2745175a288SAlison Wang #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 5 2755175a288SAlison Wang 276c8a7d9daSWang Huan /* 277c8a7d9daSWang Huan * MMC 278c8a7d9daSWang Huan */ 279c8a7d9daSWang Huan #define CONFIG_FSL_ESDHC 280c8a7d9daSWang Huan 2819dd3d3c0SHaikun Wang /* SPI */ 282947cee11SAlison Wang #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) 2839dd3d3c0SHaikun Wang /* QSPI */ 284d612f0abSAlison Wang #define QSPI0_AMBA_BASE 0x40000000 285d612f0abSAlison Wang #define FSL_QSPI_FLASH_SIZE (1 << 24) 286d612f0abSAlison Wang #define FSL_QSPI_FLASH_NUM 2 2879dd3d3c0SHaikun Wang 28803d1d568SYao Yuan /* DSPI */ 28903d1d568SYao Yuan #endif 29003d1d568SYao Yuan 2919dd3d3c0SHaikun Wang /* DM SPI */ 2929dd3d3c0SHaikun Wang #if defined(CONFIG_FSL_DSPI) || defined(CONFIG_FSL_QSPI) 2939dd3d3c0SHaikun Wang #define CONFIG_DM_SPI_FLASH 2949dd3d3c0SHaikun Wang #endif 295d612f0abSAlison Wang 296c8a7d9daSWang Huan /* 297b4ecc8c6SWang Huan * Video 298b4ecc8c6SWang Huan */ 299b215fb3fSSanchayan Maity #ifdef CONFIG_VIDEO_FSL_DCU_FB 300b4ecc8c6SWang Huan #define CONFIG_VIDEO_LOGO 301b4ecc8c6SWang Huan #define CONFIG_VIDEO_BMP_LOGO 302b4ecc8c6SWang Huan 303b4ecc8c6SWang Huan #define CONFIG_FSL_DCU_SII9022A 304b4ecc8c6SWang Huan #define CONFIG_SYS_I2C_DVI_BUS_NUM 1 305b4ecc8c6SWang Huan #define CONFIG_SYS_I2C_DVI_ADDR 0x39 306b4ecc8c6SWang Huan #endif 307b4ecc8c6SWang Huan 308b4ecc8c6SWang Huan /* 309c8a7d9daSWang Huan * eTSEC 310c8a7d9daSWang Huan */ 311c8a7d9daSWang Huan #define CONFIG_TSEC_ENET 312c8a7d9daSWang Huan 313c8a7d9daSWang Huan #ifdef CONFIG_TSEC_ENET 314c8a7d9daSWang Huan #define CONFIG_MII 315c8a7d9daSWang Huan #define CONFIG_MII_DEFAULT_TSEC 1 316c8a7d9daSWang Huan #define CONFIG_TSEC1 1 317c8a7d9daSWang Huan #define CONFIG_TSEC1_NAME "eTSEC1" 318c8a7d9daSWang Huan #define CONFIG_TSEC2 1 319c8a7d9daSWang Huan #define CONFIG_TSEC2_NAME "eTSEC2" 320c8a7d9daSWang Huan #define CONFIG_TSEC3 1 321c8a7d9daSWang Huan #define CONFIG_TSEC3_NAME "eTSEC3" 322c8a7d9daSWang Huan 323c8a7d9daSWang Huan #define TSEC1_PHY_ADDR 2 324c8a7d9daSWang Huan #define TSEC2_PHY_ADDR 0 325c8a7d9daSWang Huan #define TSEC3_PHY_ADDR 1 326c8a7d9daSWang Huan 327c8a7d9daSWang Huan #define TSEC1_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) 328c8a7d9daSWang Huan #define TSEC2_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) 329c8a7d9daSWang Huan #define TSEC3_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) 330c8a7d9daSWang Huan 331c8a7d9daSWang Huan #define TSEC1_PHYIDX 0 332c8a7d9daSWang Huan #define TSEC2_PHYIDX 0 333c8a7d9daSWang Huan #define TSEC3_PHYIDX 0 334c8a7d9daSWang Huan 335c8a7d9daSWang Huan #define CONFIG_ETHPRIME "eTSEC1" 336c8a7d9daSWang Huan 337c8a7d9daSWang Huan #define CONFIG_PHY_ATHEROS 338c8a7d9daSWang Huan 339c8a7d9daSWang Huan #define CONFIG_HAS_ETH0 340c8a7d9daSWang Huan #define CONFIG_HAS_ETH1 341c8a7d9daSWang Huan #define CONFIG_HAS_ETH2 342c8a7d9daSWang Huan #endif 343c8a7d9daSWang Huan 344da419027SMinghuan Lian /* PCIe */ 345b38eaec5SRobert P. J. Day #define CONFIG_PCIE1 /* PCIE controller 1 */ 346b38eaec5SRobert P. J. Day #define CONFIG_PCIE2 /* PCIE controller 2 */ 347da419027SMinghuan Lian 348180b8688SMinghuan Lian #ifdef CONFIG_PCI 349180b8688SMinghuan Lian #define CONFIG_PCI_SCAN_SHOW 350180b8688SMinghuan Lian #endif 351180b8688SMinghuan Lian 352c8a7d9daSWang Huan #define CONFIG_CMDLINE_TAG 3538415bb68SAlison Wang 3541a2826f6SXiubo Li #define CONFIG_PEN_ADDR_BIG_ENDIAN 355435acd83SMingkai Hu #define CONFIG_LAYERSCAPE_NS_ACCESS 3561a2826f6SXiubo Li #define CONFIG_SMP_PEN_ADDR 0x01ee0200 357e4916e85SAndre Przywara #define COUNTER_FREQUENCY 12500000 3581a2826f6SXiubo Li 359c8a7d9daSWang Huan #define CONFIG_HWCONFIG 36003c22449SZhuoyu Zhang #define HWCONFIG_BUFFER_SIZE 256 36103c22449SZhuoyu Zhang 36203c22449SZhuoyu Zhang #define CONFIG_FSL_DEVICE_DISABLE 363c8a7d9daSWang Huan 364a65d7408SAlison Wang #include <config_distro_defaults.h> 365a65d7408SAlison Wang #define BOOT_TARGET_DEVICES(func) \ 366a65d7408SAlison Wang func(MMC, mmc, 0) \ 367a65d7408SAlison Wang func(USB, usb, 0) 368a65d7408SAlison Wang #include <config_distro_bootcmd.h> 369c8a7d9daSWang Huan 37055d53ab4SAlison Wang #ifdef CONFIG_LPUART 37155d53ab4SAlison Wang #define CONFIG_EXTRA_ENV_SETTINGS \ 37255d53ab4SAlison Wang "bootargs=root=/dev/ram0 rw console=ttyLP0,115200\0" \ 3737ff7166cSAlison Wang "initrd_high=0xffffffff\0" \ 374a65d7408SAlison Wang "fdt_high=0xffffffff\0" \ 375a65d7408SAlison Wang "fdt_addr=0x64f00000\0" \ 376a65d7408SAlison Wang "kernel_addr=0x65000000\0" \ 377a65d7408SAlison Wang "scriptaddr=0x80000000\0" \ 378*b8ae6798SSumit Garg "scripthdraddr=0x80080000\0" \ 379a65d7408SAlison Wang "fdtheader_addr_r=0x80100000\0" \ 380a65d7408SAlison Wang "kernelheader_addr_r=0x80200000\0" \ 381a65d7408SAlison Wang "kernel_addr_r=0x81000000\0" \ 382a65d7408SAlison Wang "fdt_addr_r=0x90000000\0" \ 383a65d7408SAlison Wang "ramdisk_addr_r=0xa0000000\0" \ 384a65d7408SAlison Wang "load_addr=0xa0000000\0" \ 385a65d7408SAlison Wang "kernel_size=0x2800000\0" \ 386a65d7408SAlison Wang BOOTENV \ 387a65d7408SAlison Wang "boot_scripts=ls1021atwr_boot.scr\0" \ 388*b8ae6798SSumit Garg "boot_script_hdr=hdr_ls1021atwr_bs.out\0" \ 389a65d7408SAlison Wang "scan_dev_for_boot_part=" \ 390a65d7408SAlison Wang "part list ${devtype} ${devnum} devplist; " \ 391a65d7408SAlison Wang "env exists devplist || setenv devplist 1; " \ 392a65d7408SAlison Wang "for distro_bootpart in ${devplist}; do " \ 393a65d7408SAlison Wang "if fstype ${devtype} " \ 394a65d7408SAlison Wang "${devnum}:${distro_bootpart} " \ 395a65d7408SAlison Wang "bootfstype; then " \ 396a65d7408SAlison Wang "run scan_dev_for_boot; " \ 397a65d7408SAlison Wang "fi; " \ 398a65d7408SAlison Wang "done\0" \ 399*b8ae6798SSumit Garg "scan_dev_for_boot=" \ 400*b8ae6798SSumit Garg "echo Scanning ${devtype} " \ 401*b8ae6798SSumit Garg "${devnum}:${distro_bootpart}...; " \ 402*b8ae6798SSumit Garg "for prefix in ${boot_prefixes}; do " \ 403*b8ae6798SSumit Garg "run scan_dev_for_scripts; " \ 404*b8ae6798SSumit Garg "done;" \ 405*b8ae6798SSumit Garg "\0" \ 406*b8ae6798SSumit Garg "boot_a_script=" \ 407*b8ae6798SSumit Garg "load ${devtype} ${devnum}:${distro_bootpart} " \ 408*b8ae6798SSumit Garg "${scriptaddr} ${prefix}${script}; " \ 409*b8ae6798SSumit Garg "env exists secureboot && load ${devtype} " \ 410*b8ae6798SSumit Garg "${devnum}:${distro_bootpart} " \ 411*b8ae6798SSumit Garg "${scripthdraddr} ${prefix}${boot_script_hdr} " \ 412*b8ae6798SSumit Garg "&& esbc_validate ${scripthdraddr};" \ 413*b8ae6798SSumit Garg "source ${scriptaddr}\0" \ 414a65d7408SAlison Wang "installer=load mmc 0:2 $load_addr " \ 415a65d7408SAlison Wang "/flex_installer_arm32.itb; " \ 416a65d7408SAlison Wang "bootm $load_addr#ls1021atwr\0" \ 417a65d7408SAlison Wang "qspi_bootcmd=echo Trying load from qspi..;" \ 418a65d7408SAlison Wang "sf probe && sf read $load_addr " \ 419a65d7408SAlison Wang "$kernel_addr $kernel_size && bootm $load_addr#$board\0" \ 420a65d7408SAlison Wang "nor_bootcmd=echo Trying load from nor..;" \ 421a65d7408SAlison Wang "cp.b $kernel_addr $load_addr " \ 422a65d7408SAlison Wang "$kernel_size && bootm $load_addr#$board\0" 42355d53ab4SAlison Wang #else 424c8a7d9daSWang Huan #define CONFIG_EXTRA_ENV_SETTINGS \ 425c8a7d9daSWang Huan "bootargs=root=/dev/ram0 rw console=ttyS0,115200\0" \ 4267ff7166cSAlison Wang "initrd_high=0xffffffff\0" \ 427a65d7408SAlison Wang "fdt_high=0xffffffff\0" \ 428a65d7408SAlison Wang "fdt_addr=0x64f00000\0" \ 429a65d7408SAlison Wang "kernel_addr=0x65000000\0" \ 430a65d7408SAlison Wang "scriptaddr=0x80000000\0" \ 431*b8ae6798SSumit Garg "scripthdraddr=0x80080000\0" \ 432a65d7408SAlison Wang "fdtheader_addr_r=0x80100000\0" \ 433a65d7408SAlison Wang "kernelheader_addr_r=0x80200000\0" \ 434a65d7408SAlison Wang "kernel_addr_r=0x81000000\0" \ 435a65d7408SAlison Wang "fdt_addr_r=0x90000000\0" \ 436a65d7408SAlison Wang "ramdisk_addr_r=0xa0000000\0" \ 437a65d7408SAlison Wang "load_addr=0xa0000000\0" \ 438a65d7408SAlison Wang "kernel_size=0x2800000\0" \ 439a65d7408SAlison Wang BOOTENV \ 440a65d7408SAlison Wang "boot_scripts=ls1021atwr_boot.scr\0" \ 441*b8ae6798SSumit Garg "boot_script_hdr=hdr_ls1021atwr_bs.out\0" \ 442a65d7408SAlison Wang "scan_dev_for_boot_part=" \ 443a65d7408SAlison Wang "part list ${devtype} ${devnum} devplist; " \ 444a65d7408SAlison Wang "env exists devplist || setenv devplist 1; " \ 445a65d7408SAlison Wang "for distro_bootpart in ${devplist}; do " \ 446a65d7408SAlison Wang "if fstype ${devtype} " \ 447a65d7408SAlison Wang "${devnum}:${distro_bootpart} " \ 448a65d7408SAlison Wang "bootfstype; then " \ 449a65d7408SAlison Wang "run scan_dev_for_boot; " \ 450a65d7408SAlison Wang "fi; " \ 451a65d7408SAlison Wang "done\0" \ 452*b8ae6798SSumit Garg "scan_dev_for_boot=" \ 453*b8ae6798SSumit Garg "echo Scanning ${devtype} " \ 454*b8ae6798SSumit Garg "${devnum}:${distro_bootpart}...; " \ 455*b8ae6798SSumit Garg "for prefix in ${boot_prefixes}; do " \ 456*b8ae6798SSumit Garg "run scan_dev_for_scripts; " \ 457*b8ae6798SSumit Garg "done;" \ 458*b8ae6798SSumit Garg "\0" \ 459*b8ae6798SSumit Garg "boot_a_script=" \ 460*b8ae6798SSumit Garg "load ${devtype} ${devnum}:${distro_bootpart} " \ 461*b8ae6798SSumit Garg "${scriptaddr} ${prefix}${script}; " \ 462*b8ae6798SSumit Garg "env exists secureboot && load ${devtype} " \ 463*b8ae6798SSumit Garg "${devnum}:${distro_bootpart} " \ 464*b8ae6798SSumit Garg "${scripthdraddr} ${prefix}${boot_script_hdr} " \ 465*b8ae6798SSumit Garg "&& esbc_validate ${scripthdraddr};" \ 466*b8ae6798SSumit Garg "source ${scriptaddr}\0" \ 467a65d7408SAlison Wang "installer=load mmc 0:2 $load_addr " \ 468a65d7408SAlison Wang "/flex_installer_arm32.itb; " \ 469a65d7408SAlison Wang "bootm $load_addr#ls1021atwr\0" \ 470a65d7408SAlison Wang "qspi_bootcmd=echo Trying load from qspi..;" \ 471a65d7408SAlison Wang "sf probe && sf read $load_addr " \ 472a65d7408SAlison Wang "$kernel_addr $kernel_size && bootm $load_addr#$board\0" \ 473a65d7408SAlison Wang "nor_bootcmd=echo Trying load from nor..;" \ 474a65d7408SAlison Wang "cp.b $kernel_addr $load_addr " \ 475a65d7408SAlison Wang "$kernel_size && bootm $load_addr#$board\0" 47655d53ab4SAlison Wang #endif 477c8a7d9daSWang Huan 478a65d7408SAlison Wang #undef CONFIG_BOOTCOMMAND 479a65d7408SAlison Wang #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) 480*b8ae6798SSumit Garg #define CONFIG_BOOTCOMMAND "run distro_bootcmd; env exists secureboot" \ 481*b8ae6798SSumit Garg "&& esbc_halt; run qspi_bootcmd;" 482a65d7408SAlison Wang #else 483*b8ae6798SSumit Garg #define CONFIG_BOOTCOMMAND "run distro_bootcmd; env exists secureboot" \ 484*b8ae6798SSumit Garg "&& esbc_halt; run nor_bootcmd;" 485a65d7408SAlison Wang #endif 486a65d7408SAlison Wang 487c8a7d9daSWang Huan /* 488c8a7d9daSWang Huan * Miscellaneous configurable options 489c8a7d9daSWang Huan */ 490c8a7d9daSWang Huan #define CONFIG_SYS_LONGHELP /* undef to save memory */ 491c8a7d9daSWang Huan #define CONFIG_AUTO_COMPLETE 492c8a7d9daSWang Huan 493c8a7d9daSWang Huan #define CONFIG_SYS_MEMTEST_START 0x80000000 494c8a7d9daSWang Huan #define CONFIG_SYS_MEMTEST_END 0x9fffffff 495c8a7d9daSWang Huan 496c8a7d9daSWang Huan #define CONFIG_SYS_LOAD_ADDR 0x82000000 497c8a7d9daSWang Huan 498660673afSXiubo Li #define CONFIG_LS102XA_STREAM_ID 499660673afSXiubo Li 500c8a7d9daSWang Huan #define CONFIG_SYS_INIT_SP_OFFSET \ 501c8a7d9daSWang Huan (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 502c8a7d9daSWang Huan #define CONFIG_SYS_INIT_SP_ADDR \ 503c8a7d9daSWang Huan (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) 504c8a7d9daSWang Huan 5058415bb68SAlison Wang #ifdef CONFIG_SPL_BUILD 5068415bb68SAlison Wang #define CONFIG_SYS_MONITOR_BASE CONFIG_SPL_TEXT_BASE 5078415bb68SAlison Wang #else 508c8a7d9daSWang Huan #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */ 5098415bb68SAlison Wang #endif 510c8a7d9daSWang Huan 511615bfce5SAlison Wang #define CONFIG_SYS_QE_FW_ADDR 0x60940000 512eaa859e7SZhao Qiang 513c8a7d9daSWang Huan /* 514c8a7d9daSWang Huan * Environment 515c8a7d9daSWang Huan */ 516c8a7d9daSWang Huan #define CONFIG_ENV_OVERWRITE 517c8a7d9daSWang Huan 5188415bb68SAlison Wang #if defined(CONFIG_SD_BOOT) 519615bfce5SAlison Wang #define CONFIG_ENV_OFFSET 0x300000 5208415bb68SAlison Wang #define CONFIG_SYS_MMC_ENV_DEV 0 5218415bb68SAlison Wang #define CONFIG_ENV_SIZE 0x20000 522d612f0abSAlison Wang #elif defined(CONFIG_QSPI_BOOT) 523d612f0abSAlison Wang #define CONFIG_ENV_SIZE 0x2000 524615bfce5SAlison Wang #define CONFIG_ENV_OFFSET 0x300000 525d612f0abSAlison Wang #define CONFIG_ENV_SECT_SIZE 0x10000 5268415bb68SAlison Wang #else 527615bfce5SAlison Wang #define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x300000) 528c8a7d9daSWang Huan #define CONFIG_ENV_SIZE 0x20000 529c8a7d9daSWang Huan #define CONFIG_ENV_SECT_SIZE 0x20000 /* 128K (one sector) */ 5308415bb68SAlison Wang #endif 531c8a7d9daSWang Huan 5324ba4a095SRuchika Gupta #define CONFIG_MISC_INIT_R 5334ba4a095SRuchika Gupta 534ef6c55a2SAneesh Bansal #include <asm/fsl_secure_boot.h> 535cc7b8b9aSAlison Wang #define CONFIG_SYS_BOOTM_LEN (64 << 20) /* Increase max gunzip size */ 5364ba4a095SRuchika Gupta 537c8a7d9daSWang Huan #endif 538