skat91: add support for SK-AT91SAM9/SIM508 board
PATCH 1/1 skat91: add support for SK-AT91SAM9/SIM508 board
This change adds complete support for Starterkit SK-AT91SAM9/SIM508 board.
--- MAINTAINERS | 4 + board/starterkit/skat91_sim508/Makefile | 44 ++++++ board/starterkit/skat91_sim508/partition.c | 39 +++++ board/starterkit/skat91_sim508/skat91_sim508.c | 124 ++++++++++++++++ boards.cfg | 2 + include/configs/skat91_sim508.h | 181 ++++++++++++++++++++++++ 6 files changed, 394 insertions(+), 0 deletions(-) create mode 100644 board/starterkit/skat91_sim508/Makefile create mode 100644 board/starterkit/skat91_sim508/partition.c create mode 100644 board/starterkit/skat91_sim508/skat91_sim508.c create mode 100644 include/configs/skat91_sim508.h
MAINTAINERS +4 -0
@@ -914,6 +914,10 @@ Sughosh Ganu <[email protected]> hawkboard ARM926EJS (OMAP-L138) +Vladimir Zapolskiy <[email protected]> + + skat91_sim508 ARM926EJS (AT91SAM9260 SoC) + ------------------------------------------------------------------------- Unknown / orphaned boards:
board/starterkit/skat91_sim508/Makefile new file +44 -0
44 lines not on this page · raw message
board/starterkit/skat91_sim508/partition.c new file +39 -0
@@ -0,0 +1,39 @@ +/* +* StarterKit SK-AT91SAM9/SIM508 board support, dataflash partitions +* +* Copyright (C) 2011 Vladimir Zapolskiy <[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., 51 Franklin Street, Fifth Floor, Boston, +* MA 02110-1301, 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 }, +}; + +/* define the area offsets */ +dataflash_protect_t area_list[NB_DATAFLASH_AREA ] = { + {0x00000000 ,0x00003FFF ,FLAG_PROTECT_SET ,0 ,"Bootstrap" }, + {0x00004000 ,0x00007FFF ,FLAG_PROTECT_CLEAR ,0 ,"Environment" }, + {0x00008000 ,0x00037FFF ,FLAG_PROTECT_SET ,0 ,"U-Boot" }, + {0x00038000 ,0x0041FFFF ,FLAG_PROTECT_CLEAR ,0 ,"Kernel" }, +};
board/starterkit/skat91_sim508/skat91_sim508.c new file +124 -0
124 lines not on this page · raw message
boards.cfg +2 -0
@@ -118,6 +118,8 @@ cpu9G20_nand_128M arm arm926ejs cpu9260 eukrea pm9261 arm arm926ejs pm9261 ronetix at91 pm9261:AT91SAM9261 pm9263 arm arm926ejs pm9263 ronetix at91 pm9263:AT91SAM9263 pm9g45 arm arm926ejs pm9g45 ronetix at91 pm9g45:AT91SAM9G45 +skat91_sim508 arm arm926ejs skat91_sim508 starterkit at91 skat91_sim508:AT91SAM9260,SYS_USE_NANDFLASH +skat91_sim508_dataflash arm arm926ejs skat91_sim508 starterkit at91 skat91_sim508:AT91SAM9260,SYS_USE_DATAFLASH_CS0 cam_enc_4xx arm arm926ejs cam_enc_4xx ait davinci cam_enc_4xx da830evm arm arm926ejs da8xxevm davinci davinci da850_am18xxevm arm arm926ejs da8xxevm davinci davinci
include/configs/skat91_sim508.h new file +181 -0
181 lines not on this page · raw message
Signature · 1 line
1.7.5.4
PATCH 1/1 skat91: add support for SK-AT91SAM9/SIM508 board
Quoted 171 lines
This change adds complete support for Starterkit SK-AT91SAM9/SIM508 board.
Signed-off-by Vladimir Zapolskiy <[email protected]>--- MAINTAINERS | 4 + board/starterkit/skat91_sim508/Makefile | 44 ++++++ board/starterkit/skat91_sim508/partition.c | 39 +++++ board/starterkit/skat91_sim508/skat91_sim508.c | 124 ++++++++++++++++ boards.cfg | 2 + include/configs/skat91_sim508.h | 181 ++++++++++++++++++++++++ 6 files changed, 394 insertions(+), 0 deletions(-) create mode 100644 board/starterkit/skat91_sim508/Makefile create mode 100644 board/starterkit/skat91_sim508/partition.c create mode 100644 board/starterkit/skat91_sim508/skat91_sim508.c create mode 100644 include/configs/skat91_sim508.hMAINTAINERS +4
-0@@ -914,6 +914,10 @@ Sughosh Ganu <[email protected]> hawkboard ARM926EJS (OMAP-L138) +Vladimir Zapolskiy <[email protected]> + + skat91_sim508 ARM926EJS (AT91SAM9260 SoC) + ------------------------------------------------------------------------- Unknown / orphaned boards:(quoted diff) +0
-0b/board/starterkit/skat91_sim508/Makefile new file mode 100644 index 0000000..77965f8
board/starterkit/skat91_sim508/Makefile new file +44
-0@@ -0,0 +1,44 @@ +# +# Copyright (C) 2011 by Vladimir Zapolskiy <[email protected]> +# Copyright (C) 2008, Guennadi Liakhovetski <[email protected]> +# +# 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., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301, USA. +# + +include $(TOPDIR)/config.mk + +LIB = $(obj)lib$(BOARD).o + +COBJS := skat91_sim508.o partition.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)) + +######################################################################### + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +#########################################################################(quoted diff) +0
-0
b/board/starterkit/skat91_sim508/partition.cnew file mode 100644 index 0000000..f82046dboard/starterkit/skat91_sim508/partition.c new file +39
-0@@ -0,0 +1,39 @@ +/* +* StarterKit SK-AT91SAM9/SIM508 board support, dataflash partitions +* +* Copyright (C) 2011 Vladimir Zapolskiy <[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., 51 Franklin Street, Fifth Floor, Boston, +* MA 02110-1301, 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 }, +}; + +/* define the area offsets */ +dataflash_protect_t area_list[NB_DATAFLASH_AREA ] = { + {0x00000000 ,0x00003FFF ,FLAG_PROTECT_SET ,0 ,"Bootstrap" }, + {0x00004000 ,0x00007FFF ,FLAG_PROTECT_CLEAR ,0 ,"Environment" }, + {0x00008000 ,0x00037FFF ,FLAG_PROTECT_SET ,0 ,"U-Boot" }, + {0x00038000 ,0x0041FFFF ,FLAG_PROTECT_CLEAR ,0 ,"Kernel" }, +};(quoted diff) +0
-0
b/board/starterkit/skat91_sim508/skat91_sim508.cnew file mode 100644 index 0000000..bcd6a94board/starterkit/skat91_sim508/skat91_sim508.c new file +37
-0@@ -0,0 +1,124 @@ +/* +* StarterKit SK-AT91SAM9/SIM508 board support +* +* Copyright (C) 2011 Vladimir Zapolskiy <[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., 51 Franklin Street, Fifth Floor, Boston, +* MA 02110-1301, USA. +*/ + +#include <common.h> +#include <netdev.h> + +#include <asm/arch/at91sam9260_matrix.h> +#include <asm/arch/at91sam9_smc.h> +#include <asm/arch/at91_pmc.h> +#include <asm/arch/at91_pio.h> +#include <asm/arch/at91_rstc.h> +#include <asm/arch/at91_common.h> +#include <asm/arch/gpio.h> +#include <asm/io.h> + +DECLARE_GLOBAL_DATA_PTR ; + +#ifdef CONFIG_CMD_NAND +static void skat91_sim508_nand_hw_init (void )
board/starterkit/skat91_sim508/skat91_sim508.c line 47
Quoted 10 lines
board/starterkit/skat91_sim508/skat91_sim508.c new file +10
-0+{ +struct at91_pmc *pmc = (at91_pmc_t *)ATMEL_BASE_PMC ; +struct at91_smc *smc = (at91_smc_t *)ATMEL_BASE_SMC ; +struct at91_matrix *matrix = (struct at91_matrix *)ATMEL_BASE_MATRIX ; +unsigned long csa; + +/* Assign CS3 to NAND/SmartMedia Interface */ + csa =readl (&matrix->ebicsa); + csa |=AT91_MATRIX_CS3A_SMC_SMARTMEDIA ; +writel (csa, &matrix->ebicsa);
setbits_le32()
Quoted 222 lines
board/starterkit/skat91_sim508/skat91_sim508.c new file +77
-0+ +/* Configure SMC CS3 for NAND/SmartMedia */ +writel (AT91_SMC_SETUP_NWE (1 ) |AT91_SMC_SETUP_NCS_WR (0 ) | +AT91_SMC_SETUP_NRD (1 ) |AT91_SMC_SETUP_NCS_RD (0 ), + &smc->cs[3 ].setup); + +writel (AT91_SMC_PULSE_NWE (3 ) |AT91_SMC_PULSE_NCS_WR (3 ) | +AT91_SMC_PULSE_NRD (3 ) |AT91_SMC_PULSE_NCS_RD (3 ), + &smc->cs[3 ].pulse); + +writel (AT91_SMC_CYCLE_NWE (5 ) |AT91_SMC_CYCLE_NRD (5 ), + &smc->cs[3 ].cycle); + +writel (AT91_SMC_MODE_RM_NRD |AT91_SMC_MODE_WM_NWE | +AT91_SMC_MODE_EXNW_DISABLE | +AT91_SMC_MODE_DBW_8 | +AT91_SMC_MODE_TDF_CYCLE (2 ), + &smc->cs[3 ].mode); + +writel (1 <<ATMEL_ID_PIOC , &pmc->pcer); + +/* Configure RDY/BSY */ +at91_set_pio_input (CONFIG_SYS_NAND_READY_PIN ,1 ); + +/* Enable NandFlash */ +at91_set_pio_output (CONFIG_SYS_NAND_ENABLE_PIN ,1 ); +} +#endif + +#ifdef CONFIG_MACB +static void skat91_sim508_macb_hw_init (void ) +{ +at91_pmc_t *pmc = (at91_pmc_t *)ATMEL_BASE_PMC ; + +/* Enable EMAC clock */ +writel (1 <<ATMEL_ID_EMAC0 , &pmc->pcer); + +at91_macb_hw_init (); +} + +int board_eth_init (bd_t *bis) +{ +return macb_eth_initialize (0 , (void *)ATMEL_BASE_EMAC0 ,0x01 ); +} +#endif + +int board_early_init_f (void ) +{ +at91_seriald_hw_init (); + +return 0 ; +} + +int board_init (void ) +{ +/* Enable Ctrlc */ +console_init_f (); + +/* adress of boot parameters */ + gd->bd->bi_boot_params =CONFIG_SYS_SDRAM_BASE +0x100 ; + +#ifdef CONFIG_CMD_NAND +skat91_sim508_nand_hw_init (); +#endif +#ifdef CONFIG_MACB +skat91_sim508_macb_hw_init (); +#endif +return 0 ; +} + +int dram_init (void ) +{ + gd->ram_size =get_ram_size ((void *)CONFIG_SYS_SDRAM_BASE , +CONFIG_SYS_SDRAM_SIZE ); + +return 0 ; +}boards.cfg +0
-0@@ -118,6 +118,8 @@ cpu9G20_nand_128M arm arm926ejscpu9260 eukrea pm9261 arm
arm926ejs pm9261 ronetix at91
pm9261:AT91SAM9261 pm9263 arm arm926ejs
pm9263 ronetix at91 pm9263:AT91SAM9263 pm9g45
arm arm926ejs pm9g45 ronetix
at91 pm9g45:AT91SAM9G45 +skat91_sim508 arm
arm926ejsskat91_sim508starterkit at91
skat91_sim508:AT91SAM9260,SYS_USE_NANDFLASH +skat91_sim508_dataflash
arm arm926ejsskat91_sim508starterkit at91
skat91_sim508:AT91SAM9260,SYS_USE_DATAFLASH_CS0cam_enc_4xx
arm arm926ejscam_enc_4xxait davincicam_enc_4xxda830evm arm arm926ejs da8xxevm
davinci davincida850_am18xxevmarm
arm926ejs da8xxevm davinci davinci diff --gita/include/configs/skat91_sim508.hb/include/configs/skat91_sim508.hnew file mode 100644
index 0000000..da939c7include/configs/skat91_sim508.h new file +120
-0@@ -0,0 +1,181 @@ +/* +* Starterkit SK-AT91SAM9/SIM508 board configuration file +* +* Copyright (C) 2011 Vladimir Zapolskiy <[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., 51 Franklin Street, Fifth Floor, Boston, +* MA 02110-1301, USA. +*/ + +#ifndef __CONFIG_SKAT91_SIM508_H__ +#define __CONFIG_SKAT91_SIM508_H__ + +#include <asm/sizes.h> +#include <asm/hardware.h> + +/* Define SK-AT91SAM9/SIM508 machine type by hand */ +#define MACH_TYPE_SKAT91_SIM508 2789 +#define CONFIG_MACH_TYPE MACH_TYPE_SKAT91_SIM508 + +#define CONFIG_SYS_ICACHE_OFF +#define CONFIG_SYS_DCACHE_OFF +#define CONFIG_SKIP_LOWLEVEL_INIT +#define CONFIG_BOARD_EARLY_INIT_F + +/* ARM asynchronous clock */ +#define CONFIG_SYS_AT91_SLOW_CLOCK 32768 +#define CONFIG_SYS_AT91_MAIN_CLOCK 12000000 +#define CONFIG_SYS_HZ 1000 + +/* SoC configurations */ +#define CONFIG_ARCH_CPU_INIT + +/* Memory configurations */ +#define CONFIG_NR_DRAM_BANKS 1 +#define CONFIG_STACKSIZE SZ_32K +#define CONFIG_SYS_MALLOC_LEN SZ_1M +#define CONFIG_SYS_SDRAM_BASE ATMEL_BASE_CS1 +#define CONFIG_SYS_SDRAM_SIZE SZ_64M +#define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE +#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_TEXT_BASE - SZ_1M) + +#define CONFIG_SYS_TEXT_BASE 0x23F00000 +#define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_MEMTEST_START + SZ_32K) + +#define CONFIG_SYS_INIT_RAM_SIZE SZ_4K +#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_SDRAM_BASE + \ + CONFIG_SYS_INIT_RAM_SIZE - \ + GENERATED_GBL_DATA_SIZE) +#define CONFIG_SYS_INIT_SP_ADDR CONFIG_SYS_GBL_DATA_OFFSET + +/* Hardware drivers */ +#define CONFIG_AT91_GPIO + +/* Serial driver */ +#define CONFIG_ATMEL_USART +#define CONFIG_USART_BASE ATMEL_BASE_DBGU +#define CONFIG_USART_ID ATMEL_ID_SYS +#define CONFIG_BAUDRATE 115200 +#define CONFIG_SYS_BAUDRATE_TABLE { 115200 , 57600, 38400, 19200, 9600 } + +/* DataFlash */ +#define CONFIG_CMD_FLASH +#define CONFIG_ATMEL_DATAFLASH_SPI +#define CONFIG_HAS_DATAFLASH +#define CONFIG_SYS_SPI_WRITE_TOUT (5 * CONFIG_SYS_HZ) +#define CONFIG_SYS_MAX_DATAFLASH_BANKS 1 +#define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 0xC0000000 +#define AT91_SPI_CLK 15000000 +#define DATAFLASH_TCSS (0x1a << 16) +#define DATAFLASH_TCHS (0x01 << 24) + +/* NOR flash - no real flash on this board */ +#define CONFIG_SYS_NO_FLASH + +/* NAND Flash */ +#define CONFIG_CMD_NAND +#define CONFIG_NAND_ATMEL +#define CONFIG_SYS_MAX_NAND_DEVICE 1 +#define CONFIG_SYS_NAND_BASE ATMEL_BASE_CS3 +#define CONFIG_SYS_NAND_DBW_8 1 +#define CONFIG_SYS_NAND_READY_PIN AT91_PIO_PORTC, 13 +#define CONFIG_SYS_NAND_ENABLE_PIN AT91_PIO_PORTC, 14 +#define CONFIG_SYS_NAND_MASK_ALE (1 << 21) +#define CONFIG_SYS_NAND_MASK_CLE (1 << 22) + +/* Ethernet */ +#define CONFIG_MACB +#define CONFIG_RMII +#define CONFIG_NET_RETRY_COUNT 20 + +#define CONFIG_PHYLIB +#define CONFIG_PHY_MICREL + +/* U-Boot General Configurations */ +#define CONFIG_SYS_LONGHELP +#define CONFIG_SYS_PROMPT "=> " +#define CONFIG_SYS_CBSIZE 1024/* Console I/O buffer size */ +#define CONFIG_SYS_PBSIZE \ + (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) +#define CONFIG_SYS_MAXARGS 16 +#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE + +#define CONFIG_AUTO_COMPLETE +#define CONFIG_CMDLINE_EDITING +#define CONFIG_VERSION_VARIABLE +#define CONFIG_DISPLAY_CPUINFO +#define CONFIG_DOS_PARTITION +
include/configs/skat91_sim508.h line 130
Quoted 10 lines
include/configs/skat91_sim508.h new file +10
-0+#if defined(CONFIG_SYS_USE_DATAFLASH_CS0 ) +#define CONFIG_ENV_IS_IN_DATAFLASH +#define CONFIG_SYS_MONITOR_BASE \ + (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + 0x8000) +#define CONFIG_ENV_OFFSET 0x4000 +#define CONFIG_ENV_ADDR \ + (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + CONFIG_ENV_OFFSET) +#define CONFIG_ENV_SIZE SZ_16K +#define CONFIG_BOOTCOMMAND "cp.b 0xC0038000 0x20400000 0x170000; bootm" +#define CONFIG_BOOTARGS "console=ttyS0,115200 "
\
include/configs/skat91_sim508.h
Quoted 9 lines
include/configs/skat91_sim508.h new file +9
-0+"root=/dev/mtdblock0 " \ +"mtdparts=atmel_nand:-(root) " \ + "rw rootfstype=jffs2" +#elif defined(CONFIG_SYS_USE_NANDFLASH ) +#define CONFIG_ENV_IS_IN_NAND +#define CONFIG_ENV_OFFSET 0x020000/* Erase size */ +#define CONFIG_ENV_SIZE SZ_128K/* Erase size */ +#define CONFIG_BOOTCOMMAND "nand read 0x20400000 0x80000 0x200000; bootm" +#define CONFIG_BOOTARGS "console=ttyS0,115200 "
\
Quoted 32 lines
include/configs/skat91_sim508.h new file +32
-0+"root=/dev/mtdblock5 " \ +"mtdparts=atmel_nand:128k(bootstrap)ro," \ +"256k(uboot)ro,128k(env)ro," \ +"2M(linux),-(root) " \ + "rw rootfstype=jffs2" +#else +#define CONFIG_ENV_IS_NOWHERE +#define CONFIG_ENV_SIZE SZ_128K +#define CONFIG_BOOTARGS "console=ttyS2,115200n8" +#endif + +/* U-Boot Commands */ +#include <config_cmd_default.h> +#undef CONFIG_CMD_FPGA +#undef CONFIG_CMD_IMI +#undef CONFIG_CMD_IMLS +#undef CONFIG_CMD_LOADS + +#define CONFIG_CMD_CACHE +#define CONFIG_CMD_PING +#define CONFIG_CMD_DHCP + +/* BOOTP options */ +#define CONFIG_BOOTP_BOOTFILESIZE +#define CONFIG_BOOTP_BOOTPATH +#define CONFIG_BOOTP_GATEWAY +#define CONFIG_BOOTP_HOSTNAME + +/* Boot Linux */ +#define CONFIG_CMDLINE_TAG +#define CONFIG_SETUP_MEMORY_TAGS +#define CONFIG_ZERO_BOOTDELAY_CHECK
include/configs/skat91_sim508.h line 181
Quoted 10 lines
include/configs/skat91_sim508.h new file +10
-0+#define CONFIG_BOOTDELAY 3 + +#define CONFIG_BOOTFILE "uImage" +#define CONFIG_LOADADDR 0x20400000 +#define CONFIG_EXTRA_ENV_SETTINGS \ + "ethaddr=00:01:02:B4:36:65\0" \ + "ipaddr=192.168.3.2\0" \ + "serverip=192.168.3.1\0" \ + +#endif /* __CONFIG_SKAT91_SIM508_H__ */
Otherwise seems fine
PATCH 1/1 skat91: add support for SK-AT91SAM9/SIM508 board
Quoted 175 lines · Marek Vasut
Quoted 175 lines
This change adds complete support for Starterkit SK-AT91SAM9/SIM508 board.
Signed-off-by Vladimir Zapolskiy<[email protected]>--- MAINTAINERS | 4 + board/starterkit/skat91_sim508/Makefile | 44 ++++++ board/starterkit/skat91_sim508/partition.c | 39 +++++ board/starterkit/skat91_sim508/skat91_sim508.c | 124 ++++++++++++++++ boards.cfg | 2 + include/configs/skat91_sim508.h | 181++++++++++++++++++++++++ 6 files changed, 394 insertions(+), 0 deletions(-)
create mode 100644 board/starterkit/skat91_sim508/Makefile create mode 100644board/starterkit/skat91_sim508/partition.ccreate mode 100644board/starterkit/skat91_sim508/skat91_sim508.ccreate mode 100644include/configs/skat91_sim508.hMAINTAINERS +4
-0@@ -914,6 +914,10 @@ Sughosh Ganu<[email protected]> hawkboard ARM926EJS (OMAP-L138) +Vladimir Zapolskiy<[email protected]> + + skat91_sim508 ARM926EJS (AT91SAM9260 SoC) + ------------------------------------------------------------------------- Unknown / orphaned boards:(quoted diff) +0
-0b/board/starterkit/skat91_sim508/Makefile new file mode 100644 index 0000000..77965f8
board/starterkit/skat91_sim508/Makefile new file +44
-0@@ -0,0 +1,44 @@ +# +# Copyright (C) 2011 by Vladimir Zapolskiy<[email protected]> +# Copyright (C) 2008, Guennadi Liakhovetski<[email protected]> +# +# 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., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301, USA. +# + +include $(TOPDIR)/config.mk + +LIB = $(obj)lib$(BOARD).o + +COBJS := skat91_sim508.o partition.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)) + +######################################################################### + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +#########################################################################(quoted diff) +0
-0
b/board/starterkit/skat91_sim508/partition.cnew file mode 100644 index 0000000..f82046dboard/starterkit/skat91_sim508/partition.c new file +39
-0@@ -0,0 +1,39 @@ +/* +* StarterKit SK-AT91SAM9/SIM508 board support, dataflash partitions +* +* Copyright (C) 2011 Vladimir Zapolskiy<[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., 51 Franklin Street, Fifth Floor, Boston, +* MA 02110-1301, 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 }, +}; + +/* define the area offsets */ +dataflash_protect_t area_list[NB_DATAFLASH_AREA ] = { + {0x00000000 ,0x00003FFF ,FLAG_PROTECT_SET ,0 ,"Bootstrap" }, + {0x00004000 ,0x00007FFF ,FLAG_PROTECT_CLEAR ,0 ,"Environment" }, + {0x00008000 ,0x00037FFF ,FLAG_PROTECT_SET ,0 ,"U-Boot" }, + {0x00038000 ,0x0041FFFF ,FLAG_PROTECT_CLEAR ,0 ,"Kernel" }, +};(quoted diff) +0
-0
b/board/starterkit/skat91_sim508/skat91_sim508.cnew file mode 100644 index 0000000..bcd6a94board/starterkit/skat91_sim508/skat91_sim508.c new file +41
-0@@ -0,0 +1,124 @@ +/* +* StarterKit SK-AT91SAM9/SIM508 board support +* +* Copyright (C) 2011 Vladimir Zapolskiy<[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., 51 Franklin Street, Fifth Floor, Boston, +* MA 02110-1301, USA. +*/ + +#include <common.h> +#include <netdev.h> + +#include <asm/arch/at91sam9260_matrix.h> +#include <asm/arch/at91sam9_smc.h> +#include <asm/arch/at91_pmc.h> +#include <asm/arch/at91_pio.h> +#include <asm/arch/at91_rstc.h> +#include <asm/arch/at91_common.h> +#include <asm/arch/gpio.h> +#include <asm/io.h> + +DECLARE_GLOBAL_DATA_PTR ; + +#ifdef CONFIG_CMD_NAND +static void skat91_sim508_nand_hw_init (void ) +{ +struct at91_pmc *pmc = (at91_pmc_t *)ATMEL_BASE_PMC ; +struct at91_smc *smc = (at91_smc_t *)ATMEL_BASE_SMC ; +struct at91_matrix *matrix = (struct at91_matrix *)ATMEL_BASE_MATRIX ;
Quoted 9 lines
board/starterkit/skat91_sim508/skat91_sim508.c
Quoted 6 lines
board/starterkit/skat91_sim508/skat91_sim508.c new file +6
-0+unsigned long csa; + +/* Assign CS3 to NAND/SmartMedia Interface */ + csa =readl (&matrix->ebicsa); + csa |=AT91_MATRIX_CS3A_SMC_SMARTMEDIA ; +writel (csa,&matrix->ebicsa);
setbits_le32()
Ok, thanks.
Quoted 276 lines
Quoted 222 lines
board/starterkit/skat91_sim508/skat91_sim508.c new file +77
-0+ +/* Configure SMC CS3 for NAND/SmartMedia */ +writel (AT91_SMC_SETUP_NWE (1 ) |AT91_SMC_SETUP_NCS_WR (0 ) | +AT91_SMC_SETUP_NRD (1 ) |AT91_SMC_SETUP_NCS_RD (0 ), + &smc->cs[3 ].setup); + +writel (AT91_SMC_PULSE_NWE (3 ) |AT91_SMC_PULSE_NCS_WR (3 ) | +AT91_SMC_PULSE_NRD (3 ) |AT91_SMC_PULSE_NCS_RD (3 ), + &smc->cs[3 ].pulse); + +writel (AT91_SMC_CYCLE_NWE (5 ) |AT91_SMC_CYCLE_NRD (5 ), + &smc->cs[3 ].cycle); + +writel (AT91_SMC_MODE_RM_NRD |AT91_SMC_MODE_WM_NWE | +AT91_SMC_MODE_EXNW_DISABLE | +AT91_SMC_MODE_DBW_8 | +AT91_SMC_MODE_TDF_CYCLE (2 ), + &smc->cs[3 ].mode); + +writel (1 <<ATMEL_ID_PIOC ,&pmc->pcer); + +/* Configure RDY/BSY */ +at91_set_pio_input (CONFIG_SYS_NAND_READY_PIN ,1 ); + +/* Enable NandFlash */ +at91_set_pio_output (CONFIG_SYS_NAND_ENABLE_PIN ,1 ); +} +#endif + +#ifdef CONFIG_MACB +static void skat91_sim508_macb_hw_init (void ) +{ +at91_pmc_t *pmc = (at91_pmc_t *)ATMEL_BASE_PMC ; + +/* Enable EMAC clock */ +writel (1 <<ATMEL_ID_EMAC0 ,&pmc->pcer); + +at91_macb_hw_init (); +} + +int board_eth_init (bd_t *bis) +{ +return macb_eth_initialize (0 , (void *)ATMEL_BASE_EMAC0 ,0x01 ); +} +#endif + +int board_early_init_f (void ) +{ +at91_seriald_hw_init (); + +return 0 ; +} + +int board_init (void ) +{ +/* Enable Ctrlc */ +console_init_f (); + +/* adress of boot parameters */ + gd->bd->bi_boot_params =CONFIG_SYS_SDRAM_BASE +0x100 ; + +#ifdef CONFIG_CMD_NAND +skat91_sim508_nand_hw_init (); +#endif +#ifdef CONFIG_MACB +skat91_sim508_macb_hw_init (); +#endif +return 0 ; +} + +int dram_init (void ) +{ + gd->ram_size =get_ram_size ((void *)CONFIG_SYS_SDRAM_BASE , +CONFIG_SYS_SDRAM_SIZE ); + +return 0 ; +}boards.cfg +0
-0@@ -118,6 +118,8 @@ cpu9G20_nand_128M arm arm926ejscpu9260 eukrea pm9261 arm
arm926ejs pm9261 ronetix at91
pm9261:AT91SAM9261 pm9263 arm arm926ejs
pm9263 ronetix at91 pm9263:AT91SAM9263 pm9g45
arm arm926ejs pm9g45 ronetix
at91 pm9g45:AT91SAM9G45 +skat91_sim508 arm
arm926ejsskat91_sim508starterkit at91
skat91_sim508:AT91SAM9260,SYS_USE_NANDFLASH +skat91_sim508_dataflash
arm arm926ejsskat91_sim508starterkit at91
skat91_sim508:AT91SAM9260,SYS_USE_DATAFLASH_CS0cam_enc_4xx
arm arm926ejscam_enc_4xxait davincicam_enc_4xxda830evm arm arm926ejs da8xxevm
davinci davincida850_am18xxevmarm
arm926ejs da8xxevm davinci davinci diff --gita/include/configs/skat91_sim508.hb/include/configs/skat91_sim508.hnew file mode 100644
index 0000000..da939c7include/configs/skat91_sim508.h new file +120
-0@@ -0,0 +1,181 @@ +/* +* Starterkit SK-AT91SAM9/SIM508 board configuration file +* +* Copyright (C) 2011 Vladimir Zapolskiy<[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., 51 Franklin Street, Fifth Floor, Boston, +* MA 02110-1301, USA. +*/ + +#ifndef __CONFIG_SKAT91_SIM508_H__ +#define __CONFIG_SKAT91_SIM508_H__ + +#include <asm/sizes.h> +#include <asm/hardware.h> + +/* Define SK-AT91SAM9/SIM508 machine type by hand */ +#define MACH_TYPE_SKAT91_SIM508 2789 +#define CONFIG_MACH_TYPE MACH_TYPE_SKAT91_SIM508 + +#define CONFIG_SYS_ICACHE_OFF +#define CONFIG_SYS_DCACHE_OFF +#define CONFIG_SKIP_LOWLEVEL_INIT +#define CONFIG_BOARD_EARLY_INIT_F + +/* ARM asynchronous clock */ +#define CONFIG_SYS_AT91_SLOW_CLOCK 32768 +#define CONFIG_SYS_AT91_MAIN_CLOCK 12000000 +#define CONFIG_SYS_HZ 1000 + +/* SoC configurations */ +#define CONFIG_ARCH_CPU_INIT + +/* Memory configurations */ +#define CONFIG_NR_DRAM_BANKS 1 +#define CONFIG_STACKSIZE SZ_32K +#define CONFIG_SYS_MALLOC_LEN SZ_1M +#define CONFIG_SYS_SDRAM_BASE ATMEL_BASE_CS1 +#define CONFIG_SYS_SDRAM_SIZE SZ_64M +#define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE +#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_TEXT_BASE - SZ_1M) + +#define CONFIG_SYS_TEXT_BASE 0x23F00000 +#define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_MEMTEST_START + SZ_32K) + +#define CONFIG_SYS_INIT_RAM_SIZE SZ_4K +#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_SDRAM_BASE + \ + CONFIG_SYS_INIT_RAM_SIZE - \ + GENERATED_GBL_DATA_SIZE) +#define CONFIG_SYS_INIT_SP_ADDR CONFIG_SYS_GBL_DATA_OFFSET + +/* Hardware drivers */ +#define CONFIG_AT91_GPIO + +/* Serial driver */ +#define CONFIG_ATMEL_USART +#define CONFIG_USART_BASE ATMEL_BASE_DBGU +#define CONFIG_USART_ID ATMEL_ID_SYS +#define CONFIG_BAUDRATE 115200 +#define CONFIG_SYS_BAUDRATE_TABLE { 115200 , 57600, 38400, 19200, 9600 } + +/* DataFlash */ +#define CONFIG_CMD_FLASH +#define CONFIG_ATMEL_DATAFLASH_SPI +#define CONFIG_HAS_DATAFLASH +#define CONFIG_SYS_SPI_WRITE_TOUT (5 * CONFIG_SYS_HZ) +#define CONFIG_SYS_MAX_DATAFLASH_BANKS 1 +#define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 0xC0000000 +#define AT91_SPI_CLK 15000000 +#define DATAFLASH_TCSS (0x1a<< 16) +#define DATAFLASH_TCHS (0x01<< 24) + +/* NOR flash - no real flash on this board */ +#define CONFIG_SYS_NO_FLASH + +/* NAND Flash */ +#define CONFIG_CMD_NAND +#define CONFIG_NAND_ATMEL +#define CONFIG_SYS_MAX_NAND_DEVICE 1 +#define CONFIG_SYS_NAND_BASE ATMEL_BASE_CS3 +#define CONFIG_SYS_NAND_DBW_8 1 +#define CONFIG_SYS_NAND_READY_PIN AT91_PIO_PORTC, 13 +#define CONFIG_SYS_NAND_ENABLE_PIN AT91_PIO_PORTC, 14 +#define CONFIG_SYS_NAND_MASK_ALE (1<< 21) +#define CONFIG_SYS_NAND_MASK_CLE (1<< 22) + +/* Ethernet */ +#define CONFIG_MACB +#define CONFIG_RMII +#define CONFIG_NET_RETRY_COUNT 20 + +#define CONFIG_PHYLIB +#define CONFIG_PHY_MICREL + +/* U-Boot General Configurations */ +#define CONFIG_SYS_LONGHELP +#define CONFIG_SYS_PROMPT "=> " +#define CONFIG_SYS_CBSIZE 1024/* Console I/O buffer size */ +#define CONFIG_SYS_PBSIZE \ + (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) +#define CONFIG_SYS_MAXARGS 16 +#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE + +#define CONFIG_AUTO_COMPLETE +#define CONFIG_CMDLINE_EDITING +#define CONFIG_VERSION_VARIABLE +#define CONFIG_DISPLAY_CPUINFO +#define CONFIG_DOS_PARTITION +include/configs/skat91_sim508.h line 130
Quoted 10 lines
include/configs/skat91_sim508.h new file +10
-0+#if defined(CONFIG_SYS_USE_DATAFLASH_CS0 ) +#define CONFIG_ENV_IS_IN_DATAFLASH +#define CONFIG_SYS_MONITOR_BASE \ + (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + 0x8000) +#define CONFIG_ENV_OFFSET 0x4000 +#define CONFIG_ENV_ADDR \ + (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + CONFIG_ENV_OFFSET) +#define CONFIG_ENV_SIZE SZ_16K +#define CONFIG_BOOTCOMMAND "cp.b 0xC0038000 0x20400000 0x170000; bootm" +#define CONFIG_BOOTARGS "console=ttyS0,115200 "\
include/configs/skat91_sim508.h
Quoted 9 lines
include/configs/skat91_sim508.h new file +9
-0+"root=/dev/mtdblock0 " \ +"mtdparts=atmel_nand:-(root) " \ + "rw rootfstype=jffs2" +#elif defined(CONFIG_SYS_USE_NANDFLASH ) +#define CONFIG_ENV_IS_IN_NAND +#define CONFIG_ENV_OFFSET 0x020000/* Erase size */ +#define CONFIG_ENV_SIZE SZ_128K/* Erase size */ +#define CONFIG_BOOTCOMMAND "nand read 0x20400000 0x80000 0x200000; bootm" +#define CONFIG_BOOTARGS "console=ttyS0,115200 "\
Quoted 33 lines
include/configs/skat91_sim508.h new file +33
-0+"root=/dev/mtdblock5 " \ +"mtdparts=atmel_nand:128k(bootstrap)ro," \ +"256k(uboot)ro,128k(env)ro," \ +"2M(linux),-(root) " \ + "rw rootfstype=jffs2" +#else +#define CONFIG_ENV_IS_NOWHERE +#define CONFIG_ENV_SIZE SZ_128K +#define CONFIG_BOOTARGS "console=ttyS2,115200n8" +#endif + +/* U-Boot Commands */ +#include <config_cmd_default.h> +#undef CONFIG_CMD_FPGA +#undef CONFIG_CMD_IMI +#undef CONFIG_CMD_IMLS +#undef CONFIG_CMD_LOADS + +#define CONFIG_CMD_CACHE +#define CONFIG_CMD_PING +#define CONFIG_CMD_DHCP + +/* BOOTP options */ +#define CONFIG_BOOTP_BOOTFILESIZE +#define CONFIG_BOOTP_BOOTPATH +#define CONFIG_BOOTP_GATEWAY +#define CONFIG_BOOTP_HOSTNAME + +/* Boot Linux */ +#define CONFIG_CMDLINE_TAG +#define CONFIG_SETUP_MEMORY_TAGS +#define CONFIG_ZERO_BOOTDELAY_CHECK +#define CONFIG_BOOTDELAY 3
Quoted 8 lines
include/configs/skat91_sim508.h line 180
Quoted 8 lines
include/configs/skat91_sim508.h new file +8
-0+ +#define CONFIG_BOOTFILE "uImage" +#define CONFIG_LOADADDR 0x20400000 +#define CONFIG_EXTRA_ENV_SETTINGS \ + "ethaddr=00:01:02:B4:36:65\0" \ + "ipaddr=192.168.3.2\0" \ + "serverip=192.168.3.1\0" \ +
Forgot to remove CONFIG_EXTRA_ENV_SETTINGS, I'll do it in the next patch version.
Quoted 3 lines
include/configs/skat91_sim508.h line 181
Quoted 1 line
include/configs/skat91_sim508.h new file +1
-0+#endif /* __CONFIG_SKAT91_SIM508_H__ */ Otherwise seems fine
Nice, thanks a lot.
Signature · 2 lines
With best wishes, Vladimir
PATCH 1/1 skat91: add support for SK-AT91SAM9/SIM508 board
Quoted 350 lines · Marek Vasut
Quoted 180 lines
Quoted 180 lines
This change adds complete support for Starterkit SK-AT91SAM9/SIM508 board.
Signed-off-by Vladimir Zapolskiy<[email protected]>---
MAINTAINERS | 4 + board/starterkit/skat91_sim508/Makefile | 44 ++++++ board/starterkit/skat91_sim508/partition.c | 39 +++++ board/starterkit/skat91_sim508/skat91_sim508.c | 124 ++++++++++++++++ boards.cfg | 2 + include/configs/skat91_sim508.h | 181++++++++++++++++++++++++ 6 files changed, 394 insertions(+), 0 deletions(-)
create mode 100644 board/starterkit/skat91_sim508/Makefile create mode 100644
board/starterkit/skat91_sim508/partition.ccreate mode 100644board/starterkit/skat91_sim508/skat91_sim508.ccreate mode 100644include/configs/skat91_sim508.hMAINTAINERS +4
-0@@ -914,6 +914,10 @@ Sughosh Ganu<[email protected]> hawkboard ARM926EJS (OMAP-L138) +Vladimir Zapolskiy<[email protected]> + + skat91_sim508 ARM926EJS (AT91SAM9260 SoC) + ---------------------------------------------------------------------- ---Unknown / orphaned boards:
(quoted diff) +0
-0b/board/starterkit/skat91_sim508/Makefile new file mode 100644 index 0000000..77965f8
board/starterkit/skat91_sim508/Makefile new file +37
-0@@ -0,0 +1,44 @@ +# +# Copyright (C) 2011 by Vladimir Zapolskiy<[email protected]> +# Copyright (C) 2008, Guennadi Liakhovetski<[email protected]> +# +# 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., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301, USA. +# + +include $(TOPDIR)/config.mk + +LIB = $(obj)lib$(BOARD).o + +COBJS := skat91_sim508.o partition.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)) + +######################################################################### +
board/starterkit/skat91_sim508/Makefile new file +6
-0+# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +######################################################################### diff --git
a/board/starterkit/skat91_sim508/partition.cb/board/starterkit/skat91_sim508/partition.cnew file mode 100644 index 0000000..f82046dboard/starterkit/skat91_sim508/partition.c new file +39
-0@@ -0,0 +1,39 @@ +/* +* StarterKit SK-AT91SAM9/SIM508 board support, dataflash partitions +* +* Copyright (C) 2011 Vladimir Zapolskiy<[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., 51 Franklin Street, Fifth Floor, Boston, +* MA 02110-1301, 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 }, +}; + +/* define the area offsets */ +dataflash_protect_t area_list[NB_DATAFLASH_AREA ] = { + {0x00000000 ,0x00003FFF ,FLAG_PROTECT_SET ,0 ,"Bootstrap" }, + {0x00004000 ,0x00007FFF ,FLAG_PROTECT_CLEAR ,0 ,"Environment" }, + {0x00008000 ,0x00037FFF ,FLAG_PROTECT_SET ,0 ,"U-Boot" }, + {0x00038000 ,0x0041FFFF ,FLAG_PROTECT_CLEAR ,0 ,"Kernel" }, +};(quoted diff) +0
-0
b/board/starterkit/skat91_sim508/skat91_sim508.cnew file mode 100644 index 0000000..bcd6a94board/starterkit/skat91_sim508/skat91_sim508.c new file +41
-0@@ -0,0 +1,124 @@ +/* +* StarterKit SK-AT91SAM9/SIM508 board support +* +* Copyright (C) 2011 Vladimir Zapolskiy<[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., 51 Franklin Street, Fifth Floor, Boston, +* MA 02110-1301, USA. +*/ + +#include <common.h> +#include <netdev.h> + +#include <asm/arch/at91sam9260_matrix.h> +#include <asm/arch/at91sam9_smc.h> +#include <asm/arch/at91_pmc.h> +#include <asm/arch/at91_pio.h> +#include <asm/arch/at91_rstc.h> +#include <asm/arch/at91_common.h> +#include <asm/arch/gpio.h> +#include <asm/io.h> + +DECLARE_GLOBAL_DATA_PTR ; + +#ifdef CONFIG_CMD_NAND +static void skat91_sim508_nand_hw_init (void ) +{ +struct at91_pmc *pmc = (at91_pmc_t *)ATMEL_BASE_PMC ; +struct at91_smc *smc = (at91_smc_t *)ATMEL_BASE_SMC ; +struct at91_matrix *matrix = (struct at91_matrix *)ATMEL_BASE_MATRIX ;Quoted 8 lines
board/starterkit/skat91_sim508/skat91_sim508.c
Quoted 6 lines
board/starterkit/skat91_sim508/skat91_sim508.c new file +6
-0+unsigned long csa; + +/* Assign CS3 to NAND/SmartMedia Interface */ + csa =readl (&matrix->ebicsa); + csa |=AT91_MATRIX_CS3A_SMC_SMARTMEDIA ; +writel (csa,&matrix->ebicsa);
setbits_le32()Ok, thanks.
Quoted 158 lines
Quoted 158 lines
board/starterkit/skat91_sim508/skat91_sim508.c new file +77
-0+ +/* Configure SMC CS3 for NAND/SmartMedia */ +writel (AT91_SMC_SETUP_NWE (1 ) |AT91_SMC_SETUP_NCS_WR (0 ) | +AT91_SMC_SETUP_NRD (1 ) |AT91_SMC_SETUP_NCS_RD (0 ), + &smc->cs[3 ].setup); + +writel (AT91_SMC_PULSE_NWE (3 ) |AT91_SMC_PULSE_NCS_WR (3 ) | +AT91_SMC_PULSE_NRD (3 ) |AT91_SMC_PULSE_NCS_RD (3 ), + &smc->cs[3 ].pulse); + +writel (AT91_SMC_CYCLE_NWE (5 ) |AT91_SMC_CYCLE_NRD (5 ), + &smc->cs[3 ].cycle); + +writel (AT91_SMC_MODE_RM_NRD |AT91_SMC_MODE_WM_NWE | +AT91_SMC_MODE_EXNW_DISABLE | +AT91_SMC_MODE_DBW_8 | +AT91_SMC_MODE_TDF_CYCLE (2 ), + &smc->cs[3 ].mode); + +writel (1 <<ATMEL_ID_PIOC ,&pmc->pcer); + +/* Configure RDY/BSY */ +at91_set_pio_input (CONFIG_SYS_NAND_READY_PIN ,1 ); + +/* Enable NandFlash */ +at91_set_pio_output (CONFIG_SYS_NAND_ENABLE_PIN ,1 ); +} +#endif + +#ifdef CONFIG_MACB +static void skat91_sim508_macb_hw_init (void ) +{ +at91_pmc_t *pmc = (at91_pmc_t *)ATMEL_BASE_PMC ; + +/* Enable EMAC clock */ +writel (1 <<ATMEL_ID_EMAC0 ,&pmc->pcer); + +at91_macb_hw_init (); +} + +int board_eth_init (bd_t *bis) +{ +return macb_eth_initialize (0 , (void *)ATMEL_BASE_EMAC0 ,0x01 ); +} +#endif + +int board_early_init_f (void ) +{ +at91_seriald_hw_init (); + +return 0 ; +} + +int board_init (void ) +{ +/* Enable Ctrlc */ +console_init_f (); + +/* adress of boot parameters */ + gd->bd->bi_boot_params =CONFIG_SYS_SDRAM_BASE +0x100 ; + +#ifdef CONFIG_CMD_NAND +skat91_sim508_nand_hw_init (); +#endif +#ifdef CONFIG_MACB +skat91_sim508_macb_hw_init (); +#endif +return 0 ; +} + +int dram_init (void ) +{ + gd->ram_size =get_ram_size ((void *)CONFIG_SYS_SDRAM_BASE , +CONFIG_SYS_SDRAM_SIZE ); + +return 0 ; +}boards.cfg +0
-0@@ -118,6 +118,8 @@ cpu9G20_nand_128M arm arm926ejscpu9260 eukrea pm9261 arm
arm926ejs pm9261 ronetix at91
pm9261:AT91SAM9261 pm9263 arm arm926ejs
pm9263 ronetix at91 pm9263:AT91SAM9263 pm9g45arm arm926ejs pm9g45 ronetix
at91 pm9g45:AT91SAM9G45 +skat91_sim508 arm
arm926ejs
skat91_sim508starterkit at91skat91_sim508:AT91SAM9260,SYS_USE_NANDFLASH +skat91_sim508_dataflash
arm arm926ejsskat91_sim508starterkit at91
skat91_sim508:AT91SAM9260,SYS_USE_DATAFLASH_CS0cam_enc_4xxarm arm926ejs
cam_enc_4xxait davinci
cam_enc_4xxda830evm arm arm926ejs
da8xxevmdavinci davinci
da850_am18xxevmarmarm926ejs da8xxevm davinci davinci diff --git
a/include/configs/skat91_sim508.hb/include/configs/skat91_sim508.hnew file mode 100644
index 0000000..da939c7include/configs/skat91_sim508.h new file +47
-0@@ -0,0 +1,181 @@ +/* +* Starterkit SK-AT91SAM9/SIM508 board configuration file +* +* Copyright (C) 2011 Vladimir Zapolskiy<[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., 51 Franklin Street, Fifth Floor, Boston, +* MA 02110-1301, USA. +*/ + +#ifndef __CONFIG_SKAT91_SIM508_H__ +#define __CONFIG_SKAT91_SIM508_H__ + +#include <asm/sizes.h> +#include <asm/hardware.h> + +/* Define SK-AT91SAM9/SIM508 machine type by hand */ +#define MACH_TYPE_SKAT91_SIM508 2789 +#define CONFIG_MACH_TYPE MACH_TYPE_SKAT91_SIM508 + +#define CONFIG_SYS_ICACHE_OFF +#define CONFIG_SYS_DCACHE_OFF +#define CONFIG_SKIP_LOWLEVEL_INIT +#define CONFIG_BOARD_EARLY_INIT_F + +/* ARM asynchronous clock */ +#define CONFIG_SYS_AT91_SLOW_CLOCK 32768 +#define CONFIG_SYS_AT91_MAIN_CLOCK 12000000 +#define CONFIG_SYS_HZ 1000 + +/* SoC configurations */ +#define CONFIG_ARCH_CPU_INIT + +/* Memory configurations */ +#define CONFIG_NR_DRAM_BANKS 1 +#define CONFIG_STACKSIZE SZ_32K
Quoted 8 lines
Quoted 8 lines
include/configs/skat91_sim508.h
Quoted 8 lines
include/configs/skat91_sim508.h new file +8
-0+#define CONFIG_SYS_MALLOC_LEN SZ_1M +#define CONFIG_SYS_SDRAM_BASE ATMEL_BASE_CS1 +#define CONFIG_SYS_SDRAM_SIZE SZ_64M +#define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE +#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_TEXT_BASE - SZ_1M) + +#define CONFIG_SYS_TEXT_BASE 0x23F00000 +#define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_MEMTEST_START +
SZ_32K)
Quoted 66 lines
Quoted 66 lines
Quoted 66 lines
include/configs/skat91_sim508.h new file +16
-0+ +#define CONFIG_SYS_INIT_RAM_SIZE SZ_4K +#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_SDRAM_BASE + \ + CONFIG_SYS_INIT_RAM_SIZE - \ + GENERATED_GBL_DATA_SIZE) +#define CONFIG_SYS_INIT_SP_ADDR CONFIG_SYS_GBL_DATA_OFFSET + +/* Hardware drivers */ +#define CONFIG_AT91_GPIO + +/* Serial driver */ +#define CONFIG_ATMEL_USART +#define CONFIG_USART_BASE ATMEL_BASE_DBGU +#define CONFIG_USART_ID ATMEL_ID_SYS +#define CONFIG_BAUDRATE 115200 +#define CONFIG_SYS_BAUDRATE_TABLE { 115200 , 57600, 38400, 19200, 9600} +
include/configs/skat91_sim508.h new file +49
-0+/* DataFlash */ +#define CONFIG_CMD_FLASH +#define CONFIG_ATMEL_DATAFLASH_SPI +#define CONFIG_HAS_DATAFLASH +#define CONFIG_SYS_SPI_WRITE_TOUT (5 * CONFIG_SYS_HZ) +#define CONFIG_SYS_MAX_DATAFLASH_BANKS 1 +#define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 0xC0000000 +#define AT91_SPI_CLK 15000000 +#define DATAFLASH_TCSS (0x1a<< 16) +#define DATAFLASH_TCHS (0x01<< 24) + +/* NOR flash - no real flash on this board */ +#define CONFIG_SYS_NO_FLASH + +/* NAND Flash */ +#define CONFIG_CMD_NAND +#define CONFIG_NAND_ATMEL +#define CONFIG_SYS_MAX_NAND_DEVICE 1 +#define CONFIG_SYS_NAND_BASE ATMEL_BASE_CS3 +#define CONFIG_SYS_NAND_DBW_8 1 +#define CONFIG_SYS_NAND_READY_PIN AT91_PIO_PORTC, 13 +#define CONFIG_SYS_NAND_ENABLE_PIN AT91_PIO_PORTC, 14 +#define CONFIG_SYS_NAND_MASK_ALE (1<< 21) +#define CONFIG_SYS_NAND_MASK_CLE (1<< 22) + +/* Ethernet */ +#define CONFIG_MACB +#define CONFIG_RMII +#define CONFIG_NET_RETRY_COUNT 20 + +#define CONFIG_PHYLIB +#define CONFIG_PHY_MICREL + +/* U-Boot General Configurations */ +#define CONFIG_SYS_LONGHELP +#define CONFIG_SYS_PROMPT "=> " +#define CONFIG_SYS_CBSIZE 1024/* Console I/O buffer size */ +#define CONFIG_SYS_PBSIZE \ + (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) +#define CONFIG_SYS_MAXARGS 16 +#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE + +#define CONFIG_AUTO_COMPLETE +#define CONFIG_CMDLINE_EDITING +#define CONFIG_VERSION_VARIABLE +#define CONFIG_DISPLAY_CPUINFO +#define CONFIG_DOS_PARTITION + +#if defined(CONFIG_SYS_USE_DATAFLASH_CS0 )
Quoted 8 lines
Quoted 8 lines
include/configs/skat91_sim508.h
Quoted 8 lines
include/configs/skat91_sim508.h new file +8
-0+#define CONFIG_ENV_IS_IN_DATAFLASH +#define CONFIG_SYS_MONITOR_BASE \ + (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + 0x8000) +#define CONFIG_ENV_OFFSET 0x4000 +#define CONFIG_ENV_ADDR \ + (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + CONFIG_ENV_OFFSET) +#define CONFIG_ENV_SIZE SZ_16K +#define CONFIG_BOOTCOMMAND "cp.b 0xC0038000 0x20400000 0x170000;
bootm"
Quoted 61 lines
Quoted 49 lines
Quoted 1 line
+#define
CONFIG_BOOTARGS"console=ttyS0,115200 "\
Quoted 9 lines
include/configs/skat91_sim508.h new file +8
-0+"root=/dev/mtdblock0 " \ +"mtdparts=atmel_nand:-(root) " \ + "rw rootfstype=jffs2" +#elif defined(CONFIG_SYS_USE_NANDFLASH ) +#define CONFIG_ENV_IS_IN_NAND +#define CONFIG_ENV_OFFSET 0x020000/* Erase size */ +#define CONFIG_ENV_SIZE SZ_128K/* Erase size */ +#define CONFIG_BOOTCOMMAND "nand read 0x20400000 0x80000 0x200000;bootm" +#define
CONFIG_BOOTARGS"console=ttyS0,115200 "\
Quoted 33 lines
include/configs/skat91_sim508.h new file +33
-0+"root=/dev/mtdblock5 " \ +"mtdparts=atmel_nand:128k(bootstrap)ro," \ +"256k(uboot)ro,128k(env)ro," \ +"2M(linux),-(root) " \ + "rw rootfstype=jffs2" +#else +#define CONFIG_ENV_IS_NOWHERE +#define CONFIG_ENV_SIZE SZ_128K +#define CONFIG_BOOTARGS "console=ttyS2,115200n8" +#endif + +/* U-Boot Commands */ +#include <config_cmd_default.h> +#undef CONFIG_CMD_FPGA +#undef CONFIG_CMD_IMI +#undef CONFIG_CMD_IMLS +#undef CONFIG_CMD_LOADS + +#define CONFIG_CMD_CACHE +#define CONFIG_CMD_PING +#define CONFIG_CMD_DHCP + +/* BOOTP options */ +#define CONFIG_BOOTP_BOOTFILESIZE +#define CONFIG_BOOTP_BOOTPATH +#define CONFIG_BOOTP_GATEWAY +#define CONFIG_BOOTP_HOSTNAME + +/* Boot Linux */ +#define CONFIG_CMDLINE_TAG +#define CONFIG_SETUP_MEMORY_TAGS +#define CONFIG_ZERO_BOOTDELAY_CHECK +#define CONFIG_BOOTDELAY 3Quoted 8 lines
include/configs/skat91_sim508.h line 180
Quoted 8 lines
include/configs/skat91_sim508.h new file +8
-0+ +#define CONFIG_BOOTFILE "uImage" +#define CONFIG_LOADADDR 0x20400000 +#define CONFIG_EXTRA_ENV_SETTINGS \ + "ethaddr=00:01:02:B4:36:65\0" \ + "ipaddr=192.168.3.2\0" \ + "serverip=192.168.3.1\0" \ +Forgot to remove
CONFIG_EXTRA_ENV_SETTINGS, I'll do it in the next patch version.
Quoted 5 lines
Quoted 3 lines
Quoted 1 line
+#endif /*
__CONFIG_SKAT91_SIM508_H__*/Otherwise seems fine
Nice, thanks a lot.
Right, also run the patches via tools/checkpatch.pl to make sure they're clean