1/* 2 * (C) Copyright 2007-2008 3 * Stelian Pop <stelian.pop@leadtechdesign.com> 4 * Lead Tech Design <www.leadtechdesign.com> 5 * 6 * Copyright (C) 2009 7 * Albin Tonnerre, Free Electrons <albin.tonnerre@free-electrons.com> 8 * 9 * Configuation settings for the Calao TNY-A9260 and TNY-A9G20 boards 10 * 11 * See file CREDITS for list of people who contributed to this 12 * project. 13 * 14 * This program is free software; you can redistribute it and/or 15 * modify it under the terms of the GNU General Public License as 16 * published by the Free Software Foundation; either version 2 of 17 * the License, or (at your option) any later version. 18 * 19 * This program is distributed in the hope that it will be useful, 20 * but WITHOUT ANY WARRANTY; without even the implied warranty of 21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 * GNU General Public License for more details. 23 * 24 * You should have received a copy of the GNU General Public License 25 * along with this program; if not, write to the Free Software 26 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 27 * MA 02111-1307 USA 28 */ 29 30#ifndef __CONFIG_H 31#define __CONFIG_H 32 33#if defined(CONFIG_TNY_A9260_NANDFLASH) || defined(CONFIG_TNY_A9260_EEPROM) 34#define CONFIG_TNY_A9260 35#elif defined(CONFIG_TNY_A9G20_NANDFLASH) || defined(CONFIG_TNY_A9G20_EEPROM) 36#define CONFIG_TNY_A9G20 37#endif 38 39#ifdef CONFIG_TNY_A9260 40#define CONFIG_AT91SAM9260 41#else 42#define CONFIG_AT91SAM9G20 43#endif 44 45#if defined(CONFIG_TNY_A9260_NANDFLASH) || defined(CONFIG_TNY_A9G20_NANDFLASH) 46#define CONFIG_ENV_IS_IN_NAND 47#else 48#define CONFIG_ENV_IS_IN_EEPROM 49#endif 50 51/* ARM asynchronous clock */ 52#define AT91_MAIN_CLOCK 12000000 /* 12 MHz crystal */ 53#define CONFIG_SYS_HZ 1000 54 55#define CONFIG_ARM926EJS 1 /* This is an ARM926EJS Core */ 56#define CONFIG_ARCH_CPU_INIT 57#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */ 58 59#define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */ 60#define CONFIG_SETUP_MEMORY_TAGS 1 61#define CONFIG_INITRD_TAG 1 62 63#define CONFIG_SKIP_LOWLEVEL_INIT 64#define CONFIG_SKIP_RELOCATE_UBOOT 65 66/* 67 * Hardware drivers 68 */ 69#define CONFIG_ATMEL_USART 1 70#undef CONFIG_USART0 71#undef CONFIG_USART1 72#undef CONFIG_USART2 73#define CONFIG_USART3 1 /* USART 3 is DBGU */ 74 75#define CONFIG_BOOTDELAY 3 76 77/* 78 * Command line configuration. 79 */ 80#include <config_cmd_default.h> 81#undef CONFIG_CMD_BDI 82#undef CONFIG_CMD_FPGA 83#undef CONFIG_CMD_IMI 84#undef CONFIG_CMD_IMLS 85#undef CONFIG_CMD_LOADS 86#undef CONFIG_CMD_NET 87#undef CONFIG_CMD_SOURCE 88#undef CONFIG_CMD_USB 89 90/* SDRAM */ 91#define CONFIG_NR_DRAM_BANKS 1 92#define PHYS_SDRAM 0x20000000 93#define PHYS_SDRAM_SIZE 0x04000000 /* 64 megs */ 94 95/* SPI EEPROM */ 96#define CONFIG_SPI 97#define CONFIG_CMD_SPI 98#define CONFIG_ATMEL_SPI 99#define CONFIG_SYS_SPI_WRITE_TOUT (5 * CONFIG_SYS_HZ) 100 101#define CONFIG_CMD_EEPROM 102#define CONFIG_SPI_M95XXX 103#define CONFIG_SYS_EEPROM_SIZE 0x10000 104#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 5 105 106/* NAND flash */ 107#define CONFIG_CMD_NAND 108#define CONFIG_NAND_ATMEL 109#define CONFIG_SYS_MAX_NAND_DEVICE 1 110#define CONFIG_SYS_NAND_BASE 0x40000000 111#define CONFIG_SYS_NAND_DBW_8 1 112/* our ALE is AD21 */ 113#define CONFIG_SYS_NAND_MASK_ALE (1 << 21) 114/* our CLE is AD22 */ 115#define CONFIG_SYS_NAND_MASK_CLE (1 << 22) 116#define CONFIG_SYS_NAND_ENABLE_PIN AT91_PIN_PC14 117#define CONFIG_SYS_NAND_READY_PIN AT91_PIN_PC13 118 119/* NOR flash - no real flash on this board */ 120#define CONFIG_SYS_NO_FLASH 1 121 122#define CONFIG_DOS_PARTITION 1 123#define CONFIG_CMD_FAT 1 124 125#define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address */ 126 127#define CONFIG_SYS_MEMTEST_START PHYS_SDRAM 128#define CONFIG_SYS_MEMTEST_END 0x23e00000 129 130/* Env in EEPROM, bootstrap + u-boot in NAND*/ 131#ifdef CONFIG_ENV_IS_IN_EEPROM 132#define CONFIG_ENV_OFFSET 0x20 133#define CONFIG_ENV_SIZE 0x1000 134#endif 135 136/* Env, bootstrap and u-boot in NAND */ 137#ifdef CONFIG_ENV_IS_IN_NAND 138#define CONFIG_ENV_OFFSET 0x60000 139#define CONFIG_ENV_OFFSET_REDUND 0x80000 140#define CONFIG_ENV_SIZE 0x20000 141#define CONFIG_SYS_64BIT_VSPRINTF /* needed for nand_util.c */ 142#endif 143 144#define CONFIG_BOOTCOMMAND "nboot 0x21000000 0 400000" 145#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ 146 "root=/dev/mtdblock1 " \ 147 "mtdparts=atmel_nand:16M(kernel)ro," \ 148 "120M(rootfs),-(other) " \ 149 "rw rootfstype=jffs2" 150 151#define CONFIG_BAUDRATE 115200 152#define CONFIG_SYS_BAUDRATE_TABLE {115200 , 19200, 38400, 57600, 9600 } 153 154#define CONFIG_SYS_PROMPT "U-Boot> " 155#define CONFIG_SYS_CBSIZE 256 156#define CONFIG_SYS_MAXARGS 16 157#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) 158#define CONFIG_SYS_LONGHELP 1 159#define CONFIG_CMDLINE_EDITING 1 160 161/* 162 * Size of malloc() pool 163 */ 164#define CONFIG_SYS_MALLOC_LEN ROUND(3 * CONFIG_ENV_SIZE + 128 * 1024, 0x1000) 165#define CONFIG_SYS_GBL_DATA_SIZE 128 /* 128 bytes for initial data */ 166 167#define CONFIG_STACKSIZE (32 * 1024) /* regular stack */ 168 169#ifdef CONFIG_USE_IRQ 170#error CONFIG_USE_IRQ not supported 171#endif 172 173#endif 174