[U-Boot] [PATCH] v2 Linuxstamp II 9260 support
Tom
Tom.Rix at windriver.com
Thu Nov 5 00:47:59 CET 2009
Paul Thomas wrote:
> This adds CONFIG_AT91_ALT_EPINS to avoid using board configs in at91sam9260_devices.c.
> In adding this config at91sam9260ek.h afeb9260.h were changed, this should probabbly be tested for those 2 boards.
You are missing your signoff line.
You can do this by doing a 'git commit -s'
Please also run your patch through the linux kernel checkpatch.pl to
reduce formatting problems. The run I got was
<snip>
ERROR: Missing Signed-off-by: line(s)
total: 2 errors, 12 warnings, 633 lines checked
> ---
> MAINTAINERS | 4 +
> MAKEALL | 1 +
> Makefile | 3 +
> board/ls9260/Makefile | 56 ++++++++
> board/ls9260/config.mk | 1 +
> board/ls9260/led.c | 41 ++++++
> board/ls9260/ls9260.c | 199 +++++++++++++++++++++++++++
> board/ls9260/partition.c | 40 ++++++
> cpu/arm926ejs/at91/at91sam9260_devices.c | 2 +-
> include/asm-arm/mach-types.h | 13 ++
This is a generated file.
I will need to update this.
I see you have registered
http://www.arm.linux.org.uk/developer/machines/download.php
mx51_refresh MACH_MX51_REFRESH MX51_REFRESH 2505
ls9260 MACH_LS9260 LS9260 2506
shank MACH_SHANK SHANK 2507
> include/configs/afeb9260.h | 3 +
> include/configs/at91sam9260ek.h | 3 +
> include/configs/ls9260.h | 219 ++++++++++++++++++++++++++++++
> 13 files changed, 584 insertions(+), 1 deletions(-)
> create mode 100644 board/ls9260/Makefile
> create mode 100644 board/ls9260/config.mk
> create mode 100644 board/ls9260/led.c
> create mode 100644 board/ls9260/ls9260.c
> create mode 100644 board/ls9260/partition.c
> create mode 100644 include/configs/ls9260.h
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index d70a9d2..2518757 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -718,6 +718,10 @@ Albin Tonnerre <albin.tonnerre at free-electrons.com>
> tny_a9260 ARM926EJS (AT91SAM9260 SoC)
> tny_a9g20 ARM926EJS (AT91SAM9G20 SoC)
>
> +Paul Thomas <pthomas8589 at gmail.com>
> +
> + ls9260 ARM926EJS (AT91SAM9260 SoC)
> +
> Greg Ungerer <greg.ungerer at opengear.com>
>
> cm4008 ks8695p
> diff --git a/MAKEALL b/MAKEALL
> index d63c5c2..5104607 100755
> --- a/MAKEALL
> +++ b/MAKEALL
> @@ -653,6 +653,7 @@ LIST_at91=" \
> SBC35_A9G20 \
> TNY_A9260 \
> TNY_A9G20 \
> + ls9260 \
> "
This should be alphabetical, between these.
kb9202 \
meesc \
>
> #########################################################################
> diff --git a/Makefile b/Makefile
> index bcb3fe9..a697235 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2761,6 +2761,9 @@ at91sam9g20ek_config : unconfig
> fi;
> @$(MKCONFIG) -a at91sam9260ek arm arm926ejs at91sam9260ek atmel at91
>
> +ls9260_config : unconfig
> + @$(MKCONFIG) $(@:_config=) arm arm926ejs ls9260 NULL at91
> +
Also alphabetical before this
meesc_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm926ejs meesc esd at91
I see a lot of the at91's aren't..
Should be fixed.
> at91sam9xeek_nandflash_config \
> at91sam9xeek_dataflash_cs0_config \
> at91sam9xeek_dataflash_cs1_config \
> diff --git a/board/ls9260/Makefile b/board/ls9260/Makefile
> new file mode 100644
> index 0000000..28e0947
> --- /dev/null
> +++ b/board/ls9260/Makefile
> @@ -0,0 +1,56 @@
> +#
> +# (C) Copyright 2003-2008
> +# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
> +#
> +# (C) Copyright 2008
> +# Stelian Pop <stelian.pop at leadtechdesign.com>
> +# 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 += ls9260.o
Make conditional on CONFIG_STATUS_LED
Define this in your board file
New change to led will mean your led code will not be called
> +COBJS-y += led.o
Alphabetical again, swap ls9260 and led
> +COBJS-$(CONFIG_HAS_DATAFLASH) += partition.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/ls9260/config.mk b/board/ls9260/config.mk
> new file mode 100644
> index 0000000..9ce161e
> --- /dev/null
> +++ b/board/ls9260/config.mk
> @@ -0,0 +1 @@
> +TEXT_BASE = 0x21f00000
> diff --git a/board/ls9260/led.c b/board/ls9260/led.c
> new file mode 100644
> index 0000000..2424d27
> --- /dev/null
> +++ b/board/ls9260/led.c
> @@ -0,0 +1,41 @@
> +/*
> + * (C) Copyright 2007-2008
> + * Stelian Pop <stelian.pop at leadtechdesign.com>
> + * 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/at91_pmc.h>
> +#include <asm/arch/gpio.h>
> +#include <asm/arch/io.h>
> +
> +void coloured_LED_init(void)
> +{
> + /* Enable clock */
> + at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_PIOA);
> +
> + at91_set_gpio_output(CONFIG_RED_LED, 1);
> + at91_set_gpio_output(CONFIG_GREEN_LED, 1);
> +
> + at91_set_gpio_value(CONFIG_RED_LED, 0);
> + at91_set_gpio_value(CONFIG_GREEN_LED, 1);
> +}
Should define the red and green functions
> diff --git a/board/ls9260/ls9260.c b/board/ls9260/ls9260.c
> new file mode 100644
> index 0000000..e9b9c0a
> --- /dev/null
> +++ b/board/ls9260/ls9260.c
> @@ -0,0 +1,199 @@
> +/*
> + * (C) Copyright 2007-2008
> + * Stelian Pop <stelian.pop at leadtechdesign.com>
> + * Lead Tech Design <www.leadtechdesign.com>
> + *
> + * (C) Copyright 2009
> + * Paul Thomas <pthomas8589 at gmail.com>
> + * http://opencircuits.com/Linuxstamp_II_9260
> + *
> + * 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_common.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)
> +#include <net.h>
> +#endif
> +#include <netdev.h>
> +
> +DECLARE_GLOBAL_DATA_PTR;
> +
> +/* ------------------------------------------------------------------------- */
> +/*
> + * Miscelaneous platform dependent initialisations
> + */
> +
> +#ifdef CONFIG_CMD_NAND
> +static void at91sam9260ls_nand_hw_init(void)
> +{
> + unsigned long csa;
> +
> + /* Enable CS3 */
> + csa = at91_sys_read(AT91_MATRIX_EBICSA);
> + at91_sys_write(AT91_MATRIX_EBICSA,
> + csa | AT91_MATRIX_CS3A_SMC_SMARTMEDIA);
> +
> + /* Configure SMC CS3 for NAND/SmartMedia */
> + at91_sys_write(AT91_SMC_SETUP(3),
> + AT91_SMC_NWESETUP_(1) | AT91_SMC_NCS_WRSETUP_(0) |
> + AT91_SMC_NRDSETUP_(1) | AT91_SMC_NCS_RDSETUP_(0));
> + at91_sys_write(AT91_SMC_PULSE(3),
> + AT91_SMC_NWEPULSE_(3) | AT91_SMC_NCS_WRPULSE_(3) |
> + AT91_SMC_NRDPULSE_(3) | AT91_SMC_NCS_RDPULSE_(3));
> + at91_sys_write(AT91_SMC_CYCLE(3),
> + AT91_SMC_NWECYCLE_(5) | AT91_SMC_NRDCYCLE_(5));
> + at91_sys_write(AT91_SMC_MODE(3),
> + AT91_SMC_READMODE | AT91_SMC_WRITEMODE |
> + AT91_SMC_EXNWMODE_DISABLE |
> +#ifdef CONFIG_SYS_NAND_DBW_16
> + AT91_SMC_DBW_16 |
> +#else /* CONFIG_SYS_NAND_DBW_8 */
> + AT91_SMC_DBW_8 |
> +#endif
> + AT91_SMC_TDF_(2));
> +
> + at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_PIOC);
> +
> + /* Configure RDY/BSY */
> + at91_set_gpio_input(CONFIG_SYS_NAND_READY_PIN, 1);
> +
> + /* Enable NandFlash */
> + at91_set_gpio_output(CONFIG_SYS_NAND_ENABLE_PIN, 1);
> +}
> +#endif
> +
> +#ifdef CONFIG_MACB
> +static void at91sam9260ls_macb_hw_init(void)
> +{
> + unsigned long rstc;
> +
> + /* Enable clock */
> + at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_EMAC);
> +
> + /*
> + * Disable pull-up on:
> + * RXDV (PA17) => PHY normal mode (not Test mode)
> + * ERX0 (PA14) => PHY ADDR0
> + * ERX1 (PA15) => PHY ADDR1
> + * ERX2 (PA25) => PHY ADDR2
> + * ERX3 (PA26) => PHY ADDR3
> + * ECRS (PA28) => PHY ADDR4 => PHYADDR = 0x0
> + *
> + * PHY has internal pull-down
> + */
> + writel(pin_to_mask(AT91_PIN_PA14) |
> + pin_to_mask(AT91_PIN_PA15) |
> + pin_to_mask(AT91_PIN_PA17) |
> + pin_to_mask(AT91_PIN_PA25) |
> + pin_to_mask(AT91_PIN_PA26) |
> + pin_to_mask(AT91_PIN_PA28),
> + pin_to_controller(AT91_PIN_PA0) + PIO_PUDR);
> +
> + rstc = at91_sys_read(AT91_RSTC_MR) & AT91_RSTC_ERSTL;
> +
> + /* Need to reset PHY -> 500ms reset */
> + at91_sys_write(AT91_RSTC_MR, AT91_RSTC_KEY |
> + (AT91_RSTC_ERSTL & (0x0D << 8)) |
> + AT91_RSTC_URSTEN);
> +
> + at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_EXTRST);
> +
> + /* Wait for end hardware reset */
> + while (!(at91_sys_read(AT91_RSTC_SR) & AT91_RSTC_NRSTL));
> +
> + /* Restore NRST value */
> + at91_sys_write(AT91_RSTC_MR, AT91_RSTC_KEY |
> + (rstc) |
> + AT91_RSTC_URSTEN);
> +
> + /* Re-enable pull-up */
> + writel(pin_to_mask(AT91_PIN_PA14) |
> + pin_to_mask(AT91_PIN_PA15) |
> + pin_to_mask(AT91_PIN_PA17) |
> + pin_to_mask(AT91_PIN_PA25) |
> + pin_to_mask(AT91_PIN_PA26) |
> + pin_to_mask(AT91_PIN_PA28),
> + pin_to_controller(AT91_PIN_PA0) + PIO_PUER);
> +
> + at91_macb_hw_init();
> +}
> +#endif
> +
> +int board_init(void)
> +{
> + /* Enable Ctrlc */
> + console_init_f();
> +
> + /* arch number of Linuxstamp II 9260 board */
> + gd->bd->bi_arch_number = MACH_TYPE_LS9260;
> +
> + /* adress of boot parameters */
> + gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
> +
> + at91_serial_hw_init();
> +#ifdef CONFIG_CMD_NAND
> + at91sam9260ls_nand_hw_init();
> +#endif
> +#ifdef CONFIG_HAS_DATAFLASH
> + at91_spi0_hw_init((1 << 0) | (1 << 1));
> +#endif
> +#ifdef CONFIG_MACB
> + at91sam9260ls_macb_hw_init();
> +#endif
> +
> + 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
> + rc = macb_eth_initialize(0, (void *)AT91SAM9260_BASE_EMAC, 0x00);
> +#endif
> + return rc;
> +}
> diff --git a/board/ls9260/partition.c b/board/ls9260/partition.c
> new file mode 100644
> index 0000000..2629c67
> --- /dev/null
> +++ b/board/ls9260/partition.c
> @@ -0,0 +1,40 @@
Another partition.c...
Looking for
ugrep Ulf
./board/ronetix/pm9263/partition.c
* Ulf Samuelsson <ulf at atmel.com>
./board/ronetix/pm9261/partition.c
* Ulf Samuelsson <ulf at atmel.com>
./board/atmel/at91sam9261ek/partition.c
* Ulf Samuelsson <ulf at atmel.com>
./board/atmel/at91sam9260ek/partition.c
* Ulf Samuelsson <ulf at atmel.com>
./board/atmel/at91sam9263ek/partition.c
* Ulf Samuelsson <ulf at atmel.com>
./board/atmel/at91sam9rlek/partition.c
* Ulf Samuelsson <ulf at atmel.com>
./board/atmel/at91cap9adk/partition.c
* Ulf Samuelsson <ulf at atmel.com>
./board/atmel/at91rm9200dk/partition.c
* Ulf Samuelsson <ulf at atmel.com>
./board/atmel/at91rm9200ek/led.c
* Ulf Samuelsson <ulf at atmel.com>
./board/esd/meesc/partition.c
* Ulf Samuelsson <ulf at atmel.com>
./include/configs/at91rm9200ek.h
* Ulf Samuelsson <ulf at atmel.com>
Why do we need another copy?
Please move this to arm926ejs/at91/
If you are feeling adventurous, move the others, else I will take
care of it once this change is committed
> +/*
> + * (C) Copyright 2008
> + * Ulf Samuelsson <ulf at atmel.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.
> + *
> + * 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[CONFIG_SYS_MAX_DATAFLASH_BANKS];
> +
> +struct dataflash_addr cs[CONFIG_SYS_MAX_DATAFLASH_BANKS] = {
> + {CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0, 0}, /* Logical adress, CS */
> + {CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1, 1}
> +};
> +
> +/*define the area offsets*/
> +dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
> + {0x00000000, 0x000041FF, FLAG_PROTECT_SET, 0, "Bootstrap"},
> + {0x00004200, 0x000083FF, FLAG_PROTECT_CLEAR, 0, "Environment"},
> + {0x00008400, 0x00041FFF, FLAG_PROTECT_SET, 0, "U-Boot"},
> + {0x00042000, 0x00251FFF, FLAG_PROTECT_CLEAR, 0, "Kernel"},
> + {0x00252000, 0xFFFFFFFF, FLAG_PROTECT_CLEAR, 0, "FS"},
> +};
> diff --git a/cpu/arm926ejs/at91/at91sam9260_devices.c b/cpu/arm926ejs/at91/at91sam9260_devices.c
> index f86cb99..21cdedb 100644
> --- a/cpu/arm926ejs/at91/at91sam9260_devices.c
> +++ b/cpu/arm926ejs/at91/at91sam9260_devices.c
> @@ -167,7 +167,7 @@ void at91_macb_hw_init(void)
> at91_set_B_periph(AT91_PIN_PA25, 0); /* ERX2 */
> at91_set_B_periph(AT91_PIN_PA26, 0); /* ERX3 */
> at91_set_B_periph(AT91_PIN_PA27, 0); /* ERXCK */
> -#if defined(CONFIG_AT91SAM9260EK) || defined(CONFIG_AFEB9260)
> +#ifdef CONFIG_AT91_ALT_EPINS
> /*
> * use PA10, PA11 for ETX2, ETX3.
> * PA23 and PA24 are for TWI EEPROM
> diff --git a/include/asm-arm/mach-types.h b/include/asm-arm/mach-types.h
> index 6c1f5ac..2d6a822 100644
> --- a/include/asm-arm/mach-types.h
> +++ b/include/asm-arm/mach-types.h
> @@ -2401,6 +2401,7 @@ extern unsigned int __machine_arch_type;
> #define MACH_TYPE_MULTIBUS_MASTER 2416
> #define MACH_TYPE_MULTIBUS_PBK 2417
> #define MACH_TYPE_TNETV107X 2418
> +#define MACH_TYPE_LS9260 2506
>
> #ifdef CONFIG_ARCH_EBSA110
> # ifdef machine_arch_type
> @@ -15482,6 +15483,18 @@ extern unsigned int __machine_arch_type;
> # define machine_is_at91sam9260ek() (0)
> #endif
>
> +#ifdef CONFIG_MACH_LS9260
> +# ifdef machine_arch_type
> +# undef machine_arch_type
> +# define machine_arch_type __machine_arch_type
> +# else
> +# define machine_arch_type MACH_TYPE_LS9260
> +# endif
> +# define machine_is_at91sam9260ek() (machine_arch_type == MACH_TYPE_LS9260)
> +#else
> +# define machine_is_at91sam9260ek() (0)
> +#endif
> +
> #ifdef CONFIG_MACH_GLANTANK
> # ifdef machine_arch_type
> # undef machine_arch_type
> diff --git a/include/configs/afeb9260.h b/include/configs/afeb9260.h
> index 74677d8..449d7e1 100644
> --- a/include/configs/afeb9260.h
> +++ b/include/configs/afeb9260.h
> @@ -121,6 +121,9 @@
> #define CONFIG_NET_MULTI 1
> #define CONFIG_NET_RETRY_COUNT 20
>
> +/*CONFIG_AT91_ALT_EPINS is to replace using CONFIG_AT91SAM9260EK in at91sam9260_devices.c*/
> +#define CONFIG_AT91_ALT_EPINS 1 /* This sets the pins for ETX2 & ETX3 in at91sam9260_devices.c*/
> +
> /* USB */
> #define CONFIG_USB_ATMEL
> #define CONFIG_USB_OHCI_NEW 1
> diff --git a/include/configs/at91sam9260ek.h b/include/configs/at91sam9260ek.h
> index 3507de2..1c27e29 100644
> --- a/include/configs/at91sam9260ek.h
> +++ b/include/configs/at91sam9260ek.h
> @@ -136,6 +136,9 @@
> #define CONFIG_NET_RETRY_COUNT 20
> #define CONFIG_RESET_PHY_R 1
>
> +/*CONFIG_AT91_ALT_EPINS is to replace using CONFIG_AT91SAM9260EK in at91sam9260_devices.c*/
> +#define CONFIG_AT91_ALT_EPINS 1 /* This sets the pins for ETX2 & ETX3 in at91sam9260_devices.c*/
> +
> /* USB */
> #define CONFIG_USB_ATMEL
> #define CONFIG_USB_OHCI_NEW 1
> diff --git a/include/configs/ls9260.h b/include/configs/ls9260.h
> new file mode 100644
> index 0000000..1ea0887
> --- /dev/null
> +++ b/include/configs/ls9260.h
> @@ -0,0 +1,219 @@
> +/*
> + * (C) Copyright 2007-2008
> + * Stelian Pop <stelian.pop at leadtechdesign.com>
> + * Lead Tech Design <www.leadtechdesign.com>
> + *
> + * (C) Copyright 2009
> + * Paul Thomas <pthomas8589 at gmail.com>
> + * http://opencircuits.com/Linuxstamp_II_9260
> + *
> + * Configuation settings for the Linuxstamp II 9260 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
> +
> +/* ARM asynchronous clock */
> +#define AT91_MAIN_CLOCK 18432000 /* 18.432 MHz crystal */
> +#define CONFIG_SYS_HZ 1000
> +
> +#define CONFIG_ARM926EJS 1 /* This is an ARM926EJS Core */
> +
> +#define CONFIG_AT91SAM9260 1 /* It's an Atmel AT91SAM9260 SoC*/
> +#define CONFIG_AT91_ALT_EPINS 1 /* This sets the pins for ETX2 & ETX3 in at91sam9260_devices.c*/
reduce to 80 chars
2 spaces after #define, reduce to 1
> +
> +#define CONFIG_ARCH_CPU_INIT
> +
> +#define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */
> +#define CONFIG_SETUP_MEMORY_TAGS 1
> +#define CONFIG_INITRD_TAG 1
> +
> +#define CONFIG_SKIP_LOWLEVEL_INIT
> +#define CONFIG_SKIP_RELOCATE_UBOOT
> +
> +/*
> + * Hardware drivers
> + */
> +#define CONFIG_ATMEL_USART 1
> +#define CONFIG_USART3 1 /* USART 3 is DBGU */
> +
> +/* LED */
> +#define CONFIG_AT91_LED
> +#define CONFIG_RED_LED AT91_PIN_PA9 /* this is the power led */
> +#define CONFIG_GREEN_LED AT91_PIN_PA6 /* this is the user led */
Change the tabs after #defines to a single space
> +
> +#define CONFIG_BOOTDELAY 3
> +
> +/*
> + * BOOTP options
> + */
> +#define CONFIG_BOOTP_BOOTFILESIZE 1
> +#define CONFIG_BOOTP_BOOTPATH 1
> +#define CONFIG_BOOTP_GATEWAY 1
> +#define CONFIG_BOOTP_HOSTNAME 1
> +
> +/*
> + * Command line configuration.
> + */
> +#include <config_cmd_default.h> 1
> +#define CONFIG_CMD_BDI 1
> +#define CONFIG_CMD_FPGA 1
> +#define CONFIG_CMD_IMI 1
> +#undef CONFIG_CMD_IMLS
> +#define CONFIG_CMD_LOADS 1
> +#define CONFIG_CMD_SOURCE 1
> +
> +#define CONFIG_CMD_PING 1
> +#define CONFIG_CMD_DHCP 1
> +#define CONFIG_CMD_NAND 1
> +#define CONFIG_CMD_USB 1
> +
> +/* SDRAM */
> +#define CONFIG_NR_DRAM_BANKS 1
> +#define PHYS_SDRAM 0x20000000
> +#define PHYS_SDRAM_SIZE 0x02000000 /* 32 megs */
> +
> +/* DataFlash */
> +#define CONFIG_ATMEL_DATAFLASH_SPI
> +#define CONFIG_HAS_DATAFLASH 1
> +#define CONFIG_SYS_SPI_WRITE_TOUT (5*CONFIG_SYS_HZ)
> +#define CONFIG_SYS_MAX_DATAFLASH_BANKS 2
> +#define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 0xC0000000 /* CS0 */
> +#define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1 0xD0000000 /* CS1 */
> +#define AT91_SPI_CLK 15000000
> +
> +#ifdef CONFIG_AT91SAM9G20EK
> +#define DATAFLASH_TCSS (0x22 << 16)
> +#else
> +#define DATAFLASH_TCSS (0x1a << 16)
> +#endif
> +#define DATAFLASH_TCHS (0x1 << 24)
> +
> +/* NAND flash */
> +#ifdef CONFIG_CMD_NAND
> +#define CONFIG_NAND_ATMEL
> +#define CONFIG_SYS_MAX_NAND_DEVICE 1
> +#define CONFIG_SYS_NAND_BASE 0x40000000
> +#define CONFIG_SYS_NAND_DBW_8 1
> +/* our ALE is AD21 */
> +#define CONFIG_SYS_NAND_MASK_ALE (1 << 21)
> +/* our CLE is AD22 */
> +#define CONFIG_SYS_NAND_MASK_CLE (1 << 22)
> +#define CONFIG_SYS_NAND_ENABLE_PIN AT91_PIN_PC14
> +#define CONFIG_SYS_NAND_READY_PIN AT91_PIN_PC13
> +
> +#define CONFIG_SYS_64BIT_VSPRINTF /* needed for nand_util.c */
> +#endif
> +
> +/* NOR flash - no real flash on this board */
> +#define CONFIG_SYS_NO_FLASH 1
> +
> +/* Ethernet */
> +#define CONFIG_MACB 1
> +#undef CONFIG_RMII
> +#define CONFIG_NET_MULTI 1
> +#define CONFIG_NET_RETRY_COUNT 20
> +#define CONFIG_RESET_PHY_R 1
> +
> +/* USB */
> +#define CONFIG_USB_ATMEL
> +#define CONFIG_USB_OHCI_NEW 1
> +#define CONFIG_DOS_PARTITION 1
> +#define CONFIG_SYS_USB_OHCI_CPU_INIT 1
> +#define CONFIG_SYS_USB_OHCI_REGS_BASE 0x00500000 /* AT91SAM9260_UHP_BASE */
More 80 chars
Apply globally
> +#define CONFIG_SYS_USB_OHCI_SLOT_NAME "at91sam9260"
> +#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2
> +#define CONFIG_USB_STORAGE 1
> +#define CONFIG_CMD_FAT 1
> +
> +#define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address */
> +
> +#define CONFIG_SYS_MEMTEST_START PHYS_SDRAM
> +#define CONFIG_SYS_MEMTEST_END 0x21e00000
> +
> +#ifdef CONFIG_SYS_USE_DATAFLASH_CS0
> +
> +/* bootstrap + u-boot + env + linux in dataflash on CS0 */
> +#define CONFIG_ENV_IS_IN_DATAFLASH 1
> +#define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + 0x8400)
> +#define CONFIG_ENV_OFFSET 0x4200
> +#define CONFIG_ENV_ADDR (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + CONFIG_ENV_OFFSET)
> +#define CONFIG_ENV_SIZE 0x4200
> +#define CONFIG_BOOTCOMMAND "cp.b 0xC0042000 0x22000000 0x210000; bootm"
> +#define CONFIG_BOOTARGS "console=ttyS0,115200 " \
> + "root=/dev/mtdblock0 " \
> + "mtdparts=atmel_nand:-(root) " \
> + "rw rootfstype=jffs2"
> +
> +#elif CONFIG_SYS_USE_DATAFLASH_CS1
> +
> +/* bootstrap + u-boot + env + linux in dataflash on CS1 */
> +#define CONFIG_ENV_IS_IN_DATAFLASH 1
> +#define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1 + 0x8400)
> +#define CONFIG_ENV_OFFSET 0x4200
> +#define CONFIG_ENV_ADDR (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1 + CONFIG_ENV_OFFSET)
> +#define CONFIG_ENV_SIZE 0x4200
> +#define CONFIG_BOOTCOMMAND "cp.b 0xD0042000 0x22000000 0x210000; bootm"
> +#define CONFIG_BOOTARGS "console=ttyS0,115200 " \
> + "root=/dev/mtdblock0 " \
> + "mtdparts=atmel_nand:-(root) " \
> + "rw rootfstype=jffs2"
> +
> +#else /* CONFIG_SYS_USE_NANDFLASH */
> +
> +/* bootstrap + u-boot + env + linux in nandflash */
> +#define CONFIG_ENV_IS_IN_NAND 1
> +#define CONFIG_ENV_OFFSET 0x60000
> +#define CONFIG_ENV_OFFSET_REDUND 0x80000
> +#define CONFIG_ENV_SIZE 0x20000 /* 1 sector = 128 kB */
> +#define CONFIG_BOOTCOMMAND "nand read 0x22000000 0xA0000 0x200000; bootm"
> +#define CONFIG_BOOTARGS "console=ttyS0,115200 " \
> + "root=/dev/mtdblock5 " \
> + "mtdparts=atmel_nand:128k(bootstrap)ro," \
> + "256k(uboot)ro,128k(env1)ro," \
> + "128k(env2)ro,2M(linux),-(root) " \
> + "rw rootfstype=jffs2"
> +
> +#endif
> +
> +#define CONFIG_BAUDRATE 115200
> +#define CONFIG_SYS_BAUDRATE_TABLE {115200 , 19200, 38400, 57600, 9600 }
> +
> +#define CONFIG_SYS_PROMPT "U-Boot> "
> +#define CONFIG_SYS_CBSIZE 256
> +#define CONFIG_SYS_MAXARGS 16
> +#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
> +#define CONFIG_SYS_LONGHELP 1
> +#define CONFIG_CMDLINE_EDITING 1
> +
> +/*
> + * Size of malloc() pool
> + */
> +#define CONFIG_SYS_MALLOC_LEN ROUND(3 * CONFIG_ENV_SIZE + 128*1024, 0x1000)
> +#define CONFIG_SYS_GBL_DATA_SIZE 128 /* 128 bytes for initial data */
> +
> +#define CONFIG_STACKSIZE (32*1024) /* regular stack */
> +
> +#ifdef CONFIG_USE_IRQ
> +#error CONFIG_USE_IRQ not supported
> +#endif
> +
> +#endif
Tom
More information about the U-Boot
mailing list