On 21:03 Mon 06 Oct , Cristian Birsan wrote: > Added support for the Olimex SAM9-L9260 development board. > This patch is based on u-boot v1.3.4. > > Tested with data flash only (not with NAND). > > Signed-off-by: Cristian Birsan <[EMAIL PROTECTED]> > --- > MAKEALL | 1 + > Makefile | 21 ++-- > board/olimex/sam9l9260/Makefile | 59 ++++++++ > board/olimex/sam9l9260/config.mk | 1 + > board/olimex/sam9l9260/led.c | 64 +++++++++ > board/olimex/sam9l9260/nand.c | 78 +++++++++++ > board/olimex/sam9l9260/partition.c | 39 ++++++ > board/olimex/sam9l9260/sam9l9260.c | 264 > ++++++++++++++++++++++++++++++++++++ > drivers/mtd/nand/nand_ids.c | 2 + > include/configs/sam9l9260.h | 212 +++++++++++++++++++++++++++++ > 10 files changed, 732 insertions(+), 9 deletions(-) > create mode 100644 board/olimex/sam9l9260/Makefile > create mode 100644 board/olimex/sam9l9260/config.mk > create mode 100644 board/olimex/sam9l9260/led.c > create mode 100644 board/olimex/sam9l9260/nand.c > create mode 100644 board/olimex/sam9l9260/partition.c > create mode 100644 board/olimex/sam9l9260/sam9l9260.c > create mode 100644 include/configs/sam9l9260.h > > diff --git a/MAKEALL b/MAKEALL > index 9ccb9ac..0e2cb36 100755 > --- a/MAKEALL > +++ b/MAKEALL > @@ -542,6 +542,7 @@ LIST_at91=" \ > kb9202 \ > mp2usb \ > m501sk \ > + sam9l9260 \ > " > > ######################################################################### > diff --git a/Makefile b/Makefile > index 7c13ce8..5b0acae 100644 > --- a/Makefile > +++ b/Makefile > @@ -2487,15 +2487,6 @@ shannon_config : unconfig > at91rm9200dk_config : unconfig > @$(MKCONFIG) $(@:_config=) arm arm920t at91rm9200dk atmel at91rm9200 > > -at91sam9261ek_config : unconfig > - @$(MKCONFIG) $(@:_config=) arm arm926ejs at91sam9261ek atmel at91 > - > -at91sam9263ek_config : unconfig > - @$(MKCONFIG) $(@:_config=) arm arm926ejs at91sam9263ek atmel at91 > - > -at91sam9rlek_config : unconfig > - @$(MKCONFIG) $(@:_config=) arm arm926ejs at91sam9rlek atmel at91 > - > cmc_pu2_config : unconfig > @$(MKCONFIG) $(@:_config=) arm arm920t cmc_pu2 NULL at91rm9200 > > @@ -2521,6 +2512,18 @@ at91cap9adk_config : unconfig > at91sam9260ek_config : unconfig > @$(MKCONFIG) $(@:_config=) arm arm926ejs at91sam9260ek atmel at91 > > +at91sam9261ek_config : unconfig > + @$(MKCONFIG) $(@:_config=) arm arm926ejs at91sam9261ek atmel at91 > + > +at91sam9263ek_config : unconfig > + @$(MKCONFIG) $(@:_config=) arm arm926ejs at91sam9263ek atmel at91 > + > +at91sam9rlek_config : unconfig > + @$(MKCONFIG) $(@:_config=) arm arm926ejs at91sam9rlek atmel at91 > + > +sam9l9260_config : unconfig > + @$(MKCONFIG) $(@:_config=) arm arm926ejs sam9l9260 olimex at91 > + why do you touch other at91 config? > ######################################################################## > ## ARM Integrator boards - see doc/README-integrator for more info. > integratorap_config \ > diff --git a/board/olimex/sam9l9260/Makefile b/board/olimex/sam9l9260/Makefile > new file mode 100644 > index 0000000..8853b7c > --- /dev/null > +++ b/board/olimex/sam9l9260/Makefile > @@ -0,0 +1,59 @@ > +# > +# (C) Copyright 2003-2008 > +# Wolfgang Denk, DENX Software Engineering, [EMAIL PROTECTED] > +# > +# (C) Copyright 2008 > +# > +# Cristian Birsan <[EMAIL PROTECTED]> based on the work of > +# Stelian Pop <[EMAIL PROTECTED]> > +# Lead Tech Design <www.leadtechdesign.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 > +# > + > +include $(TOPDIR)/config.mk > + > +LIB = $(obj)lib$(BOARD).a > + > +COBJS-y += sam9l9260.o > +COBJS-y += led.o > +COBJS-y += partition.o > +COBJS-$(CONFIG_CMD_NAND) += nand.o > + > +SRCS := $(SOBJS:.o=.S) $(COBJS-y:.o=.c) > +OBJS := $(addprefix $(obj),$(COBJS-y)) > +SOBJS := $(addprefix $(obj),$(SOBJS)) > + > +$(LIB): $(obj).depend $(OBJS) $(SOBJS) > + $(AR) $(ARFLAGS) $@ $(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/olimex/sam9l9260/config.mk > b/board/olimex/sam9l9260/config.mk > new file mode 100644 > + > + return 0; > +} > diff --git a/board/olimex/sam9l9260/partition.c > b/board/olimex/sam9l9260/partition.c > new file mode 100644 > index 0000000..b29c29a > --- /dev/null > +++ b/board/olimex/sam9l9260/partition.c > @@ -0,0 +1,39 @@ > +/* > + * (C) Copyright 2008 > + * Ulf Samuelsson <[EMAIL PROTECTED]> > + * > + * 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> > +#include <asm/hardware.h> > +#include <dataflash.h> > + > +AT91S_DATAFLASH_INFO dataflash_info[CFG_MAX_DATAFLASH_BANKS]; > + > +struct dataflash_addr cs[CFG_MAX_DATAFLASH_BANKS] = { > + {CFG_DATAFLASH_LOGIC_ADDR_CS0, 0}, /* Logical adress, CS */ > + {CFG_DATAFLASH_LOGIC_ADDR_CS1, 1} > +}; > + > +/*define the area offsets*/ > +dataflash_protect_t area_list[NB_DATAFLASH_AREA] = { > + {0x00000000, 0x000041FF, FLAG_PROTECT_SET, 0, "Bootstrap"}, ^^^ whitespace please fix > + {0x00004200, 0x000083FF, FLAG_PROTECT_CLEAR, 0, "Environment"}, > + {0x00008400, 0x00041FFF, FLAG_PROTECT_SET, 0, "U-Boot"}, ^^^ whitespace please fix > + {0x00042000, 0x0020FFFF, FLAG_PROTECT_CLEAR, 0, "Kernel"}, > +}; > diff --git a/board/olimex/sam9l9260/sam9l9260.c > b/board/olimex/sam9l9260/sam9l9260.c > new file mode 100644 > index 0000000..15578d1 > --- /dev/null > +++ b/board/olimex/sam9l9260/sam9l9260.c > @@ -0,0 +1,264 @@ > +/* > + * (C) Copyright 2007-2008 > + * > + * Cristian Birsan <[EMAIL PROTECTED]> based on the work of > + * Stelian Pop <[EMAIL PROTECTED]> > + * Lead Tech Design <www.leadtechdesign.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 > + */ > + > +#include <common.h> > +#include <asm/arch/at91sam9260.h> > +#include <asm/arch/at91sam9260_matrix.h> > +#include <asm/arch/at91sam9_smc.h> > +#include <asm/arch/at91_pmc.h> > +#include <asm/arch/at91_rstc.h> > +#include <asm/arch/gpio.h> > +#include <asm/arch/io.h> > +#include <asm/arch/hardware.h> > +#if defined(CONFIG_RESET_PHY_R) && defined(CONFIG_MACB) > + > + return 0; > +} > + > +int dram_init(void) > +{ > + gd->bd->bi_dram[0].start = PHYS_SDRAM; > + gd->bd->bi_dram[0].size = PHYS_SDRAM_SIZE; > + return 0; > +} > + > +#ifdef CONFIG_RESET_PHY_R > +void reset_phy(void) > +{ > +#ifdef CONFIG_MACB > + /* > + * Initialize ethernet HW addr prior to starting Linux, > + * needed for nfsroot > + */ > + eth_init(gd->bd); > +#endif > +} > +#endif > + > +int board_eth_init(bd_t *bis) > +{ > + int rc = 0; > +#ifdef CONFIG_MACB > + /* The default address for the KS8721BL PHY is 0x01 */ > + rc = macb_eth_initialize(0, (void *)AT91_BASE_EMAC, 0x01); > +#endif > + return rc; > +} > diff --git a/drivers/mtd/nand/nand_ids.c b/drivers/mtd/nand/nand_ids.c > index 2ff75c9..ec2ac55 100644 > --- a/drivers/mtd/nand/nand_ids.c > +++ b/drivers/mtd/nand/nand_ids.c > @@ -69,6 +69,8 @@ struct nand_flash_dev nand_flash_ids[] = { > > {"NAND 256MiB 3,3V 8-bit", 0x71, 512, 256, 0x4000, 0}, > > + {"NAND 512MiB 3,3V 8-bit", 0xDC, 512, 512, 0x4000, 0}, ^^^ whitespace please fix > + > /* > * These are the new chips with large page size. The pagesize and the > * erasesize is determined from the extended id bytes > diff --git a/include/configs/sam9l9260.h b/include/configs/sam9l9260.h > new file mode 100644 > index 0000000..90089b0 > --- /dev/null > +++ b/include/configs/sam9l9260.h > @@ -0,0 +1,212 @@ > +/* > + * (C) Copyright 2007-2008 > + * > + * Cristian Birsan <[EMAIL PROTECTED]> based on the work of > + * Stelian Pop <[EMAIL PROTECTED]> > + * Lead Tech Design <www.leadtechdesign.com> > + * > + * Configuration settings for the SAM9-L9260 board. > + * > + * 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 > + */ > + > +#ifndef __CONFIG_H > +#define __CONFIG_H > + > +/* Hostname */ > +#define CONFIG_HOSTNAME sam9l9260 > + > +/* ARM asynchronous clock */ > +#define AT91_MAIN_CLOCK 198656000 /* from 18.432 MHz > crystal */ > +#define AT91_MASTER_CLOCK 99328000 /* peripheral = main / 2 */ > +#define CFG_HZ 1000000 /* 1us resolution */ please update to CONFIG_SYS_
Note that I've plan and announce that I'll generate a common code for at91sam9260 and other to reduce duplicate code. Best Regards, J. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot