blob: 6c28c4c19eb5bf5ef45e965744e73c1adb22a406 [file] [log] [blame]
Bo Shen60f3dd32013-05-12 22:40:54 +00001/*
2 * Configuation settings for the SAMA5D3xEK board.
3 *
4 * Copyright (C) 2012 - 2013 Atmel
5 *
6 * based on at91sam9m10g45ek.h by:
7 * Stelian Pop <stelian@popies.net>
8 * Lead Tech Design <www.leadtechdesign.com>
9 *
Wolfgang Denkd79de1d2013-07-08 09:37:19 +020010 * SPDX-License-Identifier: GPL-2.0+
Bo Shen60f3dd32013-05-12 22:40:54 +000011 */
12
13#ifndef __CONFIG_H
14#define __CONFIG_H
15
Wu, Josh42587542015-03-30 14:51:19 +080016#include "at91-sama5_common.h"
Bo Shen60f3dd32013-05-12 22:40:54 +000017
Wu, Josh3c0c6602015-08-19 19:11:19 +080018#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
19
Bo Shen60f3dd32013-05-12 22:40:54 +000020/*
21 * This needs to be defined for the OHCI code to work but it is defined as
22 * ATMEL_ID_UHPHS in the CPU specific header files.
23 */
24#define ATMEL_ID_UHP ATMEL_ID_UHPHS
25
26/*
27 * Specify the clock enable bit in the PMC_SCER register.
28 */
29#define ATMEL_PMC_UHP AT91SAM926x_PMC_UHP
30
31/* LCD */
Bo Shen60f3dd32013-05-12 22:40:54 +000032#define LCD_BPP LCD_COLOR16
33#define LCD_OUTPUT_BPP 24
34#define CONFIG_LCD_LOGO
Bo Shen60f3dd32013-05-12 22:40:54 +000035#define CONFIG_LCD_INFO
36#define CONFIG_LCD_INFO_BELOW_LOGO
37#define CONFIG_SYS_WHITE_ON_BLACK
38#define CONFIG_ATMEL_HLCD
39#define CONFIG_ATMEL_LCD_RGB565
Bo Shen60f3dd32013-05-12 22:40:54 +000040
41/* board specific (not enough SRAM) */
42#define CONFIG_SAMA5D3_LCD_BASE 0x23E00000
43
Bo Shenb15f4f62014-07-18 16:43:08 +080044/* NOR flash */
Masahiro Yamada8cea9b52017-02-11 22:43:54 +090045#ifdef CONFIG_MTD_NOR_FLASH
Bo Shenb15f4f62014-07-18 16:43:08 +080046#define CONFIG_FLASH_CFI_DRIVER
47#define CONFIG_SYS_FLASH_CFI
48#define CONFIG_SYS_FLASH_PROTECTION
49#define CONFIG_SYS_FLASH_BASE 0x10000000
50#define CONFIG_SYS_MAX_FLASH_SECT 131
51#define CONFIG_SYS_MAX_FLASH_BANKS 1
Bo Shenb15f4f62014-07-18 16:43:08 +080052#endif
Bo Shen60f3dd32013-05-12 22:40:54 +000053
Bo Shen60f3dd32013-05-12 22:40:54 +000054/* SDRAM */
55#define CONFIG_NR_DRAM_BANKS 1
56#define CONFIG_SYS_SDRAM_BASE ATMEL_BASE_DDRCS
57#define CONFIG_SYS_SDRAM_SIZE 0x20000000
58
Bo Shenf92b2982013-11-15 11:12:38 +080059#ifdef CONFIG_SPL_BUILD
Wenyou Yang9a0e91f2017-04-14 08:51:42 +080060#define CONFIG_SYS_INIT_SP_ADDR 0x318000
Bo Shenf92b2982013-11-15 11:12:38 +080061#else
Bo Shen60f3dd32013-05-12 22:40:54 +000062#define CONFIG_SYS_INIT_SP_ADDR \
Wenyou Yang9a0e91f2017-04-14 08:51:42 +080063 (CONFIG_SYS_SDRAM_BASE + 16 * 1024 - GENERATED_GBL_DATA_SIZE)
Bo Shenf92b2982013-11-15 11:12:38 +080064#endif
Bo Shen60f3dd32013-05-12 22:40:54 +000065
66/* SerialFlash */
Bo Shen60f3dd32013-05-12 22:40:54 +000067
68#ifdef CONFIG_CMD_SF
Bo Shen60f3dd32013-05-12 22:40:54 +000069#define CONFIG_SF_DEFAULT_SPEED 30000000
70#endif
71
72/* NAND flash */
73#define CONFIG_CMD_NAND
74
75#ifdef CONFIG_CMD_NAND
Bo Shen60f3dd32013-05-12 22:40:54 +000076#define CONFIG_NAND_ATMEL
77#define CONFIG_SYS_MAX_NAND_DEVICE 1
78#define CONFIG_SYS_NAND_BASE ATMEL_BASE_CS3
79/* our ALE is AD21 */
80#define CONFIG_SYS_NAND_MASK_ALE (1 << 21)
81/* our CLE is AD22 */
82#define CONFIG_SYS_NAND_MASK_CLE (1 << 22)
83#define CONFIG_SYS_NAND_ONFI_DETECTION
84/* PMECC & PMERRLOC */
85#define CONFIG_ATMEL_NAND_HWECC
86#define CONFIG_ATMEL_NAND_HW_PMECC
87#define CONFIG_PMECC_CAP 4
88#define CONFIG_PMECC_SECTOR_SIZE 512
Bo Shen60f3dd32013-05-12 22:40:54 +000089#define CONFIG_CMD_NAND_TRIMFFS
90#endif
91
Bo Shen6f6afad2013-06-26 10:11:06 +080092#define CONFIG_PHY_MICREL_KSZ9021
Bo Shen60f3dd32013-05-12 22:40:54 +000093
Bo Shen60f3dd32013-05-12 22:40:54 +000094/* USB */
Bo Shen60f3dd32013-05-12 22:40:54 +000095
96#ifdef CONFIG_CMD_USB
Bo Shen4a985df2013-10-21 16:14:00 +080097#define CONFIG_USB_ATMEL_CLK_SEL_UPLL
Bo Shen60f3dd32013-05-12 22:40:54 +000098#define CONFIG_USB_OHCI_NEW
99#define CONFIG_SYS_USB_OHCI_CPU_INIT
100#define CONFIG_SYS_USB_OHCI_REGS_BASE ATMEL_BASE_OHCI
101#define CONFIG_SYS_USB_OHCI_SLOT_NAME "sama5d3"
102#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 3
Bo Shen60f3dd32013-05-12 22:40:54 +0000103#endif
104
105#if defined(CONFIG_CMD_USB) || defined(CONFIG_CMD_MMC)
Wu, Josha3dd08e2015-01-20 10:33:32 +0800106#define CONFIG_FAT_WRITE
Bo Shen60f3dd32013-05-12 22:40:54 +0000107#endif
108
109#define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address */
110
111#ifdef CONFIG_SYS_USE_SERIALFLASH
Wu, Josh12e84412015-08-19 19:11:21 +0800112/* override the bootcmd, bootargs and other configuration for spi flash env*/
Bo Shen60f3dd32013-05-12 22:40:54 +0000113#elif CONFIG_SYS_USE_NANDFLASH
Wu, Josh244caf02015-08-19 19:11:20 +0800114/* override the bootcmd, bootargs and other configuration nandflash env */
Bo Shen60f3dd32013-05-12 22:40:54 +0000115#elif CONFIG_SYS_USE_MMC
Wu, Josh8b9c7512015-08-19 19:11:18 +0800116/* override the bootcmd, bootargs and other configuration for sd/mmc env */
Bo Shen60f3dd32013-05-12 22:40:54 +0000117#else
Bo Shenadaa1362013-08-11 14:26:20 +0000118#define CONFIG_ENV_IS_NOWHERE
Bo Shen60f3dd32013-05-12 22:40:54 +0000119#endif
120
Bo Shenf92b2982013-11-15 11:12:38 +0800121/* SPL */
Bo Shenf92b2982013-11-15 11:12:38 +0800122#define CONFIG_SPL_FRAMEWORK
123#define CONFIG_SPL_TEXT_BASE 0x300000
Wenyou Yang9a0e91f2017-04-14 08:51:42 +0800124#define CONFIG_SPL_MAX_SIZE 0x18000
Bo Shenf92b2982013-11-15 11:12:38 +0800125#define CONFIG_SPL_BSS_START_ADDR 0x20000000
126#define CONFIG_SPL_BSS_MAX_SIZE 0x80000
127#define CONFIG_SYS_SPL_MALLOC_START 0x20080000
128#define CONFIG_SYS_SPL_MALLOC_SIZE 0x80000
129
Bo Shenf92b2982013-11-15 11:12:38 +0800130#define CONFIG_SPL_BOARD_INIT
Bo Shen37a36b32014-03-03 14:47:15 +0800131#define CONFIG_SYS_MONITOR_LEN (512 << 10)
132
Bo Shenf92b2982013-11-15 11:12:38 +0800133#ifdef CONFIG_SYS_USE_MMC
Bo Shen83a718d2015-03-04 13:32:57 +0800134#define CONFIG_SPL_LDSCRIPT arch/arm/mach-at91/armv7/u-boot-spl.lds
Paul Kocialkowski341e8cd2014-11-08 23:14:55 +0100135#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1
Guillaume GARDET602a16c2014-10-15 17:53:11 +0200136#define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME "u-boot.img"
Bo Shen37a36b32014-03-03 14:47:15 +0800137
Bo Shen540c0312014-03-03 14:47:17 +0800138#elif CONFIG_SYS_USE_NANDFLASH
Bo Shen540c0312014-03-03 14:47:17 +0800139#define CONFIG_SPL_NAND_DRIVERS
140#define CONFIG_SPL_NAND_BASE
141#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x40000
142#define CONFIG_SYS_NAND_5_ADDR_CYCLE
143#define CONFIG_SYS_NAND_PAGE_SIZE 0x800
144#define CONFIG_SYS_NAND_PAGE_COUNT 64
145#define CONFIG_SYS_NAND_OOBSIZE 64
146#define CONFIG_SYS_NAND_BLOCK_SIZE 0x20000
147#define CONFIG_SYS_NAND_BAD_BLOCK_POS 0x0
Andreas Bießmannf52c0192014-05-19 14:23:41 +0200148#define CONFIG_SPL_GENERATE_ATMEL_PMECC_HEADER
Bo Shen540c0312014-03-03 14:47:17 +0800149
Bo Shen37a36b32014-03-03 14:47:15 +0800150#elif CONFIG_SYS_USE_SERIALFLASH
Bo Shen37a36b32014-03-03 14:47:15 +0800151#define CONFIG_SPL_SPI_LOAD
Wenyou Yang9a0e91f2017-04-14 08:51:42 +0800152#define CONFIG_SYS_SPI_U_BOOT_OFFS 0x10000
Bo Shen37a36b32014-03-03 14:47:15 +0800153
Bo Shenf92b2982013-11-15 11:12:38 +0800154#endif
155
Bo Shen60f3dd32013-05-12 22:40:54 +0000156#endif