1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Common part of configuration settings for the AT91 SAMA5 board. 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * Copyright (C) 2015 Atmel Corporation 5*4882a593Smuzhiyun * Josh Wu <josh.wu@atmel.com> 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 8*4882a593Smuzhiyun */ 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun #ifndef __AT91_SAMA5_COMMON_H 11*4882a593Smuzhiyun #define __AT91_SAMA5_COMMON_H 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun #include <asm/hardware.h> 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun #define CONFIG_SYS_TEXT_BASE 0x26f00000 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun /* ARM asynchronous clock */ 18*4882a593Smuzhiyun #define CONFIG_SYS_AT91_SLOW_CLOCK 32768 19*4882a593Smuzhiyun #define CONFIG_SYS_AT91_MAIN_CLOCK 12000000 /* from 12 MHz crystal */ 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun #define CONFIG_ARCH_CPU_INIT 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun #ifndef CONFIG_SPL_BUILD 24*4882a593Smuzhiyun #define CONFIG_SKIP_LOWLEVEL_INIT 25*4882a593Smuzhiyun #endif 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun #define CONFIG_ENV_VARS_UBOOT_CONFIG 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun /* general purpose I/O */ 30*4882a593Smuzhiyun #ifndef CONFIG_DM_GPIO 31*4882a593Smuzhiyun #define CONFIG_AT91_GPIO 32*4882a593Smuzhiyun #endif 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun /* 36*4882a593Smuzhiyun * BOOTP options 37*4882a593Smuzhiyun */ 38*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTFILESIZE 39*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTPATH 40*4882a593Smuzhiyun #define CONFIG_BOOTP_GATEWAY 41*4882a593Smuzhiyun #define CONFIG_BOOTP_HOSTNAME 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun /* 44*4882a593Smuzhiyun * Command line configuration. 45*4882a593Smuzhiyun */ 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun #ifdef CONFIG_SYS_USE_MMC 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun #ifdef CONFIG_ENV_IS_IN_MMC 50*4882a593Smuzhiyun /* Use raw reserved sectors to save environment */ 51*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET 0x2000 52*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x1000 53*4882a593Smuzhiyun #define CONFIG_SYS_MMC_ENV_DEV 0 54*4882a593Smuzhiyun #else 55*4882a593Smuzhiyun /* u-boot env in sd/mmc card */ 56*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x4000 57*4882a593Smuzhiyun #endif 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND "if test ! -n ${dtb_name}; then " \ 60*4882a593Smuzhiyun "setenv dtb_name at91-${board_name}.dtb; " \ 61*4882a593Smuzhiyun "fi; " \ 62*4882a593Smuzhiyun "fatload mmc 0:1 0x21000000 ${dtb_name}; " \ 63*4882a593Smuzhiyun "fatload mmc 0:1 0x22000000 zImage; " \ 64*4882a593Smuzhiyun "bootz 0x22000000 - 0x21000000" 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun #else 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun #ifdef CONFIG_SYS_USE_NANDFLASH 69*4882a593Smuzhiyun /* u-boot env in nand flash */ 70*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET 0xc0000 71*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET_REDUND 0x100000 72*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x20000 73*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND "nand read 0x21000000 0x180000 0x80000;" \ 74*4882a593Smuzhiyun "nand read 0x22000000 0x200000 0x600000;" \ 75*4882a593Smuzhiyun "bootz 0x22000000 - 0x21000000" 76*4882a593Smuzhiyun #elif CONFIG_SYS_USE_SERIALFLASH 77*4882a593Smuzhiyun /* u-boot env in serial flash, by default is bus 0 and cs 0 */ 78*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET 0x6000 79*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x2000 80*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE 0x1000 81*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND "sf probe 0; " \ 82*4882a593Smuzhiyun "sf read 0x21000000 0x60000 0xc000; " \ 83*4882a593Smuzhiyun "sf read 0x22000000 0x6c000 0x394000; " \ 84*4882a593Smuzhiyun "bootz 0x22000000 - 0x21000000" 85*4882a593Smuzhiyun #endif 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun #endif 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun #define CONFIG_SYS_LONGHELP 90*4882a593Smuzhiyun #define CONFIG_CMDLINE_EDITING 91*4882a593Smuzhiyun #define CONFIG_AUTO_COMPLETE 92*4882a593Smuzhiyun 93*4882a593Smuzhiyun /* Size of malloc() pool */ 94*4882a593Smuzhiyun #define CONFIG_SYS_MALLOC_LEN (4 * 1024 * 1024) 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun #endif 97