1927b901bSBo Shen /* 2927b901bSBo Shen * Configuration settings for the SAMA5D4EK board. 3927b901bSBo Shen * 4927b901bSBo Shen * Copyright (C) 2014 Atmel 5927b901bSBo Shen * Bo Shen <voice.shen@atmel.com> 6927b901bSBo Shen * 7927b901bSBo Shen * SPDX-License-Identifier: GPL-2.0+ 8927b901bSBo Shen */ 9927b901bSBo Shen 10927b901bSBo Shen #ifndef __CONFIG_H 11927b901bSBo Shen #define __CONFIG_H 12927b901bSBo Shen 13*b2d387bcSWu, Josh /* No NOR flash, this definition should put before common header */ 14*b2d387bcSWu, Josh #define CONFIG_SYS_NO_FLASH 15927b901bSBo Shen 16*b2d387bcSWu, Josh #include "at91-sama5_common.h" 17927b901bSBo Shen 18927b901bSBo Shen /* serial console */ 19927b901bSBo Shen #define CONFIG_ATMEL_USART 20927b901bSBo Shen #define CONFIG_USART_BASE ATMEL_BASE_USART3 21927b901bSBo Shen #define CONFIG_USART_ID ATMEL_ID_USART3 22927b901bSBo Shen 23927b901bSBo Shen /* SDRAM */ 24927b901bSBo Shen #define CONFIG_NR_DRAM_BANKS 1 25927b901bSBo Shen #define CONFIG_SYS_SDRAM_BASE ATMEL_BASE_DDRCS 26927b901bSBo Shen #define CONFIG_SYS_SDRAM_SIZE 0x20000000 27927b901bSBo Shen 285a4c9c22SBo Shen #ifdef CONFIG_SPL_BUILD 295a4c9c22SBo Shen #define CONFIG_SYS_INIT_SP_ADDR 0x210000 305a4c9c22SBo Shen #else 31927b901bSBo Shen #define CONFIG_SYS_INIT_SP_ADDR \ 32927b901bSBo Shen (CONFIG_SYS_SDRAM_BASE + 4 * 1024 - GENERATED_GBL_DATA_SIZE) 335a4c9c22SBo Shen #endif 34927b901bSBo Shen 35927b901bSBo Shen #define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address */ 36927b901bSBo Shen 37927b901bSBo Shen /* SerialFlash */ 38927b901bSBo Shen #define CONFIG_CMD_SF 39927b901bSBo Shen 40927b901bSBo Shen #ifdef CONFIG_CMD_SF 41927b901bSBo Shen #define CONFIG_ATMEL_SPI 42927b901bSBo Shen #define CONFIG_ATMEL_SPI0 43927b901bSBo Shen #define CONFIG_SPI_FLASH 44927b901bSBo Shen #define CONFIG_SPI_FLASH_ATMEL 45927b901bSBo Shen #define CONFIG_SF_DEFAULT_BUS 0 46927b901bSBo Shen #define CONFIG_SF_DEFAULT_CS 0 47927b901bSBo Shen #define CONFIG_SF_DEFAULT_SPEED 30000000 48927b901bSBo Shen #endif 49927b901bSBo Shen 50927b901bSBo Shen /* NAND flash */ 51927b901bSBo Shen #define CONFIG_CMD_NAND 52927b901bSBo Shen 53927b901bSBo Shen #ifdef CONFIG_CMD_NAND 54927b901bSBo Shen #define CONFIG_NAND_ATMEL 55927b901bSBo Shen #define CONFIG_SYS_MAX_NAND_DEVICE 1 56927b901bSBo Shen #define CONFIG_SYS_NAND_BASE ATMEL_BASE_CS3 57927b901bSBo Shen /* our ALE is AD21 */ 58927b901bSBo Shen #define CONFIG_SYS_NAND_MASK_ALE (1 << 21) 59927b901bSBo Shen /* our CLE is AD22 */ 60927b901bSBo Shen #define CONFIG_SYS_NAND_MASK_CLE (1 << 22) 61927b901bSBo Shen #define CONFIG_SYS_NAND_ONFI_DETECTION 62927b901bSBo Shen /* PMECC & PMERRLOC */ 63927b901bSBo Shen #define CONFIG_ATMEL_NAND_HWECC 64927b901bSBo Shen #define CONFIG_ATMEL_NAND_HW_PMECC 65927b901bSBo Shen #endif 66927b901bSBo Shen 67927b901bSBo Shen /* MMC */ 68927b901bSBo Shen #define CONFIG_CMD_MMC 69927b901bSBo Shen 70927b901bSBo Shen #ifdef CONFIG_CMD_MMC 71927b901bSBo Shen #define CONFIG_MMC 72927b901bSBo Shen #define CONFIG_GENERIC_MMC 73927b901bSBo Shen #define CONFIG_GENERIC_ATMEL_MCI 74927b901bSBo Shen #define ATMEL_BASE_MMCI ATMEL_BASE_MCI1 75927b901bSBo Shen #endif 76927b901bSBo Shen 77927b901bSBo Shen /* USB */ 78927b901bSBo Shen #define CONFIG_CMD_USB 79927b901bSBo Shen 80927b901bSBo Shen #ifdef CONFIG_CMD_USB 81927b901bSBo Shen #define CONFIG_USB_EHCI 82927b901bSBo Shen #define CONFIG_USB_EHCI_ATMEL 83927b901bSBo Shen #define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 3 84927b901bSBo Shen #define CONFIG_USB_STORAGE 85927b901bSBo Shen #endif 86927b901bSBo Shen 87cd5ca303SBo Shen /* USB device */ 88cd5ca303SBo Shen #define CONFIG_USB_GADGET 89cd5ca303SBo Shen #define CONFIG_USB_GADGET_DUALSPEED 90cd5ca303SBo Shen #define CONFIG_USB_GADGET_ATMEL_USBA 91cd5ca303SBo Shen #define CONFIG_USB_ETHER 92cd5ca303SBo Shen #define CONFIG_USB_ETH_RNDIS 93cd5ca303SBo Shen #define CONFIG_USBNET_MANUFACTURER "Atmel SAMA5D4EK" 94cd5ca303SBo Shen 95927b901bSBo Shen #if defined(CONFIG_CMD_USB) || defined(CONFIG_CMD_MMC) 96927b901bSBo Shen #define CONFIG_CMD_FAT 97927b901bSBo Shen #define CONFIG_DOS_PARTITION 98927b901bSBo Shen #endif 99927b901bSBo Shen 100927b901bSBo Shen /* Ethernet Hardware */ 101927b901bSBo Shen #define CONFIG_MACB 102927b901bSBo Shen #define CONFIG_RMII 103927b901bSBo Shen #define CONFIG_NET_RETRY_COUNT 20 104927b901bSBo Shen #define CONFIG_MACB_SEARCH_PHY 105927b901bSBo Shen 106927b901bSBo Shen /* LCD */ 107927b901bSBo Shen #define CONFIG_LCD 108927b901bSBo Shen #define LCD_BPP LCD_COLOR16 109927b901bSBo Shen #define LCD_OUTPUT_BPP 18 110927b901bSBo Shen #define CONFIG_LCD_LOGO 111927b901bSBo Shen #define CONFIG_LCD_INFO 112927b901bSBo Shen #define CONFIG_LCD_INFO_BELOW_LOGO 113927b901bSBo Shen #define CONFIG_SYS_WHITE_ON_BLACK 114927b901bSBo Shen #define CONFIG_ATMEL_HLCD 115927b901bSBo Shen #define CONFIG_ATMEL_LCD_RGB565 116927b901bSBo Shen #define CONFIG_SYS_CONSOLE_IS_IN_ENV 117927b901bSBo Shen 118927b901bSBo Shen #ifdef CONFIG_SYS_USE_SERIALFLASH 119927b901bSBo Shen /* bootstrap + u-boot + env + linux in serial flash */ 120927b901bSBo Shen #define CONFIG_ENV_IS_IN_SPI_FLASH 121927b901bSBo Shen #define CONFIG_ENV_SPI_BUS CONFIG_SF_DEFAULT_BUS 122927b901bSBo Shen #define CONFIG_ENV_SPI_CS CONFIG_SF_DEFAULT_CS 123927b901bSBo Shen #define CONFIG_ENV_OFFSET 0x10000 124927b901bSBo Shen #define CONFIG_ENV_SIZE 0x10000 125927b901bSBo Shen #define CONFIG_ENV_SECT_SIZE 0x1000 126927b901bSBo Shen #define CONFIG_BOOTCOMMAND "sf probe 0; " \ 127927b901bSBo Shen "sf read 0x21000000 0xa0000 0x60000; " \ 128927b901bSBo Shen "sf read 0x22000000 0x100000 0x300000; " \ 129927b901bSBo Shen "bootz 0x22000000 - 0x21000000" 130927b901bSBo Shen #elif CONFIG_SYS_USE_NANDFLASH 131927b901bSBo Shen /* bootstrap + u-boot + env in nandflash */ 132927b901bSBo Shen #define CONFIG_ENV_IS_IN_NAND 133927b901bSBo Shen #define CONFIG_ENV_OFFSET 0xc0000 134927b901bSBo Shen #define CONFIG_ENV_OFFSET_REDUND 0x100000 135927b901bSBo Shen #define CONFIG_ENV_SIZE 0x20000 136927b901bSBo Shen #define CONFIG_BOOTCOMMAND "nand read 0x21000000 0x180000 0x80000;" \ 137927b901bSBo Shen "nand read 0x22000000 0x200000 0x600000;" \ 138927b901bSBo Shen "bootz 0x22000000 - 0x21000000" 139927b901bSBo Shen #elif CONFIG_SYS_USE_MMC 140927b901bSBo Shen /* bootstrap + u-boot + env in sd card */ 141927b901bSBo Shen #define CONFIG_ENV_IS_IN_FAT 142927b901bSBo Shen #define CONFIG_FAT_WRITE 143927b901bSBo Shen #define FAT_ENV_INTERFACE "mmc" 144927b901bSBo Shen /* 145927b901bSBo Shen * We don't specify the part number, if device 0 has partition table, it means 146927b901bSBo Shen * the first partition; it no partition table, then take whole device as a 147927b901bSBo Shen * FAT file system. 148927b901bSBo Shen */ 149927b901bSBo Shen #define FAT_ENV_DEVICE_AND_PART "0" 150927b901bSBo Shen #define FAT_ENV_FILE "uboot.env" 151927b901bSBo Shen #define CONFIG_ENV_SIZE 0x4000 152927b901bSBo Shen #define CONFIG_BOOTCOMMAND "fatload mmc 0:1 0x21000000 sama5d4ek.dtb; " \ 153927b901bSBo Shen "fatload mmc 0:1 0x22000000 zImage; " \ 154927b901bSBo Shen "bootz 0x22000000 - 0x21000000" 155927b901bSBo Shen #endif 156927b901bSBo Shen 1575a4c9c22SBo Shen /* SPL */ 1585a4c9c22SBo Shen #define CONFIG_SPL_FRAMEWORK 1595a4c9c22SBo Shen #define CONFIG_SPL_TEXT_BASE 0x200000 1605a4c9c22SBo Shen #define CONFIG_SPL_MAX_SIZE 0x10000 1615a4c9c22SBo Shen #define CONFIG_SPL_BSS_START_ADDR 0x20000000 1625a4c9c22SBo Shen #define CONFIG_SPL_BSS_MAX_SIZE 0x80000 1635a4c9c22SBo Shen #define CONFIG_SYS_SPL_MALLOC_START 0x20080000 1645a4c9c22SBo Shen #define CONFIG_SYS_SPL_MALLOC_SIZE 0x80000 1655a4c9c22SBo Shen 1665a4c9c22SBo Shen #define CONFIG_SPL_LIBCOMMON_SUPPORT 1675a4c9c22SBo Shen #define CONFIG_SPL_LIBGENERIC_SUPPORT 1685a4c9c22SBo Shen #define CONFIG_SPL_GPIO_SUPPORT 1695a4c9c22SBo Shen #define CONFIG_SPL_SERIAL_SUPPORT 1705a4c9c22SBo Shen 1715a4c9c22SBo Shen #define CONFIG_SPL_BOARD_INIT 1725a4c9c22SBo Shen #define CONFIG_SYS_MONITOR_LEN (512 << 10) 1735a4c9c22SBo Shen 1745a4c9c22SBo Shen #ifdef CONFIG_SYS_USE_MMC 175993ea97eSBo Shen #define CONFIG_SPL_LDSCRIPT arch/arm/mach-at91/armv7/u-boot-spl.lds 1765a4c9c22SBo Shen #define CONFIG_SPL_MMC_SUPPORT 1775a4c9c22SBo Shen #define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS 0x400 1785a4c9c22SBo Shen #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x200 1795a4c9c22SBo Shen #define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1 1805a4c9c22SBo Shen #define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME "u-boot.img" 1815a4c9c22SBo Shen #define CONFIG_SPL_FAT_SUPPORT 1825a4c9c22SBo Shen #define CONFIG_SPL_LIBDISK_SUPPORT 1835a4c9c22SBo Shen 1845a4c9c22SBo Shen #elif CONFIG_SYS_USE_NANDFLASH 1855a4c9c22SBo Shen #define CONFIG_SPL_NAND_SUPPORT 1865a4c9c22SBo Shen #define CONFIG_SPL_NAND_DRIVERS 1875a4c9c22SBo Shen #define CONFIG_SPL_NAND_BASE 1885a4c9c22SBo Shen #define CONFIG_PMECC_CAP 8 1895a4c9c22SBo Shen #define CONFIG_PMECC_SECTOR_SIZE 512 1905a4c9c22SBo Shen #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x40000 1915a4c9c22SBo Shen #define CONFIG_SYS_NAND_5_ADDR_CYCLE 1925a4c9c22SBo Shen #define CONFIG_SYS_NAND_PAGE_SIZE 0x1000 1935a4c9c22SBo Shen #define CONFIG_SYS_NAND_PAGE_COUNT 64 1945a4c9c22SBo Shen #define CONFIG_SYS_NAND_OOBSIZE 224 1955a4c9c22SBo Shen #define CONFIG_SYS_NAND_BLOCK_SIZE 0x40000 1965a4c9c22SBo Shen #define CONFIG_SYS_NAND_BAD_BLOCK_POS 0x0 1975a4c9c22SBo Shen #define CONFIG_SPL_GENERATE_ATMEL_PMECC_HEADER 1985a4c9c22SBo Shen 1995a4c9c22SBo Shen #elif CONFIG_SYS_USE_SERIALFLASH 2005a4c9c22SBo Shen #define CONFIG_SPL_SPI_SUPPORT 2015a4c9c22SBo Shen #define CONFIG_SPL_SPI_FLASH_SUPPORT 2025a4c9c22SBo Shen #define CONFIG_SPL_SPI_LOAD 2035a4c9c22SBo Shen #define CONFIG_SYS_SPI_U_BOOT_OFFS 0x20000 2045a4c9c22SBo Shen 2055a4c9c22SBo Shen #endif 206927b901bSBo Shen #endif 207