Hello, On Tue, Jul 29, 2008 at 3:27 AM, Hans-Christian Egtvedt <[EMAIL PROTECTED]> wrote: > This patch adds support for the Favr-32 board made by EarthLCD. > > This kit, which is also called ezLCD-101 when running with EarthLCD firmware, > has a 10.4" touch screen LCD panel, 16 MB 32-bit SDRAM, 8 MB parallel flash, > Ethernet, audio out, USB device, SD-card slot, USART and various other > connectors for cennecting stuff to SPI, I2C, GPIO, etc. > > Signed-off-by: Hans-Christian Egtvedt <[EMAIL PROTECTED]> > --- > MAINTAINERS | 4 + > MAKEALL | 1 + > Makefile | 3 + > board/earthlcd/favr-32-ezkit/Makefile | 42 +++++ > board/earthlcd/favr-32-ezkit/config.mk | 4 + > board/earthlcd/favr-32-ezkit/eth.c | 33 ++++ > board/earthlcd/favr-32-ezkit/favr-32-ezkit.c | 87 ++++++++++ > board/earthlcd/favr-32-ezkit/flash.c | 230 > ++++++++++++++++++++++++++ > board/earthlcd/favr-32-ezkit/u-boot.lds | 71 ++++++++ > include/configs/favr-32-ezkit.h | 200 ++++++++++++++++++++++ > net/eth.c | 3 + > 11 files changed, 678 insertions(+), 0 deletions(-) > create mode 100644 board/earthlcd/favr-32-ezkit/Makefile > create mode 100644 board/earthlcd/favr-32-ezkit/config.mk > create mode 100644 board/earthlcd/favr-32-ezkit/eth.c > create mode 100644 board/earthlcd/favr-32-ezkit/favr-32-ezkit.c > create mode 100644 board/earthlcd/favr-32-ezkit/flash.c > create mode 100644 board/earthlcd/favr-32-ezkit/u-boot.lds > create mode 100644 include/configs/favr-32-ezkit.h > > diff --git a/MAINTAINERS b/MAINTAINERS > index a3d70b1..e043913 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -709,6 +709,10 @@ Haavard Skinnemoen <[EMAIL PROTECTED]> > ATSTK1006 AT32AP7000 > ATNGW100 AT32AP7000 > > +Hans-Christian Egtvedt <[EMAIL PROTECTED]> > + > + FAVR-32-EZKIT AT32AP7000 > + > ######################################################################### > # SuperH Systems: # > # # > diff --git a/MAKEALL b/MAKEALL > index 32caab7..c2bb2a7 100755 > --- a/MAKEALL > +++ b/MAKEALL > @@ -723,6 +723,7 @@ LIST_avr32=" \ > atstk1004 \ > atstk1006 \ > atngw100 \ > + favr-32-ezkit \ > " > > ######################################################################### > diff --git a/Makefile b/Makefile > index 8bfc891..15d7f37 100644 > --- a/Makefile > +++ b/Makefile > @@ -2902,6 +2902,9 @@ atstk1006_config : unconfig > atngw100_config : unconfig > @$(MKCONFIG) $(@:_config=) avr32 at32ap atngw100 atmel at32ap700x > > +favr-32-ezkit_config : unconfig > + @$(MKCONFIG) $(@:_config=) avr32 at32ap favr-32-ezkit earthlcd > at32ap700x > + > ######################################################################### > ######################################################################### > ######################################################################### > diff --git a/board/earthlcd/favr-32-ezkit/Makefile > b/board/earthlcd/favr-32-ezkit/Makefile > new file mode 100644 > index 0000000..a09ad4d > --- /dev/null > +++ b/board/earthlcd/favr-32-ezkit/Makefile > @@ -0,0 +1,42 @@ > +# > +# (C) Copyright 2001-2006 > +# Wolfgang Denk, DENX Software Engineering, [EMAIL PROTECTED] > +# > +# Copyright (C) 2008 Atmel Corporation > +# > +# 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 := $(BOARD).o flash.o eth.o > + > +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) > +OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS)) > + > +$(LIB): $(obj).depend $(OBJS) > + $(AR) $(ARFLAGS) $@ $(OBJS) > + > +######################################################################### > + > +# defines $(obj).depend target > +include $(SRCTREE)/rules.mk > + > +sinclude $(obj).depend > + > +######################################################################### > diff --git a/board/earthlcd/favr-32-ezkit/config.mk > b/board/earthlcd/favr-32-ezkit/config.mk > new file mode 100644 > index 0000000..2337d62 > --- /dev/null > +++ b/board/earthlcd/favr-32-ezkit/config.mk > @@ -0,0 +1,4 @@ > +PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections > +PLATFORM_LDFLAGS += --gc-sections > +TEXT_BASE = 0x00000000 > +LDSCRIPT = $(obj)board/earthlcd/favr-32-ezkit/u-boot.lds > diff --git a/board/earthlcd/favr-32-ezkit/eth.c > b/board/earthlcd/favr-32-ezkit/eth.c > new file mode 100644 > index 0000000..2029842 > --- /dev/null > +++ b/board/earthlcd/favr-32-ezkit/eth.c > @@ -0,0 +1,33 @@ > +/* > + * Copyright (C) 2008 Atmel Corporation > + * > + * Ethernet initialization for the Favr-32 LCD kit. > + * > + * 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/memory-map.h> > + > +extern int macb_eth_initialize(int id, void *regs, unsigned int phy_addr); > + > +#if defined(CONFIG_MACB) && defined(CONFIG_CMD_NET) > +void favr32_ezkit_eth_initialize(bd_t *bi) > +{ > + macb_eth_initialize(0, (void *)MACB0_BASE, bi->bi_phy_id[0]); > +} > +#endif
Please do this instead: extern int macb_eth_initialize(int id, void *regs, unsigned int phy_addr); #if defined(CONFIG_MACB) && defined(CONFIG_CMD_NET) int board_eth_init(bd_t *bi) { return macb_eth_initialize(0, (void *)MACB0_BASE, bi->bi_phy_id[0]); } #endif And move it to /board/earthlcd/favr-32-ezkit/favr-32-ezkit.c > diff --git a/board/earthlcd/favr-32-ezkit/favr-32-ezkit.c > b/board/earthlcd/favr-32-ezkit/favr-32-ezkit.c > new file mode 100644 > index 0000000..8f11dd9 > --- /dev/null > +++ b/board/earthlcd/favr-32-ezkit/favr-32-ezkit.c > @@ -0,0 +1,87 @@ > +/* > + * Copyright (C) 2008 Atmel Corporation > + * > + * 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/io.h> > +#include <asm/sdram.h> > +#include <asm/arch/clk.h> > +#include <asm/arch/gpio.h> > +#include <asm/arch/hmatrix.h> > + > +DECLARE_GLOBAL_DATA_PTR; > + > +static const struct sdram_config sdram_config = { > + /* MT48LC4M32B2P-6 (16 MB) */ > + .data_bits = SDRAM_DATA_32BIT, > + .row_bits = 12, > + .col_bits = 8, > + .bank_bits = 2, > + .cas = 3, > + .twr = 2, > + .trc = 7, > + .trp = 2, > + .trcd = 2, > + .tras = 5, > + .txsr = 5, > + /* 15.6 us */ > + .refresh_period = (156 * (SDRAMC_BUS_HZ / 1000)) / 10000, > +}; > + > +int board_early_init_f(void) > +{ > + /* Enable SDRAM in the EBI mux */ > + hmatrix_slave_write(EBI, SFR, HMATRIX_BIT(EBI_SDRAM_ENABLE)); > + > + gpio_enable_ebi(); > + gpio_enable_usart3(); > +#if defined(CONFIG_MACB) > + gpio_enable_macb0(); > +#endif > +#if defined(CONFIG_MMC) > + gpio_enable_mmci(); > +#endif > + > + return 0; > +} > + > +phys_size_t initdram(int board_type) > +{ > + unsigned long expected_size; > + unsigned long actual_size; > + void *sdram_base; > + > + sdram_base = map_physmem(EBI_SDRAM_BASE, EBI_SDRAM_SIZE, MAP_NOCACHE); > + > + expected_size = sdram_init(sdram_base, &sdram_config); > + actual_size = get_ram_size(sdram_base, expected_size); > + > + unmap_physmem(sdram_base, EBI_SDRAM_SIZE); > + > + if (expected_size != actual_size) > + printf("Warning: Only %u of %u MiB SDRAM is working\n", > + actual_size >> 20, expected_size >> 20); > + > + return actual_size; > +} > + > +void board_init_info(void) > +{ > + gd->bd->bi_phy_id[0] = 0x01; > +} > diff --git a/board/earthlcd/favr-32-ezkit/flash.c > b/board/earthlcd/favr-32-ezkit/flash.c Is this flash CFI-compliant? If so, please use the CFI driver. Otherwise, ignore me. <snip> > +#endif /* __CONFIG_H */ > diff --git a/net/eth.c b/net/eth.c > index 21d1496..6e81687 100644 > --- a/net/eth.c > +++ b/net/eth.c > @@ -282,6 +282,9 @@ int eth_initialize(bd_t *bis) > #if defined(CONFIG_ATNGW100) > atngw100_eth_initialize(bis); > #endif > +#if defined(CONFIG_FAVR32_EZKIT) > + favr32_ezkit_eth_initialize(bis); > +#endif > #if defined(CONFIG_MCFFEC) > mcffec_initialize(bis); > #endif Touching this file is unnecessary if you change to board_eth_init() as mentioned earlier. thanks, Ben ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users