133b1d3f4SDaniel Gorsulowski /* 233b1d3f4SDaniel Gorsulowski * (C) Copyright 2007-2008 3c9e798d3SStelian Pop * Stelian Pop <stelian@popies.net> 433b1d3f4SDaniel Gorsulowski * Lead Tech Design <www.leadtechdesign.com> 533b1d3f4SDaniel Gorsulowski * 60cb77bfaSMatthias Fuchs * (C) Copyright 2009-2011 733b1d3f4SDaniel Gorsulowski * Daniel Gorsulowski <daniel.gorsulowski@esd.eu> 833b1d3f4SDaniel Gorsulowski * esd electronic system design gmbh <www.esd.eu> 933b1d3f4SDaniel Gorsulowski * 1033b1d3f4SDaniel Gorsulowski * Configuation settings for the esd MEESC board. 1133b1d3f4SDaniel Gorsulowski * 121a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 1333b1d3f4SDaniel Gorsulowski */ 1433b1d3f4SDaniel Gorsulowski 1533b1d3f4SDaniel Gorsulowski #ifndef __CONFIG_H 1633b1d3f4SDaniel Gorsulowski #define __CONFIG_H 1733b1d3f4SDaniel Gorsulowski 180cb77bfaSMatthias Fuchs /* 190cb77bfaSMatthias Fuchs * SoC must be defined first, before hardware.h is included. 200cb77bfaSMatthias Fuchs * In this case SoC is defined in boards.cfg. 210cb77bfaSMatthias Fuchs */ 220cb77bfaSMatthias Fuchs #include <asm/hardware.h> 230cb77bfaSMatthias Fuchs 240cb77bfaSMatthias Fuchs /* 250cb77bfaSMatthias Fuchs * Warning: changing CONFIG_SYS_TEXT_BASE requires 260cb77bfaSMatthias Fuchs * adapting the initial boot program. 270cb77bfaSMatthias Fuchs * Since the linker has to swallow that define, we must use a pure 280cb77bfaSMatthias Fuchs * hex number here! 290cb77bfaSMatthias Fuchs */ 300cb77bfaSMatthias Fuchs #define CONFIG_SYS_TEXT_BASE 0x20002000 310cb77bfaSMatthias Fuchs 3218b6ddfdSDaniel Gorsulowski /* 3318b6ddfdSDaniel Gorsulowski * since a number of boards are not being listed in linux 3418b6ddfdSDaniel Gorsulowski * arch/arm/tools/mach-types any more, the mach-types have to be 3518b6ddfdSDaniel Gorsulowski * defined here 3618b6ddfdSDaniel Gorsulowski */ 3718b6ddfdSDaniel Gorsulowski #define MACH_TYPE_MEESC 2165 3818b6ddfdSDaniel Gorsulowski #define MACH_TYPE_ETHERCAN2 2407 3918b6ddfdSDaniel Gorsulowski 400cb77bfaSMatthias Fuchs /* ARM asynchronous clock */ 410cb77bfaSMatthias Fuchs #define CONFIG_SYS_AT91_SLOW_CLOCK 32768 /* 32.768 kHz crystal */ 429f07dedeSDaniel Gorsulowski #define CONFIG_SYS_AT91_MAIN_CLOCK 16000000/* 16.0 MHz crystal */ 43d4562e09SDaniel Gorsulowski #define CONFIG_SYS_HZ 1000 /* decrementer freq */ 440cb77bfaSMatthias Fuchs 450cb77bfaSMatthias Fuchs /* Misc CPU related */ 460cb77bfaSMatthias Fuchs #define CONFIG_SKIP_LOWLEVEL_INIT 470cb77bfaSMatthias Fuchs #define CONFIG_ARCH_CPU_INIT 480cb77bfaSMatthias Fuchs #define CONFIG_BOARD_EARLY_INIT_F /* call board_early_init_f() */ 490cb77bfaSMatthias Fuchs #define CONFIG_SETUP_MEMORY_TAGS 500cb77bfaSMatthias Fuchs #define CONFIG_INITRD_TAG 510cb77bfaSMatthias Fuchs #define CONFIG_SERIAL_TAG 520cb77bfaSMatthias Fuchs #define CONFIG_REVISION_TAG 530cb77bfaSMatthias Fuchs #define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */ 540cb77bfaSMatthias Fuchs #define CONFIG_MISC_INIT_R /* Call misc_init_r */ 5533b1d3f4SDaniel Gorsulowski 560cb77bfaSMatthias Fuchs #define CONFIG_DISPLAY_BOARDINFO /* call checkboard() */ 570cb77bfaSMatthias Fuchs #define CONFIG_DISPLAY_CPUINFO /* display cpu info and speed */ 580cb77bfaSMatthias Fuchs #define CONFIG_PREBOOT /* enable preboot variable */ 5933b1d3f4SDaniel Gorsulowski 6033b1d3f4SDaniel Gorsulowski /* 6133b1d3f4SDaniel Gorsulowski * Hardware drivers 6233b1d3f4SDaniel Gorsulowski */ 6333b1d3f4SDaniel Gorsulowski 640cb77bfaSMatthias Fuchs /* required until arch/arm/include/asm/arch-at91/at91sam9263.h is reworked */ 650cb77bfaSMatthias Fuchs #define ATMEL_PMC_UHP AT91SAM926x_PMC_UHP 660cb77bfaSMatthias Fuchs 670cb77bfaSMatthias Fuchs /* general purpose I/O */ 680cb77bfaSMatthias Fuchs #define CONFIG_AT91_GPIO 690cb77bfaSMatthias Fuchs 7033b1d3f4SDaniel Gorsulowski /* Console output */ 710cb77bfaSMatthias Fuchs #define CONFIG_ATMEL_USART 720cb77bfaSMatthias Fuchs #define CONFIG_USART_BASE ATMEL_BASE_DBGU 730cb77bfaSMatthias Fuchs #define CONFIG_USART_ID ATMEL_ID_SYS 740cb77bfaSMatthias Fuchs #define CONFIG_BAUDRATE 115200 7533b1d3f4SDaniel Gorsulowski 7633b1d3f4SDaniel Gorsulowski #define CONFIG_BOOTDELAY 3 770cb77bfaSMatthias Fuchs #define CONFIG_ZERO_BOOTDELAY_CHECK 7833b1d3f4SDaniel Gorsulowski 7933b1d3f4SDaniel Gorsulowski /* 8033b1d3f4SDaniel Gorsulowski * BOOTP options 8133b1d3f4SDaniel Gorsulowski */ 820cb77bfaSMatthias Fuchs #define CONFIG_BOOTP_BOOTFILESIZE 830cb77bfaSMatthias Fuchs #define CONFIG_BOOTP_BOOTPATH 840cb77bfaSMatthias Fuchs #define CONFIG_BOOTP_GATEWAY 850cb77bfaSMatthias Fuchs #define CONFIG_BOOTP_HOSTNAME 8633b1d3f4SDaniel Gorsulowski 8733b1d3f4SDaniel Gorsulowski /* 8833b1d3f4SDaniel Gorsulowski * Command line configuration. 8933b1d3f4SDaniel Gorsulowski */ 9033b1d3f4SDaniel Gorsulowski #include <config_cmd_default.h> 9133b1d3f4SDaniel Gorsulowski #undef CONFIG_CMD_BDI 9233b1d3f4SDaniel Gorsulowski #undef CONFIG_CMD_FPGA 9333b1d3f4SDaniel Gorsulowski #undef CONFIG_CMD_LOADS 9433b1d3f4SDaniel Gorsulowski #undef CONFIG_CMD_IMLS 9533b1d3f4SDaniel Gorsulowski 960cb77bfaSMatthias Fuchs #define CONFIG_CMD_PING 970cb77bfaSMatthias Fuchs #define CONFIG_CMD_DHCP 980cb77bfaSMatthias Fuchs #define CONFIG_CMD_NAND 990cb77bfaSMatthias Fuchs #define CONFIG_CMD_USB 10033b1d3f4SDaniel Gorsulowski 10133b1d3f4SDaniel Gorsulowski /* LED */ 1020cb77bfaSMatthias Fuchs #define CONFIG_AT91_LED 10333b1d3f4SDaniel Gorsulowski 1040cb77bfaSMatthias Fuchs /* 1050cb77bfaSMatthias Fuchs * SDRAM: 1 bank, min 32, max 128 MB 1060cb77bfaSMatthias Fuchs * Initialized before u-boot gets started. 1070cb77bfaSMatthias Fuchs */ 10833b1d3f4SDaniel Gorsulowski #define CONFIG_NR_DRAM_BANKS 1 1090cb77bfaSMatthias Fuchs #define CONFIG_SYS_SDRAM_BASE 0x20000000 /* ATMEL_BASE_CS1 */ 1100cb77bfaSMatthias Fuchs #define CONFIG_SYS_SDRAM_SIZE 0x02000000 1110cb77bfaSMatthias Fuchs 1120cb77bfaSMatthias Fuchs #define CONFIG_SYS_MEMTEST_START (CONFIG_SYS_SDRAM_BASE + 0x00100000) 1130cb77bfaSMatthias Fuchs #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_SDRAM_BASE + 0x01E00000) 1140cb77bfaSMatthias Fuchs #define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_SDRAM_BASE + 0x00100000) 1150cb77bfaSMatthias Fuchs 1160cb77bfaSMatthias Fuchs /* 1170cb77bfaSMatthias Fuchs * Initial stack pointer: 4k - GENERATED_GBL_DATA_SIZE in internal SRAM, 1180cb77bfaSMatthias Fuchs * leaving the correct space for initial global data structure above 1190cb77bfaSMatthias Fuchs * that address while providing maximum stack area below. 1200cb77bfaSMatthias Fuchs */ 1210cb77bfaSMatthias Fuchs #define CONFIG_SYS_INIT_SP_ADDR \ 1220cb77bfaSMatthias Fuchs (ATMEL_BASE_SRAM0 + 0x1000 - GENERATED_GBL_DATA_SIZE) 12333b1d3f4SDaniel Gorsulowski 12433b1d3f4SDaniel Gorsulowski /* DataFlash */ 1250cb77bfaSMatthias Fuchs #ifdef CONFIG_SYS_USE_DATAFLASH 12633b1d3f4SDaniel Gorsulowski # define CONFIG_ATMEL_DATAFLASH_SPI 1270cb77bfaSMatthias Fuchs # define CONFIG_HAS_DATAFLASH 12833b1d3f4SDaniel Gorsulowski # define CONFIG_SYS_SPI_WRITE_TOUT (5 * CONFIG_SYS_HZ) 12933b1d3f4SDaniel Gorsulowski # define CONFIG_SYS_MAX_DATAFLASH_BANKS 1 13033b1d3f4SDaniel Gorsulowski # define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 0xC0000000 /* CS0 */ 13133b1d3f4SDaniel Gorsulowski # define AT91_SPI_CLK 15000000 13233b1d3f4SDaniel Gorsulowski # define DATAFLASH_TCSS (0x1a << 16) 13333b1d3f4SDaniel Gorsulowski # define DATAFLASH_TCHS (0x1 << 24) 1340cb77bfaSMatthias Fuchs #endif 13533b1d3f4SDaniel Gorsulowski 13633b1d3f4SDaniel Gorsulowski /* NOR flash is not populated, disable it */ 1370cb77bfaSMatthias Fuchs #define CONFIG_SYS_NO_FLASH 13833b1d3f4SDaniel Gorsulowski 13933b1d3f4SDaniel Gorsulowski /* NAND flash */ 14033b1d3f4SDaniel Gorsulowski #ifdef CONFIG_CMD_NAND 14133b1d3f4SDaniel Gorsulowski # define CONFIG_NAND_ATMEL 14233b1d3f4SDaniel Gorsulowski # define CONFIG_SYS_MAX_NAND_DEVICE 1 1430cb77bfaSMatthias Fuchs # define CONFIG_SYS_NAND_BASE 0x40000000 /* ATMEL_BASE_CS3 */ 1440cb77bfaSMatthias Fuchs # define CONFIG_SYS_NAND_DBW_8 14533b1d3f4SDaniel Gorsulowski # define CONFIG_SYS_NAND_MASK_ALE (1 << 21) 14633b1d3f4SDaniel Gorsulowski # define CONFIG_SYS_NAND_MASK_CLE (1 << 22) 147d4562e09SDaniel Gorsulowski # define CONFIG_SYS_NAND_ENABLE_PIN AT91_PIO_PORTD, 15 148d4562e09SDaniel Gorsulowski # define CONFIG_SYS_NAND_READY_PIN AT91_PIO_PORTA, 22 14933b1d3f4SDaniel Gorsulowski #endif 15033b1d3f4SDaniel Gorsulowski 15133b1d3f4SDaniel Gorsulowski /* Ethernet */ 1520cb77bfaSMatthias Fuchs #define CONFIG_MACB 1530cb77bfaSMatthias Fuchs #define CONFIG_RMII 1540cb77bfaSMatthias Fuchs #define CONFIG_FIT 15533b1d3f4SDaniel Gorsulowski #define CONFIG_NET_RETRY_COUNT 20 15633b1d3f4SDaniel Gorsulowski #undef CONFIG_RESET_PHY_R 15733b1d3f4SDaniel Gorsulowski 15864037fb4SDaniel Gorsulowski /* USB */ 15964037fb4SDaniel Gorsulowski #define CONFIG_USB_ATMEL 160*dcd2f1a0SBo Shen #define CONFIG_USB_ATMEL_CLK_SEL_PLLB 1610cb77bfaSMatthias Fuchs #define CONFIG_USB_OHCI_NEW 1620cb77bfaSMatthias Fuchs #define CONFIG_DOS_PARTITION 1630cb77bfaSMatthias Fuchs #define CONFIG_SYS_USB_OHCI_CPU_INIT 16464037fb4SDaniel Gorsulowski #define CONFIG_SYS_USB_OHCI_REGS_BASE 0x00a00000 16564037fb4SDaniel Gorsulowski #define CONFIG_SYS_USB_OHCI_SLOT_NAME "at91sam9263" 16664037fb4SDaniel Gorsulowski #define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2 16733b1d3f4SDaniel Gorsulowski 16833b1d3f4SDaniel Gorsulowski /* CAN */ 1690cb77bfaSMatthias Fuchs #define CONFIG_AT91_CAN 17033b1d3f4SDaniel Gorsulowski 171a380279bSDaniel Gorsulowski /* hw-controller addresses */ 172a380279bSDaniel Gorsulowski #define CONFIG_ET1100_BASE 0x70000000 173a380279bSDaniel Gorsulowski 1740cb77bfaSMatthias Fuchs #ifdef CONFIG_SYS_USE_DATAFLASH 1750cb77bfaSMatthias Fuchs 176a380279bSDaniel Gorsulowski /* bootstrap + u-boot + env in dataflash on CS0 */ 1770cb77bfaSMatthias Fuchs # define CONFIG_ENV_IS_IN_DATAFLASH 17833b1d3f4SDaniel Gorsulowski # define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + \ 17933b1d3f4SDaniel Gorsulowski 0x8400) 18033b1d3f4SDaniel Gorsulowski # define CONFIG_ENV_OFFSET 0x4200 18133b1d3f4SDaniel Gorsulowski # define CONFIG_ENV_ADDR (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + \ 18233b1d3f4SDaniel Gorsulowski CONFIG_ENV_OFFSET) 18333b1d3f4SDaniel Gorsulowski # define CONFIG_ENV_SIZE 0x4200 18433b1d3f4SDaniel Gorsulowski 1850cb77bfaSMatthias Fuchs #elif CONFIG_SYS_USE_NANDFLASH 1860cb77bfaSMatthias Fuchs 1870cb77bfaSMatthias Fuchs /* bootstrap + u-boot + env + linux in nandflash */ 1880cb77bfaSMatthias Fuchs # define CONFIG_ENV_IS_IN_NAND 1 1890cb77bfaSMatthias Fuchs # define CONFIG_ENV_OFFSET 0xC0000 1900cb77bfaSMatthias Fuchs # define CONFIG_ENV_SIZE 0x20000 1910cb77bfaSMatthias Fuchs 1920cb77bfaSMatthias Fuchs #endif 19333b1d3f4SDaniel Gorsulowski 19433b1d3f4SDaniel Gorsulowski #define CONFIG_SYS_PROMPT "=> " 1950cb77bfaSMatthias Fuchs #define CONFIG_SYS_CBSIZE 512 19633b1d3f4SDaniel Gorsulowski #define CONFIG_SYS_MAXARGS 16 19733b1d3f4SDaniel Gorsulowski #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ 19833b1d3f4SDaniel Gorsulowski sizeof(CONFIG_SYS_PROMPT) + 16) 1990cb77bfaSMatthias Fuchs #define CONFIG_SYS_LONGHELP 2000cb77bfaSMatthias Fuchs #define CONFIG_CMDLINE_EDITING 20133b1d3f4SDaniel Gorsulowski 20233b1d3f4SDaniel Gorsulowski /* 20333b1d3f4SDaniel Gorsulowski * Size of malloc() pool 20433b1d3f4SDaniel Gorsulowski */ 205a380279bSDaniel Gorsulowski #define CONFIG_SYS_MALLOC_LEN ROUND(3 * CONFIG_ENV_SIZE + \ 206a380279bSDaniel Gorsulowski 128*1024, 0x1000) 20733b1d3f4SDaniel Gorsulowski 20833b1d3f4SDaniel Gorsulowski #endif 209