1*b5d289fcSAsen Dimov /* 2*b5d289fcSAsen Dimov * (C) Copyright 2010 3*b5d289fcSAsen Dimov * Ilko Iliev <iliev@ronetix.at> 4*b5d289fcSAsen Dimov * Asen Dimov <dimov@ronetix.at> 5*b5d289fcSAsen Dimov * Ronetix GmbH <www.ronetix.at> 6*b5d289fcSAsen Dimov * 7*b5d289fcSAsen Dimov * (C) Copyright 2007-2008 8*b5d289fcSAsen Dimov * Stelian Pop <stelian.pop@leadtechdesign.com> 9*b5d289fcSAsen Dimov * Lead Tech Design <www.leadtechdesign.com> 10*b5d289fcSAsen Dimov * 11*b5d289fcSAsen Dimov * Configuation settings for the PM9G45 board. 12*b5d289fcSAsen Dimov * 13*b5d289fcSAsen Dimov * See file CREDITS for list of people who contributed to this 14*b5d289fcSAsen Dimov * project. 15*b5d289fcSAsen Dimov * 16*b5d289fcSAsen Dimov * This program is free software; you can redistribute it and/or 17*b5d289fcSAsen Dimov * modify it under the terms of the GNU General Public License as 18*b5d289fcSAsen Dimov * published by the Free Software Foundation; either version 2 of 19*b5d289fcSAsen Dimov * the License, or (at your option) any later version. 20*b5d289fcSAsen Dimov * 21*b5d289fcSAsen Dimov * This program is distributed in the hope that it will be useful, 22*b5d289fcSAsen Dimov * but WITHOUT ANY WARRANTY; without even the implied warranty of 23*b5d289fcSAsen Dimov * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 24*b5d289fcSAsen Dimov * GNU General Public License for more details. 25*b5d289fcSAsen Dimov * 26*b5d289fcSAsen Dimov * You should have received a copy of the GNU General Public License 27*b5d289fcSAsen Dimov * along with this program; if not, write to the Free Software 28*b5d289fcSAsen Dimov * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 29*b5d289fcSAsen Dimov * MA 02111-1307 USA 30*b5d289fcSAsen Dimov */ 31*b5d289fcSAsen Dimov 32*b5d289fcSAsen Dimov #ifndef __CONFIG_H 33*b5d289fcSAsen Dimov #define __CONFIG_H 34*b5d289fcSAsen Dimov 35*b5d289fcSAsen Dimov #define CONFIG_ARM926EJS 1 /* This is an ARM926EJS Core */ 36*b5d289fcSAsen Dimov #define CONFIG_PM9G45 1 /* It's an Ronetix PM9G45 */ 37*b5d289fcSAsen Dimov #define CONFIG_AT91SAM9G45 1 /* It's an Atmel AT91SAM9G45 SoC */ 38*b5d289fcSAsen Dimov 39*b5d289fcSAsen Dimov /* ARM asynchronous clock */ 40*b5d289fcSAsen Dimov #define CONFIG_SYS_AT91_MAIN_CLOCK 12000000 /* from 12 MHz crystal */ 41*b5d289fcSAsen Dimov #define CONFIG_SYS_HZ 1000 42*b5d289fcSAsen Dimov 43*b5d289fcSAsen Dimov #define CONFIG_ARCH_CPU_INIT 44*b5d289fcSAsen Dimov 45*b5d289fcSAsen Dimov #define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */ 46*b5d289fcSAsen Dimov #define CONFIG_SETUP_MEMORY_TAGS 1 47*b5d289fcSAsen Dimov #define CONFIG_INITRD_TAG 1 48*b5d289fcSAsen Dimov 49*b5d289fcSAsen Dimov #define CONFIG_SKIP_LOWLEVEL_INIT 50*b5d289fcSAsen Dimov #define CONFIG_SKIP_RELOCATE_UBOOT 51*b5d289fcSAsen Dimov 52*b5d289fcSAsen Dimov /* 53*b5d289fcSAsen Dimov * Hardware drivers 54*b5d289fcSAsen Dimov */ 55*b5d289fcSAsen Dimov #define CONFIG_AT91_GPIO 1 56*b5d289fcSAsen Dimov #define CONFIG_ATMEL_USART 1 57*b5d289fcSAsen Dimov #define CONFIG_USART3 1 /* USART 3 is DBGU */ 58*b5d289fcSAsen Dimov 59*b5d289fcSAsen Dimov #define CONFIG_SYS_USE_NANDFLASH 1 60*b5d289fcSAsen Dimov 61*b5d289fcSAsen Dimov /* LED */ 62*b5d289fcSAsen Dimov #define CONFIG_AT91_LED 63*b5d289fcSAsen Dimov #define CONFIG_RED_LED AT91_PIO_PORTD, 31 /* this is the user1 led */ 64*b5d289fcSAsen Dimov #define CONFIG_GREEN_LED AT91_PIO_PORTD, 0 /* this is the user2 led */ 65*b5d289fcSAsen Dimov 66*b5d289fcSAsen Dimov #define CONFIG_BOOTDELAY 3 67*b5d289fcSAsen Dimov 68*b5d289fcSAsen Dimov /* 69*b5d289fcSAsen Dimov * BOOTP options 70*b5d289fcSAsen Dimov */ 71*b5d289fcSAsen Dimov #define CONFIG_BOOTP_BOOTFILESIZE 1 72*b5d289fcSAsen Dimov #define CONFIG_BOOTP_BOOTPATH 1 73*b5d289fcSAsen Dimov #define CONFIG_BOOTP_GATEWAY 1 74*b5d289fcSAsen Dimov #define CONFIG_BOOTP_HOSTNAME 1 75*b5d289fcSAsen Dimov 76*b5d289fcSAsen Dimov /* 77*b5d289fcSAsen Dimov * Command line configuration. 78*b5d289fcSAsen Dimov */ 79*b5d289fcSAsen Dimov #include <config_cmd_default.h> 80*b5d289fcSAsen Dimov #undef CONFIG_CMD_FPGA 81*b5d289fcSAsen Dimov #undef CONFIG_CMD_IMLS 82*b5d289fcSAsen Dimov 83*b5d289fcSAsen Dimov #define CONFIG_CMD_PING 1 84*b5d289fcSAsen Dimov #define CONFIG_CMD_DHCP 1 85*b5d289fcSAsen Dimov #define CONFIG_CMD_NAND 1 86*b5d289fcSAsen Dimov #define CONFIG_CMD_USB 1 87*b5d289fcSAsen Dimov 88*b5d289fcSAsen Dimov #define CONFIG_CMD_JFFS2 1 89*b5d289fcSAsen Dimov #define CONFIG_JFFS2_CMDLINE 1 90*b5d289fcSAsen Dimov #define CONFIG_JFFS2_NAND 1 91*b5d289fcSAsen Dimov #define CONFIG_JFFS2_DEV "nand0" /* NAND dev jffs2 lives on */ 92*b5d289fcSAsen Dimov #define CONFIG_JFFS2_PART_OFFSET 0 /* start of jffs2 partition */ 93*b5d289fcSAsen Dimov #define CONFIG_JFFS2_PART_SIZE (256 * 1024 * 1024) /* partition */ 94*b5d289fcSAsen Dimov 95*b5d289fcSAsen Dimov /* SDRAM */ 96*b5d289fcSAsen Dimov #define CONFIG_NR_DRAM_BANKS 1 97*b5d289fcSAsen Dimov #define PHYS_SDRAM 0x70000000 98*b5d289fcSAsen Dimov #define PHYS_SDRAM_SIZE 0x08000000 /* 128 megs */ 99*b5d289fcSAsen Dimov 100*b5d289fcSAsen Dimov /* NOR flash, not available */ 101*b5d289fcSAsen Dimov #define CONFIG_SYS_NO_FLASH 1 102*b5d289fcSAsen Dimov #undef CONFIG_CMD_FLASH 103*b5d289fcSAsen Dimov 104*b5d289fcSAsen Dimov /* NAND flash */ 105*b5d289fcSAsen Dimov #ifdef CONFIG_CMD_NAND 106*b5d289fcSAsen Dimov #define CONFIG_NAND_MAX_CHIPS 1 107*b5d289fcSAsen Dimov #define CONFIG_NAND_ATMEL 108*b5d289fcSAsen Dimov #define CONFIG_SYS_MAX_NAND_DEVICE 1 109*b5d289fcSAsen Dimov #define CONFIG_SYS_NAND_BASE 0x40000000 110*b5d289fcSAsen Dimov #define CONFIG_SYS_NAND_DBW_8 1 111*b5d289fcSAsen Dimov /* our ALE is AD21 */ 112*b5d289fcSAsen Dimov #define CONFIG_SYS_NAND_MASK_ALE (1 << 21) 113*b5d289fcSAsen Dimov /* our CLE is AD22 */ 114*b5d289fcSAsen Dimov #define CONFIG_SYS_NAND_MASK_CLE (1 << 22) 115*b5d289fcSAsen Dimov #define CONFIG_SYS_NAND_ENABLE_PIN AT91_PIO_PORTC, 14 116*b5d289fcSAsen Dimov #define CONFIG_SYS_NAND_READY_PIN AT91_PIO_PORTD, 3 117*b5d289fcSAsen Dimov 118*b5d289fcSAsen Dimov #endif 119*b5d289fcSAsen Dimov 120*b5d289fcSAsen Dimov /* Ethernet */ 121*b5d289fcSAsen Dimov #define CONFIG_MACB 1 122*b5d289fcSAsen Dimov #define CONFIG_RMII 1 123*b5d289fcSAsen Dimov #define CONFIG_NET_MULTI 1 124*b5d289fcSAsen Dimov #define CONFIG_NET_RETRY_COUNT 20 125*b5d289fcSAsen Dimov #define CONFIG_RESET_PHY_R 1 126*b5d289fcSAsen Dimov 127*b5d289fcSAsen Dimov /* USB */ 128*b5d289fcSAsen Dimov #define CONFIG_USB_ATMEL 129*b5d289fcSAsen Dimov #define CONFIG_USB_OHCI_NEW 1 130*b5d289fcSAsen Dimov #define CONFIG_DOS_PARTITION 1 131*b5d289fcSAsen Dimov #define CONFIG_SYS_USB_OHCI_CPU_INIT 1 132*b5d289fcSAsen Dimov #define CONFIG_SYS_USB_OHCI_REGS_BASE 0x00700000 /* _UHP_OHCI_BASE */ 133*b5d289fcSAsen Dimov #define CONFIG_SYS_USB_OHCI_SLOT_NAME "at91sam9g45" 134*b5d289fcSAsen Dimov #define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2 135*b5d289fcSAsen Dimov #define CONFIG_USB_STORAGE 1 136*b5d289fcSAsen Dimov 137*b5d289fcSAsen Dimov /* board specific(not enough SRAM) */ 138*b5d289fcSAsen Dimov #define CONFIG_AT91SAM9G45_LCD_BASE PHYS_SDRAM + 0xE00000 139*b5d289fcSAsen Dimov 140*b5d289fcSAsen Dimov #define CONFIG_SYS_LOAD_ADDR PHYS_SDRAM + 0x2000000 /* load addr */ 141*b5d289fcSAsen Dimov 142*b5d289fcSAsen Dimov #define CONFIG_SYS_MEMTEST_START PHYS_SDRAM 143*b5d289fcSAsen Dimov #define CONFIG_SYS_MEMTEST_END CONFIG_AT91SAM9G45_LCD_BASE 144*b5d289fcSAsen Dimov 145*b5d289fcSAsen Dimov /* bootstrap + u-boot + env + linux in nandflash */ 146*b5d289fcSAsen Dimov #define CONFIG_ENV_IS_IN_NAND 1 147*b5d289fcSAsen Dimov #define CONFIG_ENV_OFFSET 0x60000 148*b5d289fcSAsen Dimov #define CONFIG_ENV_OFFSET_REDUND 0x80000 149*b5d289fcSAsen Dimov #define CONFIG_ENV_SIZE 0x20000 /* 1 sector = 128 kB */ 150*b5d289fcSAsen Dimov #define CONFIG_BOOTCOMMAND "nand read 0x72000000 0x200000 0x200000; bootm" 151*b5d289fcSAsen Dimov #define CONFIG_BOOTARGS "fbcon=rotate:3 console=tty0 " \ 152*b5d289fcSAsen Dimov "console=ttyS0,115200 " \ 153*b5d289fcSAsen Dimov "root=/dev/mtdblock4 " \ 154*b5d289fcSAsen Dimov "mtdparts=atmel_nand:128k(bootstrap)ro," \ 155*b5d289fcSAsen Dimov "256k(uboot)ro,1664k(env)," \ 156*b5d289fcSAsen Dimov "2M(linux)ro,-(root) rw " \ 157*b5d289fcSAsen Dimov "rootfstype=jffs2" 158*b5d289fcSAsen Dimov 159*b5d289fcSAsen Dimov #define CONFIG_BAUDRATE 115200 160*b5d289fcSAsen Dimov #define CONFIG_SYS_BAUDRATE_TABLE {115200 , 19200, 38400, 57600, 9600 } 161*b5d289fcSAsen Dimov 162*b5d289fcSAsen Dimov #define CONFIG_SYS_PROMPT "U-Boot> " 163*b5d289fcSAsen Dimov #define CONFIG_SYS_CBSIZE 256 164*b5d289fcSAsen Dimov #define CONFIG_SYS_MAXARGS 16 165*b5d289fcSAsen Dimov #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ 166*b5d289fcSAsen Dimov sizeof(CONFIG_SYS_PROMPT) + 16) 167*b5d289fcSAsen Dimov #define CONFIG_SYS_LONGHELP 1 168*b5d289fcSAsen Dimov #define CONFIG_CMDLINE_EDITING 1 169*b5d289fcSAsen Dimov #define CONFIG_AUTO_COMPLETE 170*b5d289fcSAsen Dimov #define CONFIG_SYS_HUSH_PARSER 171*b5d289fcSAsen Dimov #define CONFIG_SYS_PROMPT_HUSH_PS2 "> " 172*b5d289fcSAsen Dimov 173*b5d289fcSAsen Dimov /* 174*b5d289fcSAsen Dimov * Size of malloc() pool 175*b5d289fcSAsen Dimov */ 176*b5d289fcSAsen Dimov #define CONFIG_SYS_MALLOC_LEN ROUND(3 * CONFIG_ENV_SIZE + 128*1024,\ 177*b5d289fcSAsen Dimov 0x1000) 178*b5d289fcSAsen Dimov #define CONFIG_SYS_GBL_DATA_SIZE 128 /* 128 bytes for initial data */ 179*b5d289fcSAsen Dimov 180*b5d289fcSAsen Dimov #define CONFIG_STACKSIZE (32*1024) /* regular stack */ 181*b5d289fcSAsen Dimov 182*b5d289fcSAsen Dimov #ifdef CONFIG_USE_IRQ 183*b5d289fcSAsen Dimov #error CONFIG_USE_IRQ not supported 184*b5d289fcSAsen Dimov #endif 185*b5d289fcSAsen Dimov 186*b5d289fcSAsen Dimov #endif 187