diff options
| -rw-r--r-- | MAINTAINERS | 4 | ||||
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | arch/arm/cpu/armv7/Makefile | 2 | ||||
| -rw-r--r-- | arch/arm/cpu/armv7/omap-common/Makefile | 2 | ||||
| -rw-r--r-- | board/ti/ti814x/Makefile | 46 | ||||
| -rw-r--r-- | board/ti/ti814x/evm.c | 198 | ||||
| -rw-r--r-- | board/ti/ti814x/evm.h | 7 | ||||
| -rw-r--r-- | board/ti/ti814x/mux.c | 51 | ||||
| -rw-r--r-- | boards.cfg | 1 | ||||
| -rw-r--r-- | include/configs/ti814x_evm.h | 221 | ||||
| -rw-r--r-- | spl/Makefile | 2 | 
11 files changed, 532 insertions, 4 deletions
| diff --git a/MAINTAINERS b/MAINTAINERS index d031c3a9d..09430ba4a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -833,6 +833,10 @@ Stelian Pop <stelian@popies.net>  	at91sam9263ek	ARM926EJS (AT91SAM9263 SoC)  	at91sam9rlek	ARM926EJS (AT91SAM9RL SoC) +Matt Porter <mporter@ti.com> + +	ti814x_evm	ARM ARMV7 (TI814x Soc) +  Dave Purdy <david.c.purdy@gmail.com>  	pogo_e02	ARM926EJS (Kirkwood SoC) @@ -331,7 +331,7 @@ LIBS-y += api/libapi.o  LIBS-y += post/libpost.o  LIBS-y += test/libtest.o -ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP34XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX),) +ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP34XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TI814X),)  LIBS-y += $(CPUDIR)/omap-common/libomap-common.o  endif diff --git a/arch/arm/cpu/armv7/Makefile b/arch/arm/cpu/armv7/Makefile index 4668b3cf2..7a8c2d0e5 100644 --- a/arch/arm/cpu/armv7/Makefile +++ b/arch/arm/cpu/armv7/Makefile @@ -32,7 +32,7 @@ COBJS	+= cache_v7.o  COBJS	+= cpu.o  COBJS	+= syslib.o -ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TEGRA)$(CONFIG_MX6),) +ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TEGRA)$(CONFIG_MX6)$(CONFIG_TI814X),)  SOBJS	+= lowlevel_init.o  endif diff --git a/arch/arm/cpu/armv7/omap-common/Makefile b/arch/arm/cpu/armv7/omap-common/Makefile index 0efc80dde..55e82ba36 100644 --- a/arch/arm/cpu/armv7/omap-common/Makefile +++ b/arch/arm/cpu/armv7/omap-common/Makefile @@ -36,7 +36,7 @@ COBJS	+= emif-common.o  COBJS	+= vc.o  endif -ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX),) +ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TI814X),)  COBJS	+= boot-common.o  SOBJS	+= lowlevel_init.o  endif diff --git a/board/ti/ti814x/Makefile b/board/ti/ti814x/Makefile new file mode 100644 index 000000000..09d24222f --- /dev/null +++ b/board/ti/ti814x/Makefile @@ -0,0 +1,46 @@ +# +# Makefile +# +# Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/ +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed "as is" WITHOUT ANY WARRANTY of any +# kind, whether express or implied; without even the implied warranty +# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# + +include $(TOPDIR)/config.mk + +LIB	= $(obj)lib$(BOARD).o + +ifdef CONFIG_SPL_BUILD +COBJS	:= mux.o +endif + +COBJS	+= evm.o +SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c) +OBJS	:= $(addprefix $(obj),$(COBJS)) +SOBJS	:= $(addprefix $(obj),$(SOBJS)) + +$(LIB):	$(obj).depend $(OBJS) $(SOBJS) +	$(call cmd_link_o_target, $(OBJS) $(SOBJS)) + +clean: +	rm -f $(SOBJS) $(OBJS) + +distclean:	clean +	rm -f $(LIB) core *.bak $(obj).depend + +######################################################################### + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +######################################################################### diff --git a/board/ti/ti814x/evm.c b/board/ti/ti814x/evm.c new file mode 100644 index 000000000..446e36b84 --- /dev/null +++ b/board/ti/ti814x/evm.c @@ -0,0 +1,198 @@ +/* + * evm.c + * + * Board functions for TI814x EVM + * + * Copyright (C) 2011, Texas Instruments, Incorporated - http://www.ti.com/ + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR /PURPOSE.  See the + * GNU General Public License for more details. + */ + +#include <common.h> +#include <errno.h> +#include <spl.h> +#include <asm/arch/cpu.h> +#include <asm/arch/hardware.h> +#include <asm/arch/omap.h> +#include <asm/arch/ddr_defs.h> +#include <asm/arch/clock.h> +#include <asm/arch/gpio.h> +#include <asm/arch/mmc_host_def.h> +#include <asm/arch/sys_proto.h> +#include <asm/io.h> +#include <asm/emif.h> +#include <asm/gpio.h> +#include "evm.h" + +DECLARE_GLOBAL_DATA_PTR; + +#ifdef CONFIG_SPL_BUILD +static struct wd_timer *wdtimer = (struct wd_timer *)WDT_BASE; +static struct uart_sys *uart_base = (struct uart_sys *)DEFAULT_UART_BASE; +#endif + +/* UART Defines */ +#ifdef CONFIG_SPL_BUILD +#define UART_RESET		(0x1 << 1) +#define UART_CLK_RUNNING_MASK	0x1 +#define UART_SMART_IDLE_EN	(0x1 << 0x3) + +static void rtc32k_enable(void) +{ +	struct rtc_regs *rtc = (struct rtc_regs *)RTC_BASE; + +	/* +	 * Unlock the RTC's registers.  For more details please see the +	 * RTC_SS section of the TRM.  In order to unlock we need to +	 * write these specific values (keys) in this order. +	 */ +	writel(0x83e70b13, &rtc->kick0r); +	writel(0x95a4f1e0, &rtc->kick1r); + +	/* Enable the RTC 32K OSC by setting bits 3 and 6. */ +	writel((1 << 3) | (1 << 6), &rtc->osc); +} + +static void uart_enable(void) +{ +	u32 regVal; + +	/* UART softreset */ +	regVal = readl(&uart_base->uartsyscfg); +	regVal |= UART_RESET; +	writel(regVal, &uart_base->uartsyscfg); +	while ((readl(&uart_base->uartsyssts) & +		UART_CLK_RUNNING_MASK) != UART_CLK_RUNNING_MASK) +		; + +	/* Disable smart idle */ +	regVal = readl(&uart_base->uartsyscfg); +	regVal |= UART_SMART_IDLE_EN; +	writel(regVal, &uart_base->uartsyscfg); +} + +static void wdt_disable(void) +{ +	writel(0xAAAA, &wdtimer->wdtwspr); +	while (readl(&wdtimer->wdtwwps) != 0x0) +		; +	writel(0x5555, &wdtimer->wdtwspr); +	while (readl(&wdtimer->wdtwwps) != 0x0) +		; +} + +static const struct cmd_control evm_ddr2_cctrl_data = { +	.cmd0csratio	= 0x80, +	.cmd0dldiff	= 0x04, +	.cmd0iclkout	= 0x00, + +	.cmd1csratio	= 0x80, +	.cmd1dldiff	= 0x04, +	.cmd1iclkout	= 0x00, + +	.cmd2csratio	= 0x80, +	.cmd2dldiff	= 0x04, +	.cmd2iclkout	= 0x00, +}; + +static const struct emif_regs evm_ddr2_emif0_regs = { +	.sdram_config			= 0x40801ab2, +	.ref_ctrl			= 0x10000c30, +	.sdram_tim1			= 0x0aaaf552, +	.sdram_tim2			= 0x043631d2, +	.sdram_tim3			= 0x00000327, +	.emif_ddr_phy_ctlr_1		= 0x00000007 +}; + +static const struct emif_regs evm_ddr2_emif1_regs = { +	.sdram_config			= 0x40801ab2, +	.ref_ctrl			= 0x10000c30, +	.sdram_tim1			= 0x0aaaf552, +	.sdram_tim2			= 0x043631d2, +	.sdram_tim3			= 0x00000327, +	.emif_ddr_phy_ctlr_1		= 0x00000007 +}; + +const struct dmm_lisa_map_regs evm_lisa_map_regs = { +	.dmm_lisa_map_0			= 0x00000000, +	.dmm_lisa_map_1			= 0x00000000, +	.dmm_lisa_map_2			= 0x806c0300, +	.dmm_lisa_map_3			= 0x806c0300, +}; + +static const struct ddr_data evm_ddr2_data = { +	.datardsratio0		= ((0x35<<10) | (0x35<<0)), +	.datawdsratio0		= ((0x20<<10) | (0x20<<0)), +	.datawiratio0		= ((0<<10) | (0<<0)), +	.datagiratio0		= ((0<<10) | (0<<0)), +	.datafwsratio0		= ((0x90<<10) | (0x90<<0)), +	.datawrsratio0		= ((0x50<<10) | (0x50<<0)), +	.datauserank0delay	= 1, +	.datadldiff0		= 0x4, +}; +#endif + +/* + * early system init of muxing and clocks. + */ +void s_init(void) +{ +#ifdef CONFIG_SPL_BUILD +	/* WDT1 is already running when the bootloader gets control +	 * Disable it to avoid "random" resets +	 */ +	wdt_disable(); + +	/* Setup the PLLs and the clocks for the peripherals */ +	pll_init(); + +	/* Enable RTC32K clock */ +	rtc32k_enable(); + +	/* Set UART pins */ +	enable_uart0_pin_mux(); + +	/* Set MMC pins */ +	enable_mmc1_pin_mux(); + +	/* Enable UART */ +	uart_enable(); + +	gd = &gdata; + +	preloader_console_init(); + +	config_dmm(&evm_lisa_map_regs); + +	config_ddr(0, 0, &evm_ddr2_data, &evm_ddr2_cctrl_data, +		   &evm_ddr2_emif0_regs, 0); +	config_ddr(0, 0, &evm_ddr2_data, &evm_ddr2_cctrl_data, +		   &evm_ddr2_emif1_regs, 1); +#endif +} + +/* + * Basic board specific setup.  Pinmux has been handled already. + */ +int board_init(void) +{ +	gd->bd->bi_boot_params = PHYS_DRAM_1 + 0x100; +	return 0; +} + +#if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_GENERIC_MMC) +int board_mmc_init(bd_t *bis) +{ +	omap_mmc_init(1, 0, 0, -1, -1); + +	return 0; +} +#endif diff --git a/board/ti/ti814x/evm.h b/board/ti/ti814x/evm.h new file mode 100644 index 000000000..40f8710c8 --- /dev/null +++ b/board/ti/ti814x/evm.h @@ -0,0 +1,7 @@ +#ifndef _EVM_H +#define _EVM_H + +void enable_uart0_pin_mux(void); +void enable_mmc1_pin_mux(void); + +#endif /* _EVM_H */ diff --git a/board/ti/ti814x/mux.c b/board/ti/ti814x/mux.c new file mode 100644 index 000000000..137acb452 --- /dev/null +++ b/board/ti/ti814x/mux.c @@ -0,0 +1,51 @@ +/* + * mux.c + * + * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation version 2. + * + * This program is distributed "as is" WITHOUT ANY WARRANTY of any + * kind, whether express or implied; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include <common.h> +#include <asm/arch/sys_proto.h> +#include <asm/arch/hardware.h> +#include <asm/arch/mux.h> +#include <asm/io.h> +#include <i2c.h> +#include "evm.h" + +static struct module_pin_mux uart0_pin_mux[] = { +	{OFFSET(pincntl70), PULLUP_EN | MODE(0x01)},	/* UART0_RXD */ +	{OFFSET(pincntl71), PULLUP_EN | MODE(0x01)},	/* UART0_TXD */ +	{-1}, +}; + +static struct module_pin_mux mmc1_pin_mux[] = { +	{OFFSET(pincntl1), PULLUP_EN | MODE(0x01)},	/* SD1_CLK */ +	{OFFSET(pincntl2), PULLUP_EN | MODE(0x01)},	/* SD1_CMD */ +	{OFFSET(pincntl3), PULLUP_EN | MODE(0x01)},	/* SD1_DAT[0] */ +	{OFFSET(pincntl4), PULLUP_EN | MODE(0x01)},	/* SD1_DAT[1] */ +	{OFFSET(pincntl5), PULLUP_EN | MODE(0x01)},	/* SD1_DAT[2] */ +	{OFFSET(pincntl6), PULLUP_EN | MODE(0x01)},	/* SD1_DAT[3] */ +	{OFFSET(pincntl74), PULLUP_EN | MODE(0x40)},	/* SD1_POW */ +	{OFFSET(pincntl75), MODE(0x40)},		/* SD1_SDWP */ +	{OFFSET(pincntl80), PULLUP_EN | MODE(0x02)},	/* SD1_SDCD */ +	{-1}, +}; + +void enable_uart0_pin_mux(void) +{ +	configure_module_pin_mux(uart0_pin_mux); +} + +void enable_mmc1_pin_mux(void) +{ +	configure_module_pin_mux(mmc1_pin_mux); +} diff --git a/boards.cfg b/boards.cfg index ee68fdda8..718a5d6f4 100644 --- a/boards.cfg +++ b/boards.cfg @@ -241,6 +241,7 @@ am335x_evm_uart3             arm         armv7       am335x              ti  am335x_evm_uart4             arm         armv7       am335x              ti             am33xx      am335x_evm:SERIAL5,CONS_INDEX=5  am335x_evm_uart5             arm         armv7       am335x              ti             am33xx      am335x_evm:SERIAL6,CONS_INDEX=6  am335x_evm_usbspl            arm         armv7       am335x              ti             am33xx      am335x_evm:SERIAL1,CONS_INDEX=1,SPL_USBETH_SUPPORT +ti814x_evm                   arm         armv7       ti814x              ti             am33xx  pcm051                       arm         armv7       pcm051              phytec         am33xx      pcm051  highbank                     arm         armv7       highbank            -              highbank  mx51_efikamx                 arm         armv7       mx51_efikamx        genesi         mx5		mx51_efikamx:MACH_TYPE=MACH_TYPE_MX51_EFIKAMX,IMX_CONFIG=board/genesi/mx51_efikamx/imximage_mx.cfg diff --git a/include/configs/ti814x_evm.h b/include/configs/ti814x_evm.h new file mode 100644 index 000000000..16547e331 --- /dev/null +++ b/include/configs/ti814x_evm.h @@ -0,0 +1,221 @@ +/* + * ti814x_evm.h + * + * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/ + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation version 2. + * + * This program is distributed "as is" WITHOUT ANY WARRANTY of any + * kind, whether express or implied; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + * GNU General Public License for more details. + */ + +#ifndef __CONFIG_TI814X_EVM_H +#define __CONFIG_TI814X_EVM_H + +#define CONFIG_TI81XX +#define CONFIG_TI814X +#define CONFIG_SYS_NO_FLASH + +#include <asm/arch/omap.h> + +#define CONFIG_DMA_COHERENT +#define CONFIG_DMA_COHERENT_SIZE	(1 << 20) + +#define CONFIG_ENV_SIZE			(128 << 10)	/* 128 KiB */ +#define CONFIG_SYS_MALLOC_LEN		(1024 << 10) +#define CONFIG_SYS_LONGHELP		/* undef to save memory */ +#define CONFIG_SYS_HUSH_PARSER		/* Use HUSH for command parsing */ +#define CONFIG_SYS_PROMPT		"U-Boot# " +#define CONFIG_SYS_NO_FLASH +#define CONFIG_MACH_TYPE		MACH_TYPE_TI8148EVM + +#define CONFIG_OF_LIBFDT +#define CONFIG_CMDLINE_TAG		/* enable passing of ATAGs  */ +#define CONFIG_SETUP_MEMORY_TAGS +#define CONFIG_INITRD_TAG		/* for ramdisk support */ + +/* commands to include */ +# include <config_cmd_default.h> + +#define CONFIG_CMD_ASKENV +#define CONFIG_VERSION_VARIABLE + +#define CONFIG_BOOTDELAY		1	/* negative for no autoboot */ +#define CONFIG_ENV_VARS_UBOOT_CONFIG +#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG +#define CONFIG_EXTRA_ENV_SETTINGS \ +	"loadaddr=0x80200000\0" \ +	"fdtaddr=0x80F80000\0" \ +	"rdaddr=0x81000000\0" \ +	"bootfile=/boot/uImage\0" \ +	"fdtfile=\0" \ +	"console=ttyO0,115200n8\0" \ +	"optargs=\0" \ +	"mmcdev=0\0" \ +	"mmcroot=/dev/mmcblk0p2 ro\0" \ +	"mmcrootfstype=ext4 rootwait\0" \ +	"ramroot=/dev/ram0 rw ramdisk_size=65536 initrd=${rdaddr},64M\0" \ +	"ramrootfstype=ext2\0" \ +	"mmcargs=setenv bootargs console=${console} " \ +		"${optargs} " \ +		"root=${mmcroot} " \ +		"rootfstype=${mmcrootfstype}\0" \ +	"bootenv=uEnv.txt\0" \ +	"loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \ +	"importbootenv=echo Importing environment from mmc ...; " \ +		"env import -t $loadaddr $filesize\0" \ +	"ramargs=setenv bootargs console=${console} " \ +		"${optargs} " \ +		"root=${ramroot} " \ +		"rootfstype=${ramrootfstype}\0" \ +	"loadramdisk=fatload mmc ${mmcdev} ${rdaddr} ramdisk.gz\0" \ +	"loaduimagefat=fatload mmc ${mmcdev} ${loadaddr} ${bootfile}\0" \ +	"loaduimage=ext2load mmc ${mmcdev}:2 ${loadaddr} ${bootfile}\0" \ +	"mmcboot=echo Booting from mmc ...; " \ +		"run mmcargs; " \ +		"bootm ${loadaddr}\0" \ +	"ramboot=echo Booting from ramdisk ...; " \ +		"run ramargs; " \ +		"bootm ${loadaddr}\0" \ +	"fdtfile=ti814x-evm.dtb\0" \ + +#define CONFIG_BOOTCOMMAND \ +	"mmc dev ${mmcdev}; if mmc rescan; then " \ +		"echo SD/MMC found on device ${mmcdev};" \ +		"if run loadbootenv; then " \ +			"echo Loaded environment from ${bootenv};" \ +			"run importbootenv;" \ +		"fi;" \ +		"if test -n $uenvcmd; then " \ +			"echo Running uenvcmd ...;" \ +			"run uenvcmd;" \ +		"fi;" \ +		"if run loaduimage; then " \ +			"run mmcboot;" \ +		"fi;" \ +	"fi;" \ + +/* Clock Defines */ +#define V_OSCK			24000000	/* Clock output from T2 */ +#define V_SCLK			(V_OSCK >> 1) + +#define CONFIG_CMD_ECHO + +/* max number of command args */ +#define CONFIG_SYS_MAXARGS		16 + +/* Console I/O Buffer Size */ +#define CONFIG_SYS_CBSIZE		512 + +/* Print Buffer Size */ +#define CONFIG_SYS_PBSIZE		(CONFIG_SYS_CBSIZE \ +					+ sizeof(CONFIG_SYS_PROMPT) + 16) + +/* Boot Argument Buffer Size */ +#define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE + +#define CONFIG_SYS_MEMTEST_START	PHYS_DRAM_1 +#define CONFIG_SYS_MEMTEST_END		(CONFIG_SYS_MEMTEST_START \ +					+ PHYS_DRAM_1_SIZE - (8 << 12)) + +#define CONFIG_SYS_LOAD_ADDR		0x81000000	/* Default */ +#define CONFIG_SYS_HZ			1000		/* 1ms clock */ + +#define CONFIG_OMAP_GPIO +#define CONFIG_MMC +#define CONFIG_GENERIC_MMC +#define CONFIG_OMAP_HSMMC +#define CONFIG_CMD_MMC +#define CONFIG_DOS_PARTITION +#define CONFIG_CMD_FAT +#define CONFIG_CMD_EXT2 + +/** + * Physical Memory Map + */ +#define CONFIG_NR_DRAM_BANKS		1		/* 1 banks of DRAM */ +#define PHYS_DRAM_1			0x80000000	/* DRAM Bank #1 */ +#define PHYS_DRAM_1_SIZE		0x20000000	/* 512MB */ +#define CONFIG_MAX_RAM_BANK_SIZE	(1024 << 20)	/* 1024MB */ + +#define CONFIG_SYS_SDRAM_BASE		PHYS_DRAM_1 +#define CONFIG_SYS_INIT_SP_ADDR		(NON_SECURE_SRAM_END - \ +					 GENERATED_GBL_DATA_SIZE) + +/** + * Platform/Board specific defs + */ +#define CONFIG_SYS_TIMERBASE		0x4802E000 +#define CONFIG_SYS_PTV			2	/* Divisor: 2^(PTV+1) => 8 */ +#define CONFIG_SYS_HZ			1000 + +/* NS16550 Configuration */ +#define CONFIG_SYS_NS16550 +#define CONFIG_SYS_NS16550_SERIAL +#define CONFIG_SYS_NS16550_REG_SIZE	(-4) +#define CONFIG_SYS_NS16550_CLK		(48000000) +#define CONFIG_SYS_NS16550_COM1		0x48020000	/* Base EVM has UART0 */ + +#define CONFIG_BAUDRATE			115200 + +#define CONFIG_ENV_OVERWRITE +#define CONFIG_CONS_INDEX		1 +#define CONFIG_SYS_CONSOLE_INFO_QUIET + +#define CONFIG_ENV_IS_NOWHERE + +/* Defines for SPL */ +#define CONFIG_SPL +#define CONFIG_SPL_FRAMEWORK +#define CONFIG_SPL_TEXT_BASE		0x40300000 +#define CONFIG_SPL_MAX_SIZE		((128 - 18) * 1024) +#define CONFIG_SPL_STACK		CONFIG_SYS_INIT_SP_ADDR + +#define CONFIG_SPL_BSS_START_ADDR	0x80000000 +#define CONFIG_SPL_BSS_MAX_SIZE		0x80000		/* 512 KB */ + +#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300 /* address 0x60000 */ +#define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS      0x200 /* 256 KB */ +#define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION    1 +#define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME        "u-boot.img" +#define CONFIG_SPL_MMC_SUPPORT +#define CONFIG_SPL_FAT_SUPPORT + +#define CONFIG_SPL_LIBCOMMON_SUPPORT +#define CONFIG_SPL_LIBDISK_SUPPORT +#define CONFIG_SPL_LIBGENERIC_SUPPORT +#define CONFIG_SPL_SERIAL_SUPPORT +#define CONFIG_SPL_GPIO_SUPPORT +#define CONFIG_SPL_YMODEM_SUPPORT +#define CONFIG_SYS_SPI_U_BOOT_OFFS	0x20000 +#define CONFIG_SYS_SPI_U_BOOT_SIZE	0x40000 +#define CONFIG_SPL_LDSCRIPT		"$(CPUDIR)/omap-common/u-boot-spl.lds" + +#define CONFIG_SPL_BOARD_INIT + +/* + * 1MB into the SDRAM to allow for SPL's bss at the beginning of SDRAM + * 64 bytes before this address should be set aside for u-boot.img's + * header. That is 0x800FFFC0--0x80800000 should not be used for any + * other needs. + */ +#define CONFIG_SYS_TEXT_BASE		0x80800000 +#define CONFIG_SYS_SPL_MALLOC_START	0x80208000 +#define CONFIG_SYS_SPL_MALLOC_SIZE	0x100000 + +/* + * Since SPL did pll and ddr initialization for us, + * we don't need to do it twice. + */ +#ifndef CONFIG_SPL_BUILD +#define CONFIG_SKIP_LOWLEVEL_INIT +#endif + +/* Unsupported features */ +#undef CONFIG_USE_IRQ + +#endif	/* ! __CONFIG_TI814X_EVM_H */ diff --git a/spl/Makefile b/spl/Makefile index 14095c8df..b5a8de783 100644 --- a/spl/Makefile +++ b/spl/Makefile @@ -84,7 +84,7 @@ LIBS-$(CONFIG_SPL_ETH_SUPPORT) += drivers/net/phy/libphy.o  LIBS-$(CONFIG_SPL_MUSB_NEW_SUPPORT) += drivers/usb/musb-new/libusb_musb-new.o  LIBS-$(CONFIG_SPL_USBETH_SUPPORT) += drivers/usb/gadget/libusb_gadget.o -ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP34XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX),) +ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP34XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TI814X),)  LIBS-y += $(CPUDIR)/omap-common/libomap-common.o  endif |