1*1dcdd862SMateusz Kulikowski /* 2*1dcdd862SMateusz Kulikowski * (C) Copyright 2007-2013 3*1dcdd862SMateusz Kulikowski * Stelian Pop <stelian.pop@leadtechdesign.com> 4*1dcdd862SMateusz Kulikowski * Lead Tech Design <www.leadtechdesign.com> 5*1dcdd862SMateusz Kulikowski * Thomas Petazzoni, Free Electrons, <thomas.petazzoni@free-electrons.com> 6*1dcdd862SMateusz Kulikowski * Mateusz Kulikowski <mateusz.kulikowski@gmail.com> 7*1dcdd862SMateusz Kulikowski * 8*1dcdd862SMateusz Kulikowski * Settings for Calao USB-A9263 board 9*1dcdd862SMateusz Kulikowski * 10*1dcdd862SMateusz Kulikowski * U-Boot image has to be less than 200704 bytes, otherwise at91bootstrap 11*1dcdd862SMateusz Kulikowski * installed on board will not be able to load it properly. 12*1dcdd862SMateusz Kulikowski * 13*1dcdd862SMateusz Kulikowski * SPDX-License-Identifier: GPL-2.0+ 14*1dcdd862SMateusz Kulikowski */ 15*1dcdd862SMateusz Kulikowski 16*1dcdd862SMateusz Kulikowski #ifndef __CONFIG_H 17*1dcdd862SMateusz Kulikowski #define __CONFIG_H 18*1dcdd862SMateusz Kulikowski #include <asm/hardware.h> 19*1dcdd862SMateusz Kulikowski 20*1dcdd862SMateusz Kulikowski /* ARM asynchronous clock */ 21*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_AT91_MAIN_CLOCK 12000000 /* 12 MHz crystal */ 22*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_AT91_SLOW_CLOCK 32768 23*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_HZ 1000 24*1dcdd862SMateusz Kulikowski 25*1dcdd862SMateusz Kulikowski #define CONFIG_MACH_TYPE MACH_TYPE_USB_A9263 26*1dcdd862SMateusz Kulikowski 27*1dcdd862SMateusz Kulikowski #define CONFIG_ARCH_CPU_INIT 28*1dcdd862SMateusz Kulikowski 29*1dcdd862SMateusz Kulikowski #define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */ 30*1dcdd862SMateusz Kulikowski #define CONFIG_SETUP_MEMORY_TAGS 31*1dcdd862SMateusz Kulikowski #define CONFIG_INITRD_TAG 32*1dcdd862SMateusz Kulikowski 33*1dcdd862SMateusz Kulikowski #define CONFIG_SKIP_LOWLEVEL_INIT 34*1dcdd862SMateusz Kulikowski 35*1dcdd862SMateusz Kulikowski #define CONFIG_DISPLAY_CPUINFO 36*1dcdd862SMateusz Kulikowski 37*1dcdd862SMateusz Kulikowski #define CONFIG_OF_LIBFDT 38*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_GENERIC_BOARD 39*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_TEXT_BASE 0x23f00000 40*1dcdd862SMateusz Kulikowski 41*1dcdd862SMateusz Kulikowski /* 42*1dcdd862SMateusz Kulikowski * Hardware drivers 43*1dcdd862SMateusz Kulikowski */ 44*1dcdd862SMateusz Kulikowski #define CONFIG_AT91_GPIO 45*1dcdd862SMateusz Kulikowski 46*1dcdd862SMateusz Kulikowski /* serial console */ 47*1dcdd862SMateusz Kulikowski #define CONFIG_ATMEL_USART 48*1dcdd862SMateusz Kulikowski #define CONFIG_USART_BASE ATMEL_BASE_DBGU 49*1dcdd862SMateusz Kulikowski #define CONFIG_USART_ID ATMEL_ID_SYS 50*1dcdd862SMateusz Kulikowski #define CONFIG_BAUDRATE 115200 51*1dcdd862SMateusz Kulikowski 52*1dcdd862SMateusz Kulikowski #define CONFIG_BOOTDELAY 3 53*1dcdd862SMateusz Kulikowski 54*1dcdd862SMateusz Kulikowski /* 55*1dcdd862SMateusz Kulikowski * BOOTP options 56*1dcdd862SMateusz Kulikowski */ 57*1dcdd862SMateusz Kulikowski #define CONFIG_BOOTP_BOOTFILESIZE 58*1dcdd862SMateusz Kulikowski #define CONFIG_BOOTP_BOOTPATH 59*1dcdd862SMateusz Kulikowski #define CONFIG_BOOTP_GATEWAY 60*1dcdd862SMateusz Kulikowski #define CONFIG_BOOTP_HOSTNAME 61*1dcdd862SMateusz Kulikowski 62*1dcdd862SMateusz Kulikowski /* 63*1dcdd862SMateusz Kulikowski * Command line configuration. 64*1dcdd862SMateusz Kulikowski */ 65*1dcdd862SMateusz Kulikowski #include <config_cmd_default.h> 66*1dcdd862SMateusz Kulikowski #undef CONFIG_CMD_BDI 67*1dcdd862SMateusz Kulikowski #undef CONFIG_CMD_FPGA 68*1dcdd862SMateusz Kulikowski #undef CONFIG_CMD_IMI 69*1dcdd862SMateusz Kulikowski #undef CONFIG_CMD_IMLS 70*1dcdd862SMateusz Kulikowski #undef CONFIG_CMD_ITEST 71*1dcdd862SMateusz Kulikowski #undef CONFIG_CMD_LOADB 72*1dcdd862SMateusz Kulikowski #undef CONFIG_CMD_LOADS 73*1dcdd862SMateusz Kulikowski 74*1dcdd862SMateusz Kulikowski #define CONFIG_CMD_PING 75*1dcdd862SMateusz Kulikowski #define CONFIG_CMD_DHCP 76*1dcdd862SMateusz Kulikowski #define CONFIG_CMD_NAND 77*1dcdd862SMateusz Kulikowski 78*1dcdd862SMateusz Kulikowski /* SDRAM */ 79*1dcdd862SMateusz Kulikowski #define CONFIG_NR_DRAM_BANKS 1 80*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_SDRAM_BASE ATMEL_BASE_CS1 81*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_SDRAM_SIZE 0x04000000 82*1dcdd862SMateusz Kulikowski 83*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_INIT_SP_ADDR \ 84*1dcdd862SMateusz Kulikowski (ATMEL_BASE_SRAM1 + 0x1000 - GENERATED_GBL_DATA_SIZE) 85*1dcdd862SMateusz Kulikowski 86*1dcdd862SMateusz Kulikowski /* DataFlash */ 87*1dcdd862SMateusz Kulikowski #define CONFIG_ATMEL_DATAFLASH_SPI 88*1dcdd862SMateusz Kulikowski #define CONFIG_HAS_DATAFLASH 89*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_SPI_WRITE_TOUT (5*CONFIG_SYS_HZ) 90*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_MAX_DATAFLASH_BANKS 1 91*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 0xC0000000 92*1dcdd862SMateusz Kulikowski #define AT91_SPI_CLK 8000000 93*1dcdd862SMateusz Kulikowski #define DATAFLASH_TCSS (0x1a << 16) 94*1dcdd862SMateusz Kulikowski #define DATAFLASH_TCHS (0x1 << 24) 95*1dcdd862SMateusz Kulikowski 96*1dcdd862SMateusz Kulikowski /* no NOR flash */ 97*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_NO_FLASH 98*1dcdd862SMateusz Kulikowski 99*1dcdd862SMateusz Kulikowski /* NAND flash */ 100*1dcdd862SMateusz Kulikowski #ifdef CONFIG_CMD_NAND 101*1dcdd862SMateusz Kulikowski #define CONFIG_NAND_ATMEL 102*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_MAX_NAND_DEVICE 1 103*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_NAND_BASE ATMEL_BASE_CS3 104*1dcdd862SMateusz Kulikowski /* our ALE is AD21 */ 105*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_NAND_MASK_ALE (1 << 21) 106*1dcdd862SMateusz Kulikowski /* our CLE is AD22 */ 107*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_NAND_MASK_CLE (1 << 22) 108*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_NAND_ENABLE_PIN GPIO_PIN_PD(15) 109*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_NAND_READY_PIN GPIO_PIN_PA(22) 110*1dcdd862SMateusz Kulikowski #endif 111*1dcdd862SMateusz Kulikowski 112*1dcdd862SMateusz Kulikowski #define MTDPARTS_DEFAULT \ 113*1dcdd862SMateusz Kulikowski "mtdparts=atmel_nand:16m(kernel)ro,120m(root1),-(root2)" 114*1dcdd862SMateusz Kulikowski 115*1dcdd862SMateusz Kulikowski /* Ethernet */ 116*1dcdd862SMateusz Kulikowski #define CONFIG_MACB 117*1dcdd862SMateusz Kulikowski #define CONFIG_RMII 118*1dcdd862SMateusz Kulikowski #define CONFIG_NET_RETRY_COUNT 20 119*1dcdd862SMateusz Kulikowski #define CONFIG_AT91_WANTS_COMMON_PHY 120*1dcdd862SMateusz Kulikowski 121*1dcdd862SMateusz Kulikowski /* USB */ 122*1dcdd862SMateusz Kulikowski #ifdef CONFIG_CMD_USB 123*1dcdd862SMateusz Kulikowski #define CONFIG_USB_ATMEL 124*1dcdd862SMateusz Kulikowski #define CONFIG_USB_OHCI_NEW 125*1dcdd862SMateusz Kulikowski #define CONFIG_DOS_PARTITION 126*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_USB_OHCI_CPU_INIT 127*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_USB_OHCI_REGS_BASE 0x00a00000 128*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_USB_OHCI_SLOT_NAME "at91sam9263" 129*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2 130*1dcdd862SMateusz Kulikowski #define CONFIG_USB_STORAGE 131*1dcdd862SMateusz Kulikowski #define CONFIG_CMD_FAT 132*1dcdd862SMateusz Kulikowski #endif 133*1dcdd862SMateusz Kulikowski 134*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_LOAD_ADDR 0x22000000 135*1dcdd862SMateusz Kulikowski 136*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE 137*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_MEMTEST_END 0x23e00000 138*1dcdd862SMateusz Kulikowski 139*1dcdd862SMateusz Kulikowski /* bootstrap + u-boot + env in dataflash on CS0 */ 140*1dcdd862SMateusz Kulikowski #define CONFIG_ENV_IS_IN_DATAFLASH 141*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + 0x4000) 142*1dcdd862SMateusz Kulikowski #define CONFIG_ENV_OFFSET 0x2000 143*1dcdd862SMateusz Kulikowski #define CONFIG_ENV_ADDR (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + \ 144*1dcdd862SMateusz Kulikowski CONFIG_ENV_OFFSET) 145*1dcdd862SMateusz Kulikowski #define CONFIG_ENV_SIZE 0x2000 146*1dcdd862SMateusz Kulikowski #define CONFIG_BOOTCOMMAND "nboot 21000000 0" 147*1dcdd862SMateusz Kulikowski #define CONFIG_BOOTARGS "console=ttyS0,115200 " \ 148*1dcdd862SMateusz Kulikowski "root=/dev/mtdblock1 " \ 149*1dcdd862SMateusz Kulikowski "mtdparts=" MTDPARTS_DEFAULT " " \ 150*1dcdd862SMateusz Kulikowski "rw rootfstype=jffs2" 151*1dcdd862SMateusz Kulikowski #define CONFIG_EXTRA_ENV_SETTINGS \ 152*1dcdd862SMateusz Kulikowski "mtdparts=" MTDPARTS_DEFAULT "\0" \ 153*1dcdd862SMateusz Kulikowski 154*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_PROMPT "U-Boot> " 155*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_CBSIZE 256 156*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_MAXARGS 16 157*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ 158*1dcdd862SMateusz Kulikowski sizeof(CONFIG_SYS_PROMPT) + 16) 159*1dcdd862SMateusz Kulikowski #define CONFIG_CMDLINE_EDITING 160*1dcdd862SMateusz Kulikowski #define CONFIG_AUTO_COMPLETE 161*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_HUSH_PARSER 162*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_LONGHELP 163*1dcdd862SMateusz Kulikowski 164*1dcdd862SMateusz Kulikowski /* 165*1dcdd862SMateusz Kulikowski * Size of malloc() pool 166*1dcdd862SMateusz Kulikowski */ 167*1dcdd862SMateusz Kulikowski #define CONFIG_SYS_MALLOC_LEN ROUND(3 * CONFIG_ENV_SIZE + 128*1024, 0x1000) 168*1dcdd862SMateusz Kulikowski 169*1dcdd862SMateusz Kulikowski #endif 170