board/t208xqds: Add support of 2-stage NAND/SPI/SD boot
Add support of 2-stage NAND/SPI/SD boot loader using SPL framework. PBL initializes the internal CPC-SRAM and copy SPL(160K) to it, SPL further initializes DDR using SPD and environment and copy u-boot(768 KB) from SPI/SD/NAND to DDR, finally SPL transfers control to u-boot. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com> [York Sun: fix boards.cfg for T2081QDS_SDCARD and _SPIFLASH] Reviewed-by: York Sun <yorksun@freescale.com>
This commit is contained in:
parent
d1c561cd54
commit
b19e288f47
@ -4,11 +4,16 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0+
|
# SPDX-License-Identifier: GPL-2.0+
|
||||||
#
|
#
|
||||||
|
|
||||||
|
ifdef CONFIG_SPL_BUILD
|
||||||
|
obj-y += spl.o
|
||||||
|
else
|
||||||
obj-$(CONFIG_T2080QDS) += t208xqds.o
|
obj-$(CONFIG_T2080QDS) += t208xqds.o
|
||||||
obj-$(CONFIG_T2080QDS) += eth_t208xqds.o
|
obj-$(CONFIG_T2080QDS) += eth_t208xqds.o
|
||||||
obj-$(CONFIG_T2081QDS) += t208xqds.o
|
obj-$(CONFIG_T2081QDS) += t208xqds.o
|
||||||
obj-$(CONFIG_T2081QDS) += eth_t208xqds.o
|
obj-$(CONFIG_T2081QDS) += eth_t208xqds.o
|
||||||
obj-$(CONFIG_PCI) += pci.o
|
obj-$(CONFIG_PCI) += pci.o
|
||||||
|
endif
|
||||||
|
|
||||||
obj-y += ddr.o
|
obj-y += ddr.o
|
||||||
obj-y += law.o
|
obj-y += law.o
|
||||||
obj-y += tlb.o
|
obj-y += tlb.o
|
||||||
|
@ -107,13 +107,16 @@ phys_size_t initdram(int board_type)
|
|||||||
{
|
{
|
||||||
phys_size_t dram_size;
|
phys_size_t dram_size;
|
||||||
|
|
||||||
|
#if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_RAMBOOT_PBL)
|
||||||
puts("Initializing....using SPD\n");
|
puts("Initializing....using SPD\n");
|
||||||
|
|
||||||
dram_size = fsl_ddr_sdram();
|
dram_size = fsl_ddr_sdram();
|
||||||
|
|
||||||
dram_size = setup_ddr_tlbs(dram_size / 0x100000);
|
dram_size = setup_ddr_tlbs(dram_size / 0x100000);
|
||||||
dram_size *= 0x100000;
|
dram_size *= 0x100000;
|
||||||
|
#else
|
||||||
|
/* DDR has been initialised by first stage boot loader */
|
||||||
|
dram_size = fsl_ddr_sdram_size();
|
||||||
|
#endif
|
||||||
|
|
||||||
puts(" DDR: ");
|
|
||||||
return dram_size;
|
return dram_size;
|
||||||
}
|
}
|
||||||
|
137
board/freescale/t208xqds/spl.c
Normal file
137
board/freescale/t208xqds/spl.c
Normal file
@ -0,0 +1,137 @@
|
|||||||
|
/* Copyright 2013 Freescale Semiconductor, Inc.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: GPL-2.0+
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <common.h>
|
||||||
|
#include <malloc.h>
|
||||||
|
#include <ns16550.h>
|
||||||
|
#include <nand.h>
|
||||||
|
#include <i2c.h>
|
||||||
|
#include <mmc.h>
|
||||||
|
#include <fsl_esdhc.h>
|
||||||
|
#include <spi_flash.h>
|
||||||
|
#include "../common/qixis.h"
|
||||||
|
#include "t208xqds_qixis.h"
|
||||||
|
|
||||||
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
phys_size_t get_effective_memsize(void)
|
||||||
|
{
|
||||||
|
return CONFIG_SYS_L3_SIZE;
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned long get_board_sys_clk(void)
|
||||||
|
{
|
||||||
|
u8 sysclk_conf = QIXIS_READ(brdcfg[1]);
|
||||||
|
|
||||||
|
switch (sysclk_conf & 0x0F) {
|
||||||
|
case QIXIS_SYSCLK_83:
|
||||||
|
return 83333333;
|
||||||
|
case QIXIS_SYSCLK_100:
|
||||||
|
return 100000000;
|
||||||
|
case QIXIS_SYSCLK_125:
|
||||||
|
return 125000000;
|
||||||
|
case QIXIS_SYSCLK_133:
|
||||||
|
return 133333333;
|
||||||
|
case QIXIS_SYSCLK_150:
|
||||||
|
return 150000000;
|
||||||
|
case QIXIS_SYSCLK_160:
|
||||||
|
return 160000000;
|
||||||
|
case QIXIS_SYSCLK_166:
|
||||||
|
return 166666666;
|
||||||
|
}
|
||||||
|
return 66666666;
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned long get_board_ddr_clk(void)
|
||||||
|
{
|
||||||
|
u8 ddrclk_conf = QIXIS_READ(brdcfg[1]);
|
||||||
|
|
||||||
|
switch ((ddrclk_conf & 0x30) >> 4) {
|
||||||
|
case QIXIS_DDRCLK_100:
|
||||||
|
return 100000000;
|
||||||
|
case QIXIS_DDRCLK_125:
|
||||||
|
return 125000000;
|
||||||
|
case QIXIS_DDRCLK_133:
|
||||||
|
return 133333333;
|
||||||
|
}
|
||||||
|
return 66666666;
|
||||||
|
}
|
||||||
|
|
||||||
|
void board_init_f(ulong bootflag)
|
||||||
|
{
|
||||||
|
u32 plat_ratio, sys_clk, ccb_clk;
|
||||||
|
ccsr_gur_t *gur = (void *)CONFIG_SYS_MPC85xx_GUTS_ADDR;
|
||||||
|
|
||||||
|
/* Memcpy existing GD at CONFIG_SPL_GD_ADDR */
|
||||||
|
memcpy((void *)CONFIG_SPL_GD_ADDR, (void *)gd, sizeof(gd_t));
|
||||||
|
|
||||||
|
/* Update GD pointer */
|
||||||
|
gd = (gd_t *)(CONFIG_SPL_GD_ADDR);
|
||||||
|
|
||||||
|
console_init_f();
|
||||||
|
|
||||||
|
/* initialize selected port with appropriate baud rate */
|
||||||
|
sys_clk = get_board_sys_clk();
|
||||||
|
plat_ratio = (in_be32(&gur->rcwsr[0]) >> 25) & 0x1f;
|
||||||
|
ccb_clk = sys_clk * plat_ratio / 2;
|
||||||
|
|
||||||
|
NS16550_init((NS16550_t)CONFIG_SYS_NS16550_COM1,
|
||||||
|
ccb_clk / 16 / CONFIG_BAUDRATE);
|
||||||
|
|
||||||
|
#if defined(CONFIG_SPL_MMC_BOOT)
|
||||||
|
puts("\nSD boot...\n");
|
||||||
|
#elif defined(CONFIG_SPL_SPI_BOOT)
|
||||||
|
puts("\nSPI boot...\n");
|
||||||
|
#elif defined(CONFIG_SPL_NAND_BOOT)
|
||||||
|
puts("\nNAND boot...\n");
|
||||||
|
#endif
|
||||||
|
|
||||||
|
relocate_code(CONFIG_SPL_RELOC_STACK, (gd_t *)CONFIG_SPL_GD_ADDR, 0x0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void board_init_r(gd_t *gd, ulong dest_addr)
|
||||||
|
{
|
||||||
|
bd_t *bd;
|
||||||
|
|
||||||
|
bd = (bd_t *)(gd + sizeof(gd_t));
|
||||||
|
memset(bd, 0, sizeof(bd_t));
|
||||||
|
gd->bd = bd;
|
||||||
|
bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR;
|
||||||
|
bd->bi_memsize = CONFIG_SYS_L3_SIZE;
|
||||||
|
|
||||||
|
probecpu();
|
||||||
|
get_clocks();
|
||||||
|
mem_malloc_init(CONFIG_SPL_RELOC_MALLOC_ADDR,
|
||||||
|
CONFIG_SPL_RELOC_MALLOC_SIZE);
|
||||||
|
|
||||||
|
#ifdef CONFIG_SPL_NAND_BOOT
|
||||||
|
nand_spl_load_image(CONFIG_ENV_OFFSET, CONFIG_ENV_SIZE,
|
||||||
|
(uchar *)CONFIG_ENV_ADDR);
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_SPL_MMC_BOOT
|
||||||
|
mmc_initialize(bd);
|
||||||
|
mmc_spl_load_image(CONFIG_ENV_OFFSET, CONFIG_ENV_SIZE,
|
||||||
|
(uchar *)CONFIG_ENV_ADDR);
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_SPL_SPI_BOOT
|
||||||
|
spi_spl_load_image(CONFIG_ENV_OFFSET, CONFIG_ENV_SIZE,
|
||||||
|
(uchar *)CONFIG_ENV_ADDR);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
gd->env_addr = (ulong)(CONFIG_ENV_ADDR);
|
||||||
|
gd->env_valid = 1;
|
||||||
|
|
||||||
|
i2c_init_all();
|
||||||
|
|
||||||
|
gd->ram_size = initdram(0);
|
||||||
|
|
||||||
|
#ifdef CONFIG_SPL_MMC_BOOT
|
||||||
|
mmc_boot();
|
||||||
|
#elif defined(CONFIG_SPL_SPI_BOOT)
|
||||||
|
spi_boot();
|
||||||
|
#elif defined(CONFIG_SPL_NAND_BOOT)
|
||||||
|
nand_boot();
|
||||||
|
#endif
|
||||||
|
}
|
@ -65,6 +65,7 @@ struct fsl_e_tlb_entry tlb_table[] = {
|
|||||||
MAS3_SX|MAS3_SR, MAS2_W|MAS2_G,
|
MAS3_SX|MAS3_SR, MAS2_W|MAS2_G,
|
||||||
0, 2, BOOKE_PAGESZ_256M, 1),
|
0, 2, BOOKE_PAGESZ_256M, 1),
|
||||||
|
|
||||||
|
#ifndef CONFIG_SPL_BUILD
|
||||||
/* *I*G* - PCIe 1, 0x80000000 */
|
/* *I*G* - PCIe 1, 0x80000000 */
|
||||||
SET_TLB_ENTRY(1, CONFIG_SYS_PCIE1_MEM_VIRT, CONFIG_SYS_PCIE1_MEM_PHYS,
|
SET_TLB_ENTRY(1, CONFIG_SYS_PCIE1_MEM_VIRT, CONFIG_SYS_PCIE1_MEM_PHYS,
|
||||||
MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
|
MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
|
||||||
@ -110,6 +111,7 @@ struct fsl_e_tlb_entry tlb_table[] = {
|
|||||||
MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
|
MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
|
||||||
0, 12, BOOKE_PAGESZ_16M, 1),
|
0, 12, BOOKE_PAGESZ_16M, 1),
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
#ifdef CONFIG_SYS_DCSRBAR_PHYS
|
#ifdef CONFIG_SYS_DCSRBAR_PHYS
|
||||||
SET_TLB_ENTRY(1, CONFIG_SYS_DCSRBAR, CONFIG_SYS_DCSRBAR_PHYS,
|
SET_TLB_ENTRY(1, CONFIG_SYS_DCSRBAR, CONFIG_SYS_DCSRBAR_PHYS,
|
||||||
MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
|
MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
|
||||||
@ -141,6 +143,11 @@ struct fsl_e_tlb_entry tlb_table[] = {
|
|||||||
0, 18, BOOKE_PAGESZ_1M, 1),
|
0, 18, BOOKE_PAGESZ_1M, 1),
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_RAMBOOT_PBL) && !defined(CONFIG_SPL_BUILD)
|
||||||
|
SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE, CONFIG_SYS_DDR_SDRAM_BASE,
|
||||||
|
MAS3_SX|MAS3_SW|MAS3_SR, 0,
|
||||||
|
0, 19, BOOKE_PAGESZ_2G, 1)
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
int num_tlb_entries = ARRAY_SIZE(tlb_table);
|
int num_tlb_entries = ARRAY_SIZE(tlb_table);
|
||||||
|
12
boards.cfg
12
boards.cfg
@ -955,14 +955,14 @@ Active powerpc mpc85xx - freescale t104xrdb
|
|||||||
Active powerpc mpc85xx - freescale t104xrdb T1042RDB_PI_SPIFLASH T104xRDB:PPC_T1042,T1042RDB_PI,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH Priyanka Jain <Priyanka.Jain@freescale.com>
|
Active powerpc mpc85xx - freescale t104xrdb T1042RDB_PI_SPIFLASH T104xRDB:PPC_T1042,T1042RDB_PI,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH Priyanka Jain <Priyanka.Jain@freescale.com>
|
||||||
Active powerpc mpc85xx - freescale t208xqds T2080QDS T208xQDS:PPC_T2080 -
|
Active powerpc mpc85xx - freescale t208xqds T2080QDS T208xQDS:PPC_T2080 -
|
||||||
Active powerpc mpc85xx - freescale t208xqds T2080QDS_SECURE_BOOT T208xQDS:PPC_T2080,SECURE_BOOT Aneesh Bansal <aneesh.bansal@freescale.com>
|
Active powerpc mpc85xx - freescale t208xqds T2080QDS_SECURE_BOOT T208xQDS:PPC_T2080,SECURE_BOOT Aneesh Bansal <aneesh.bansal@freescale.com>
|
||||||
Active powerpc mpc85xx - freescale t208xqds T2080QDS_NAND T208xQDS:PPC_T2080,RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000 -
|
Active powerpc mpc85xx - freescale t208xqds T2080QDS_NAND T208xQDS:PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,NAND
|
||||||
Active powerpc mpc85xx - freescale t208xqds T2080QDS_SDCARD T208xQDS:PPC_T2080,RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000 -
|
Active powerpc mpc85xx - freescale t208xqds T2080QDS_SDCARD T208xQDS:PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD
|
||||||
Active powerpc mpc85xx - freescale t208xqds T2080QDS_SPIFLASH T208xQDS:PPC_T2080,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000 -
|
Active powerpc mpc85xx - freescale t208xqds T2080QDS_SPIFLASH T208xQDS:PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH
|
||||||
Active powerpc mpc85xx - freescale t208xqds T2080QDS_SRIO_PCIE_BOOT T208xQDS:PPC_T2080,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000 -
|
Active powerpc mpc85xx - freescale t208xqds T2080QDS_SRIO_PCIE_BOOT T208xQDS:PPC_T2080,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000 -
|
||||||
Active powerpc mpc85xx - freescale t208xqds T2081QDS T208xQDS:PPC_T2081 -
|
Active powerpc mpc85xx - freescale t208xqds T2081QDS T208xQDS:PPC_T2081 -
|
||||||
Active powerpc mpc85xx - freescale t208xqds T2081QDS_NAND T208xQDS:PPC_T2081,RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000 -
|
Active powerpc mpc85xx - freescale t208xqds T2081QDS_NAND T208xQDS:PPC_T2081,RAMBOOT_PBL,SPL_FSL_PBL,NAND
|
||||||
Active powerpc mpc85xx - freescale t208xqds T2081QDS_SDCARD T208xQDS:PPC_T2081,RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000 -
|
Active powerpc mpc85xx - freescale t208xqds T2081QDS_SDCARD T208xQDS:PPC_T2081,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD -
|
||||||
Active powerpc mpc85xx - freescale t208xqds T2081QDS_SPIFLASH T208xQDS:PPC_T2081,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000 -
|
Active powerpc mpc85xx - freescale t208xqds T2081QDS_SPIFLASH T208xQDS:PPC_T2081,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH -
|
||||||
Active powerpc mpc85xx - freescale t208xqds T2081QDS_SRIO_PCIE_BOOT T208xQDS:PPC_T2081,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000 -
|
Active powerpc mpc85xx - freescale t208xqds T2081QDS_SRIO_PCIE_BOOT T208xQDS:PPC_T2081,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000 -
|
||||||
Active powerpc mpc85xx - freescale t208xrdb T2080RDB T208xRDB:PPC_T2080 -
|
Active powerpc mpc85xx - freescale t208xrdb T2080RDB T208xRDB:PPC_T2080 -
|
||||||
Active powerpc mpc85xx - freescale t208xrdb T2080RDB_NAND T208xRDB:PPC_T2080,RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000 -
|
Active powerpc mpc85xx - freescale t208xrdb T2080RDB_NAND T208xRDB:PPC_T2080,RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000 -
|
||||||
|
@ -46,16 +46,80 @@
|
|||||||
#define CONFIG_ENV_OVERWRITE
|
#define CONFIG_ENV_OVERWRITE
|
||||||
|
|
||||||
#ifdef CONFIG_RAMBOOT_PBL
|
#ifdef CONFIG_RAMBOOT_PBL
|
||||||
#define CONFIG_RAMBOOT_TEXT_BASE CONFIG_SYS_TEXT_BASE
|
|
||||||
#define CONFIG_RESET_VECTOR_ADDRESS 0xfffffffc
|
|
||||||
#define CONFIG_SYS_FSL_PBL_PBI board/freescale/t208xqds/t208x_pbi.cfg
|
#define CONFIG_SYS_FSL_PBL_PBI board/freescale/t208xqds/t208x_pbi.cfg
|
||||||
#if defined(CONFIG_PPC_T2080)
|
#if defined(CONFIG_PPC_T2080)
|
||||||
#define CONFIG_SYS_FSL_PBL_RCW board/freescale/t208xqds/t2080_rcw.cfg
|
#define CONFIG_SYS_FSL_PBL_RCW board/freescale/t208xqds/t2080_rcw.cfg
|
||||||
#elif defined(CONFIG_PPC_T2081)
|
#elif defined(CONFIG_PPC_T2081)
|
||||||
#define CONFIG_SYS_FSL_PBL_RCW board/freescale/t208xqds/t2081_rcw.cfg
|
#define CONFIG_SYS_FSL_PBL_RCW board/freescale/t208xqds/t2081_rcw.cfg
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define CONFIG_SPL
|
||||||
|
#define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
|
||||||
|
#define CONFIG_SPL_ENV_SUPPORT
|
||||||
|
#define CONFIG_SPL_SERIAL_SUPPORT
|
||||||
|
#define CONFIG_SPL_FLUSH_IMAGE
|
||||||
|
#define CONFIG_SPL_TARGET "u-boot-with-spl.bin"
|
||||||
|
#define CONFIG_SPL_LIBGENERIC_SUPPORT
|
||||||
|
#define CONFIG_SPL_LIBCOMMON_SUPPORT
|
||||||
|
#define CONFIG_SPL_I2C_SUPPORT
|
||||||
|
#define CONFIG_SPL_DRIVERS_MISC_SUPPORT
|
||||||
|
#define CONFIG_FSL_LAW /* Use common FSL init code */
|
||||||
|
#define CONFIG_SYS_TEXT_BASE 0x00201000
|
||||||
|
#define CONFIG_SPL_TEXT_BASE 0xFFFD8000
|
||||||
|
#define CONFIG_SPL_PAD_TO 0x40000
|
||||||
|
#define CONFIG_SPL_MAX_SIZE 0x28000
|
||||||
|
#define RESET_VECTOR_OFFSET 0x27FFC
|
||||||
|
#define BOOT_PAGE_OFFSET 0x27000
|
||||||
|
#ifdef CONFIG_SPL_BUILD
|
||||||
|
#define CONFIG_SPL_SKIP_RELOCATE
|
||||||
|
#define CONFIG_SPL_COMMON_INIT_DDR
|
||||||
|
#define CONFIG_SYS_CCSR_DO_NOT_RELOCATE
|
||||||
|
#define CONFIG_SYS_NO_FLASH
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_NAND
|
||||||
|
#define CONFIG_SPL_NAND_SUPPORT
|
||||||
|
#define CONFIG_SYS_NAND_U_BOOT_SIZE (768 << 10)
|
||||||
|
#define CONFIG_SYS_NAND_U_BOOT_DST 0x00200000
|
||||||
|
#define CONFIG_SYS_NAND_U_BOOT_START 0x00200000
|
||||||
|
#define CONFIG_SYS_NAND_U_BOOT_OFFS (256 << 10)
|
||||||
|
#define CONFIG_SYS_LDSCRIPT "arch/powerpc/cpu/mpc85xx/u-boot-nand.lds"
|
||||||
|
#define CONFIG_SPL_NAND_BOOT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_SPIFLASH
|
||||||
|
#define CONFIG_RESET_VECTOR_ADDRESS 0x200FFC
|
||||||
|
#define CONFIG_SPL_SPI_SUPPORT
|
||||||
|
#define CONFIG_SPL_SPI_FLASH_SUPPORT
|
||||||
|
#define CONFIG_SPL_SPI_FLASH_MINIMAL
|
||||||
|
#define CONFIG_SYS_SPI_FLASH_U_BOOT_SIZE (768 << 10)
|
||||||
|
#define CONFIG_SYS_SPI_FLASH_U_BOOT_DST (0x00200000)
|
||||||
|
#define CONFIG_SYS_SPI_FLASH_U_BOOT_START (0x00200000)
|
||||||
|
#define CONFIG_SYS_SPI_FLASH_U_BOOT_OFFS (256 << 10)
|
||||||
|
#define CONFIG_SYS_LDSCRIPT "arch/powerpc/cpu/mpc85xx/u-boot.lds"
|
||||||
|
#ifndef CONFIG_SPL_BUILD
|
||||||
|
#define CONFIG_SYS_MPC85XX_NO_RESETVEC
|
||||||
|
#endif
|
||||||
|
#define CONFIG_SPL_SPI_BOOT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_SDCARD
|
||||||
|
#define CONFIG_RESET_VECTOR_ADDRESS 0x200FFC
|
||||||
|
#define CONFIG_SPL_MMC_SUPPORT
|
||||||
|
#define CONFIG_SPL_MMC_MINIMAL
|
||||||
|
#define CONFIG_SYS_MMC_U_BOOT_SIZE (768 << 10)
|
||||||
|
#define CONFIG_SYS_MMC_U_BOOT_DST (0x00200000)
|
||||||
|
#define CONFIG_SYS_MMC_U_BOOT_START (0x00200000)
|
||||||
|
#define CONFIG_SYS_MMC_U_BOOT_OFFS (260 << 10)
|
||||||
|
#define CONFIG_SYS_LDSCRIPT "arch/powerpc/cpu/mpc85xx/u-boot.lds"
|
||||||
|
#ifndef CONFIG_SPL_BUILD
|
||||||
|
#define CONFIG_SYS_MPC85XX_NO_RESETVEC
|
||||||
|
#endif
|
||||||
|
#define CONFIG_SPL_MMC_BOOT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* CONFIG_RAMBOOT_PBL */
|
||||||
|
|
||||||
#define CONFIG_SRIO_PCIE_BOOT_MASTER
|
#define CONFIG_SRIO_PCIE_BOOT_MASTER
|
||||||
#ifdef CONFIG_SRIO_PCIE_BOOT_SLAVE
|
#ifdef CONFIG_SRIO_PCIE_BOOT_SLAVE
|
||||||
/* Set 1M boot space */
|
/* Set 1M boot space */
|
||||||
@ -85,11 +149,7 @@
|
|||||||
#define CONFIG_MEM_INIT_VALUE 0xdeadbeef
|
#define CONFIG_MEM_INIT_VALUE 0xdeadbeef
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_SYS_NO_FLASH
|
#ifndef CONFIG_SYS_NO_FLASH
|
||||||
#if !defined(CONFIG_SRIO_PCIE_BOOT_SLAVE) && !defined(CONFIG_RAMBOOT_PBL)
|
|
||||||
#define CONFIG_ENV_IS_NOWHERE
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
#define CONFIG_FLASH_CFI_DRIVER
|
#define CONFIG_FLASH_CFI_DRIVER
|
||||||
#define CONFIG_SYS_FLASH_CFI
|
#define CONFIG_SYS_FLASH_CFI
|
||||||
#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
|
#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
|
||||||
@ -110,12 +170,12 @@
|
|||||||
#define CONFIG_ENV_IS_IN_MMC
|
#define CONFIG_ENV_IS_IN_MMC
|
||||||
#define CONFIG_SYS_MMC_ENV_DEV 0
|
#define CONFIG_SYS_MMC_ENV_DEV 0
|
||||||
#define CONFIG_ENV_SIZE 0x2000
|
#define CONFIG_ENV_SIZE 0x2000
|
||||||
#define CONFIG_ENV_OFFSET (512 * 1658)
|
#define CONFIG_ENV_OFFSET (512 * 0x800)
|
||||||
#elif defined(CONFIG_NAND)
|
#elif defined(CONFIG_NAND)
|
||||||
#define CONFIG_SYS_EXTRA_ENV_RELOC
|
#define CONFIG_SYS_EXTRA_ENV_RELOC
|
||||||
#define CONFIG_ENV_IS_IN_NAND
|
#define CONFIG_ENV_IS_IN_NAND
|
||||||
#define CONFIG_ENV_SIZE CONFIG_SYS_NAND_BLOCK_SIZE
|
#define CONFIG_ENV_SIZE 0x2000
|
||||||
#define CONFIG_ENV_OFFSET (7 * CONFIG_SYS_NAND_BLOCK_SIZE)
|
#define CONFIG_ENV_OFFSET (10 * CONFIG_SYS_NAND_BLOCK_SIZE)
|
||||||
#elif defined(CONFIG_SRIO_PCIE_BOOT_SLAVE)
|
#elif defined(CONFIG_SRIO_PCIE_BOOT_SLAVE)
|
||||||
#define CONFIG_ENV_IS_IN_REMOTE
|
#define CONFIG_ENV_IS_IN_REMOTE
|
||||||
#define CONFIG_ENV_ADDR 0xffe20000
|
#define CONFIG_ENV_ADDR 0xffe20000
|
||||||
@ -140,7 +200,16 @@ unsigned long get_board_ddr_clk(void);
|
|||||||
/*
|
/*
|
||||||
* Config the L3 Cache as L3 SRAM
|
* Config the L3 Cache as L3 SRAM
|
||||||
*/
|
*/
|
||||||
#define CONFIG_SYS_INIT_L3_ADDR CONFIG_RAMBOOT_TEXT_BASE
|
#define CONFIG_SYS_INIT_L3_ADDR 0xFFFC0000
|
||||||
|
#define CONFIG_SYS_L3_SIZE (512 << 10)
|
||||||
|
#define CONFIG_SPL_GD_ADDR (CONFIG_SYS_INIT_L3_ADDR + 32 * 1024)
|
||||||
|
#ifdef CONFIG_RAMBOOT_PBL
|
||||||
|
#define CONFIG_ENV_ADDR (CONFIG_SPL_GD_ADDR + 4 * 1024)
|
||||||
|
#endif
|
||||||
|
#define CONFIG_SPL_RELOC_MALLOC_ADDR (CONFIG_SPL_GD_ADDR + 12 * 1024)
|
||||||
|
#define CONFIG_SPL_RELOC_MALLOC_SIZE (50 << 10)
|
||||||
|
#define CONFIG_SPL_RELOC_STACK (CONFIG_SPL_GD_ADDR + 64 * 1024)
|
||||||
|
#define CONFIG_SPL_RELOC_STACK_SIZE (22 << 10)
|
||||||
|
|
||||||
#define CONFIG_SYS_DCSRBAR 0xf0000000
|
#define CONFIG_SYS_DCSRBAR 0xf0000000
|
||||||
#define CONFIG_SYS_DCSRBAR_PHYS 0xf00000000ull
|
#define CONFIG_SYS_DCSRBAR_PHYS 0xf00000000ull
|
||||||
@ -345,7 +414,12 @@ unsigned long get_board_ddr_clk(void);
|
|||||||
#define CONFIG_SYS_RAMBOOT
|
#define CONFIG_SYS_RAMBOOT
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
|
#ifdef CONFIG_SPL_BUILD
|
||||||
|
#define CONFIG_SYS_MONITOR_BASE CONFIG_SPL_TEXT_BASE
|
||||||
|
#else
|
||||||
|
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */
|
||||||
|
#endif
|
||||||
|
|
||||||
#define CONFIG_BOARD_EARLY_INIT_R /* call board_early_init_r function */
|
#define CONFIG_BOARD_EARLY_INIT_R /* call board_early_init_r function */
|
||||||
#define CONFIG_MISC_INIT_R
|
#define CONFIG_MISC_INIT_R
|
||||||
#define CONFIG_HWCONFIG
|
#define CONFIG_HWCONFIG
|
||||||
@ -461,15 +535,14 @@ unsigned long get_board_ddr_clk(void);
|
|||||||
*/
|
*/
|
||||||
#ifdef CONFIG_SPI_FLASH
|
#ifdef CONFIG_SPI_FLASH
|
||||||
#define CONFIG_FSL_ESPI
|
#define CONFIG_FSL_ESPI
|
||||||
#define CONFIG_SPI_FLASH_SST
|
|
||||||
#define CONFIG_SPI_FLASH_STMICRO
|
#define CONFIG_SPI_FLASH_STMICRO
|
||||||
#if defined(CONFIG_T2080QDS)
|
#if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_RAMBOOT_PBL)
|
||||||
#define CONFIG_SPI_FLASH_SPANSION
|
#define CONFIG_SPI_FLASH_SST
|
||||||
#elif defined(CONFIG_T2081QDS)
|
|
||||||
#define CONFIG_SPI_FLASH_EON
|
#define CONFIG_SPI_FLASH_EON
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CONFIG_CMD_SF
|
#define CONFIG_CMD_SF
|
||||||
|
#define CONFIG_SPI_FLASH_BAR
|
||||||
#define CONFIG_SF_DEFAULT_SPEED 10000000
|
#define CONFIG_SF_DEFAULT_SPEED 10000000
|
||||||
#define CONFIG_SF_DEFAULT_MODE 0
|
#define CONFIG_SF_DEFAULT_MODE 0
|
||||||
#endif
|
#endif
|
||||||
@ -564,14 +637,14 @@ unsigned long get_board_ddr_clk(void);
|
|||||||
#elif defined(CONFIG_SDCARD)
|
#elif defined(CONFIG_SDCARD)
|
||||||
/*
|
/*
|
||||||
* PBL SD boot image should stored at 0x1000(8 blocks), the size of the image is
|
* PBL SD boot image should stored at 0x1000(8 blocks), the size of the image is
|
||||||
* about 825KB (1650 blocks), Env is stored after the image, and the env size is
|
* about 1MB (2048 blocks), Env is stored after the image, and the env size is
|
||||||
* 0x2000 (16 blocks), 8 + 1650 + 16 = 1674, enlarge it to 1680.
|
* 0x2000 (16 blocks), 8 + 2048 + 16 = 2072, enlarge it to 2080.
|
||||||
*/
|
*/
|
||||||
#define CONFIG_SYS_QE_FMAN_FW_IN_MMC
|
#define CONFIG_SYS_QE_FMAN_FW_IN_MMC
|
||||||
#define CONFIG_SYS_FMAN_FW_ADDR (512 * 1680)
|
#define CONFIG_SYS_FMAN_FW_ADDR (512 * 0x820)
|
||||||
#elif defined(CONFIG_NAND)
|
#elif defined(CONFIG_NAND)
|
||||||
#define CONFIG_SYS_QE_FMAN_FW_IN_NAND
|
#define CONFIG_SYS_QE_FMAN_FW_IN_NAND
|
||||||
#define CONFIG_SYS_FMAN_FW_ADDR (8 * CONFIG_SYS_NAND_BLOCK_SIZE)
|
#define CONFIG_SYS_FMAN_FW_ADDR (11 * CONFIG_SYS_NAND_BLOCK_SIZE)
|
||||||
#elif defined(CONFIG_SRIO_PCIE_BOOT_SLAVE)
|
#elif defined(CONFIG_SRIO_PCIE_BOOT_SLAVE)
|
||||||
/*
|
/*
|
||||||
* Slave has no ucode locally, it can fetch this from remote. When implementing
|
* Slave has no ucode locally, it can fetch this from remote. When implementing
|
||||||
|
Loading…
Reference in New Issue
Block a user