Dear Chander Kashyap, Sorry to late review.
On 21 April 2011 16:02, Chander Kashyap <chander.kash...@linaro.org> wrote: > Added MMC SPL boot support for SMDKV310. This framework design is > based on nand_spl support. > > Signed-off-by: Chander Kashyap <chander.kash...@linaro.org> > --- > Makefile | 9 ++ > spl/board/samsung/smdkv310/Makefile | 103 > +++++++++++++++++++++++ > spl/board/samsung/smdkv310/mmc_boot.c | 82 ++++++++++++++++++ > spl/board/samsung/smdkv310/tools/mkv310_image.c | 103 > +++++++++++++++++++++++ > spl/board/samsung/smdkv310/u-boot.lds | 86 +++++++++++++++++++ > 5 files changed, 383 insertions(+), 0 deletions(-) > create mode 100644 spl/board/samsung/smdkv310/Makefile > create mode 100644 spl/board/samsung/smdkv310/mmc_boot.c > create mode 100644 spl/board/samsung/smdkv310/tools/mkv310_image.c > create mode 100644 spl/board/samsung/smdkv310/u-boot.lds > > diff --git a/Makefile b/Makefile > index 713dba1..a298221 100644 > --- a/Makefile > +++ b/Makefile > @@ -321,6 +321,10 @@ ALL += $(obj)u-boot-onenand.bin > ONENAND_BIN ?= $(obj)onenand_ipl/onenand-ipl-2k.bin > endif > > +ifeq ($(CONFIG_MMC_U_BOOT),y) > +ALL += $(obj)spl/v310_mmc_spl.bin NAK. This naming is SoC specific. And binary is should be located in root directory, I think.. e.g) ALL += $(obj)u-boot-mmc.bin > +endif > + > all: $(ALL) > > $(obj)u-boot.hex: $(obj)u-boot > @@ -412,6 +416,11 @@ onenand_ipl: $(TIMESTAMP_FILE) $(VERSION_FILE) > $(obj)include/autoconf.mk > $(obj)u-boot-onenand.bin: onenand_ipl $(obj)u-boot.bin > cat $(ONENAND_BIN) $(obj)u-boot.bin > $(obj)u-boot-onenand.bin > > +spl: $(TIMESTAMP_FILE) $(VERSION_FILE) depend mmc_spl is better. > + $(MAKE) -C spl/board/$(BOARDDIR) all > + > +$(obj)spl/v310_mmc_spl.bin: spl > + > $(VERSION_FILE): > @( localvers='$(shell $(TOPDIR)/tools/setlocalversion > $(TOPDIR))' ; \ > printf '#define PLAIN_VERSION "%s%s"\n' \ And you missed clean and clobber sections. > diff --git a/spl/board/samsung/smdkv310/Makefile > b/spl/board/samsung/smdkv310/Makefile > new file mode 100644 > index 0000000..fdede6b > --- /dev/null > +++ b/spl/board/samsung/smdkv310/Makefile > @@ -0,0 +1,103 @@ > +# > +# (C) Copyright 2006-2007 > +# Stefan Roese, DENX Software Engineering, s...@denx.de. > +# > +# (C) Copyright 2008 > +# Guennadi Liakhovetki, DENX Software Engineering, <l...@denx.de> > +# > +# (C) Copyright 2011 > +# Chander Kashyap, Samsung Electronics, <k.chan...@samsung.com> > +# > +# See file CREDITS for list of people who contributed to this > +# project. > +# > +# 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. > +# > +# You should have received a copy of the GNU General Public License > +# along with this program; if not, write to the Free Software > +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, > +# MA 02111-1307 USA > +# > + > +CONFIG_MMC_SPL = y > + > +include $(TOPDIR)/config.mk > + > +LDSCRIPT= $(TOPDIR)/spl/board/$(BOARDDIR)/u-boot.lds > +LDFLAGS = -Bstatic -T $(mmcobj)u-boot.lds -Ttext > $(CONFIG_SYS_TEXT_BASE) $(PLATFORM_LDFLAGS) > +AFLAGS += -DCONFIG_MMC_SPL > +CFLAGS += -DCONFIG_MMC_SPL Please add -DCONFIG_PRELOADER also. > + > +SOBJS = start.o mem_setup.o lowlevel_init.o > +COBJS = mmc_boot.o > + > +SRCS := $(addprefix $(obj),$(SOBJS:.o=.S) $(COBJS:.o=.c)) > +OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS)) > +__OBJS := $(SOBJS) $(COBJS) > +LNDIR := $(OBJTREE)/spl/board/$(BOARDDIR) > + > +mmcobj := $(OBJTREE)/spl/ > + > + > +MKBIN_V310_MMC_SPL_BIN = mkv310_mmc_spl_bin > +MMC_SPL_BIN = v310_mmc_spl.bin > + > +ALL = $(mmcobj)u-boot-spl $(mmcobj)u-boot-spl.bin $(mmcobj)$(MMC_SPL_BIN) > + > +all: $(obj).depend $(ALL) > + > +$(mmcobj)$(MMC_SPL_BIN): $(mmcobj)u-boot-spl.bin > tools/$(MKBIN_V310_MMC_SPL_BIN) > + ./tools/$(MKBIN_V310_MMC_SPL_BIN) $(mmcobj)u-boot-spl.bin > $(mmcobj)$(MMC_SPL_BIN) > + > +tools/$(MKBIN_V310_MMC_SPL_BIN): tools/mkv310_image.c > + $(HOSTCC) tools/mkv310_image.c -o tools/$(MKBIN_V310_MMC_SPL_BIN) > + > +$(mmcobj)u-boot-spl.bin: $(mmcobj)u-boot-spl > + $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@ > + > +$(mmcobj)u-boot-spl: $(OBJS) $(mmcobj)u-boot.lds > + cd $(LNDIR) && $(LD) $(LDFLAGS) $(__OBJS) \ > + -Map $(mmcobj)u-boot-spl.map \ > + -o $(mmcobj)u-boot-spl > + > +$(mmcobj)u-boot.lds: $(LDSCRIPT) > + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ > + > +# create symbolic links for common files > + > +# from cpu directory > +$(obj)start.S: > + @rm -f $@ > + @ln -s $(TOPDIR)/arch/arm/cpu/armv7/start.S $@ > + > +# from board directory > +$(obj)mem_setup.S: > + @rm -f $@ > + @ln -s $(TOPDIR)/board/samsung/smdkv310/mem_setup.S $@ > + > +$(obj)lowlevel_init.S: > + @rm -f $@ > + @ln -s $(TOPDIR)/board/samsung/smdkv310/lowlevel_init.S $@ > + > +######################################################################### > + > +$(obj)%.o: $(obj)%.S > + $(CC) $(AFLAGS) -c -o $@ $< > + > +$(obj)%.o: $(obj)%.c > + $(CC) $(CFLAGS) -c -o $@ $< > + > +# defines $(obj).depend target > +include $(SRCTREE)/rules.mk > + > +sinclude $(obj).depend > + > +######################################################################### > diff --git a/spl/board/samsung/smdkv310/mmc_boot.c > b/spl/board/samsung/smdkv310/mmc_boot.c > new file mode 100644 > index 0000000..ebb70cf > --- /dev/null > +++ b/spl/board/samsung/smdkv310/mmc_boot.c > @@ -0,0 +1,82 @@ > +/* > + * Copyright (C) 2011 Samsung Electronics > + * > + * See file CREDITS for list of people who contributed to this > + * project. > + * > + * 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. > + * > + * You should have received a copy of the GNU General Public License > + * along with this program; if not, write to the Free Software > + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, > + * MA 02111-1307 USA > + */ > + > +#include<common.h> > +#include<config.h> > + > +typedef u32(*copy_sd_mmc_to_mem) \ > + (u32 start_block, u32 block_count, u32 *dest_addr); > + > + > +void copy_uboot_to_ram(void) > +{ > + copy_sd_mmc_to_mem copy_bl2 = (copy_sd_mmc_to_mem)(0x00002488); > + copy_bl2(65, BL2_SIZE_BLOC_COUNT, (u32 *)CONFIG_SYS_PHY_UBOOT_BASE); CONFIG_SYS_PHY_UBOOT_BASE -> CONFIG_SYS_TEXT_BASE? > +} > + > +void board_init_f(unsigned long bootflag) > +{ > + __attribute__((noreturn)) void (*uboot)(void); > + copy_uboot_to_ram(); > + > + /* > + * Jump to U-Boot image > + */ please fix this comment > + uboot = (void *)CONFIG_SYS_MMC_UBOOT_START; > + (*uboot)(); > + /* Never returns Here */ > +} > + > +#endif > diff --git a/spl/board/samsung/smdkv310/tools/mkv310_image.c > b/spl/board/samsung/smdkv310/tools/mkv310_image.c > new file mode 100644 > index 0000000..f28583c > --- /dev/null > +++ b/spl/board/samsung/smdkv310/tools/mkv310_image.c Need comment or document for this file. So that people know what is purpose of this file. Thanks Minkyu Kang -- from. prom. www.promsoft.net _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot