1/* 2 * (C) Copyright 2007-2008 3 * Stelian Pop <stelian@popies.net> 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 * SPDX-License-Identifier: GPL-2.0+ 12 */ 13 14#ifndef __CONFIG_H 15#define __CONFIG_H 16 17/* 18 * SoC must be defined first, before hardware.h is included. 19 * In this case SoC is defined in boards.cfg. 20 */ 21#include <asm/hardware.h> 22 23#if defined(CONFIG_TNY_A9260_NANDFLASH) || defined(CONFIG_TNY_A9G20_NANDFLASH) 24#define CONFIG_ENV_IS_IN_NAND 25#else 26#define CONFIG_ENV_IS_IN_EEPROM 27#endif 28 29/* Define actual evaluation board type from used processor type */ 30#ifdef CONFIG_AT91SAM9G20 31# define CONFIG_TNY_A9G20 32# define MACH_TYPE_TNY_A9G20 2059 33# define CONFIG_MACH_TYPE MACH_TYPE_TNY_A9G20 34#else 35# define CONFIG_TNY_A9260 36# define MACH_TYPE_TNY_A9260 2058 37# define CONFIG_MACH_TYPE MACH_TYPE_TNY_A9260 38#endif 39 40/* ARM asynchronous clock */ 41#define CONFIG_SYS_AT91_SLOW_CLOCK 32768 /* slow clock xtal */ 42#define CONFIG_SYS_AT91_MAIN_CLOCK 12000000 /* 12 MHz crystal */ 43 44#define CONFIG_ARCH_CPU_INIT 45#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */ 46#define CONFIG_SETUP_MEMORY_TAGS 47#define CONFIG_INITRD_TAG 48#define CONFIG_SKIP_LOWLEVEL_INIT 49 50/* 51 * Hardware drivers 52 */ 53#define CONFIG_ATMEL_LEGACY 54#define CONFIG_AT91_GPIO 55 56#define CONFIG_ATMEL_USART 57#define CONFIG_USART_BASE ATMEL_BASE_DBGU 58#define CONFIG_USART_ID ATMEL_ID_SYS 59#define CONFIG_BAUDRATE 115200 60 61#define CONFIG_BOOTDELAY 3 62 63/* 64 * Command line configuration. 65 */ 66#include <config_cmd_default.h> 67#undef CONFIG_CMD_BDI 68#undef CONFIG_CMD_FPGA 69#undef CONFIG_CMD_IMI 70#undef CONFIG_CMD_IMLS 71#undef CONFIG_CMD_LOADS 72#undef CONFIG_CMD_NET 73#undef CONFIG_CMD_NFS 74#undef CONFIG_CMD_SOURCE 75#undef CONFIG_CMD_USB 76 77/* SDRAM */ 78#define CONFIG_NR_DRAM_BANKS 1 79#define CONFIG_SYS_SDRAM_BASE ATMEL_BASE_CS1 80#define CONFIG_SYS_SDRAM_SIZE 0x04000000 /* 64 megs */ 81# define CONFIG_SYS_INIT_SP_ADDR \ 82 (ATMEL_BASE_SRAM1 + 0x1000 - GENERATED_GBL_DATA_SIZE) 83 84/* SPI EEPROM */ 85#define CONFIG_SPI 86#define CONFIG_CMD_SPI 87#define CONFIG_ATMEL_SPI 88 89#define CONFIG_CMD_EEPROM 90#define CONFIG_SPI_M95XXX 91#define CONFIG_SYS_EEPROM_SIZE 0x10000 92#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 5 93 94/* NAND flash */ 95#define CONFIG_CMD_NAND 96#define CONFIG_NAND_ATMEL 97#define CONFIG_SYS_MAX_NAND_DEVICE 1 98#define CONFIG_SYS_NAND_BASE ATMEL_BASE_CS3 99#define CONFIG_SYS_NAND_DBW_8 100/* our ALE is AD21 */ 101#define CONFIG_SYS_NAND_MASK_ALE (1 << 21) 102/* our CLE is AD22 */ 103#define CONFIG_SYS_NAND_MASK_CLE (1 << 22) 104#define CONFIG_SYS_NAND_ENABLE_PIN AT91_PIN_PC14 105#define CONFIG_SYS_NAND_READY_PIN AT91_PIN_PC13 106 107/* NOR flash - no real flash on this board */ 108#define CONFIG_SYS_NO_FLASH 109 110#define CONFIG_DOS_PARTITION 111#define CONFIG_CMD_FAT 112 113#define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address */ 114 115#define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE 116#define CONFIG_SYS_MEMTEST_END 0x23e00000 117 118/* Env in EEPROM, bootstrap + u-boot in NAND*/ 119#ifdef CONFIG_ENV_IS_IN_EEPROM 120#define CONFIG_ENV_OFFSET 0x20 121#define CONFIG_ENV_SIZE 0x1000 122#endif 123 124/* Env, bootstrap and u-boot in NAND */ 125#ifdef CONFIG_ENV_IS_IN_NAND 126#define CONFIG_ENV_OFFSET 0x60000 127#define CONFIG_ENV_OFFSET_REDUND 0x80000 128#define CONFIG_ENV_SIZE 0x20000 129#endif 130 131#define CONFIG_BOOTCOMMAND "nboot 0x21000000 0 400000" 132#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ 133 "root=/dev/mtdblock1 " \ 134 "mtdparts=atmel_nand:16M(kernel)ro," \ 135 "120M(rootfs),-(other) " \ 136 "rw rootfstype=jffs2" 137 138#define CONFIG_SYS_PROMPT "U-Boot> " 139#define CONFIG_SYS_CBSIZE 256 140#define CONFIG_SYS_MAXARGS 16 141#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) 142#define CONFIG_SYS_LONGHELP 143#define CONFIG_CMDLINE_EDITING 144 145/* 146 * Size of malloc() pool 147 */ 148#define CONFIG_SYS_MALLOC_LEN ROUND(3 * CONFIG_ENV_SIZE + 128 * 1024, 0x1000) 149 150#endif 151