1*2e0c1c7dSJason Cooper /* 2*2e0c1c7dSJason Cooper * (C) Copyright 2011 3*2e0c1c7dSJason Cooper * Jason Cooper <u-boot@lakedaemon.net> 4*2e0c1c7dSJason Cooper * 5*2e0c1c7dSJason Cooper * Based on work by: 6*2e0c1c7dSJason Cooper * Marvell Semiconductor <www.marvell.com> 7*2e0c1c7dSJason Cooper * Written-by: Siddarth Gore <gores@marvell.com> 8*2e0c1c7dSJason Cooper * 9*2e0c1c7dSJason Cooper * See file CREDITS for list of people who contributed to this 10*2e0c1c7dSJason Cooper * project. 11*2e0c1c7dSJason Cooper * 12*2e0c1c7dSJason Cooper * This program is free software; you can redistribute it and/or 13*2e0c1c7dSJason Cooper * modify it under the terms of the GNU General Public License as 14*2e0c1c7dSJason Cooper * published by the Free Software Foundation; either version 2 of 15*2e0c1c7dSJason Cooper * the License, or (at your option) any later version. 16*2e0c1c7dSJason Cooper * 17*2e0c1c7dSJason Cooper * This program is distributed in the hope that it will be useful, 18*2e0c1c7dSJason Cooper * but WITHOUT ANY WARRANTY; without even the implied warranty of 19*2e0c1c7dSJason Cooper * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20*2e0c1c7dSJason Cooper * GNU General Public License for more details. 21*2e0c1c7dSJason Cooper * 22*2e0c1c7dSJason Cooper * You should have received a copy of the GNU General Public License 23*2e0c1c7dSJason Cooper * along with this program; if not, write to the Free Software 24*2e0c1c7dSJason Cooper * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 25*2e0c1c7dSJason Cooper * MA 02110-1301 USA 26*2e0c1c7dSJason Cooper */ 27*2e0c1c7dSJason Cooper 28*2e0c1c7dSJason Cooper #ifndef _CONFIG_DREAMPLUG_H 29*2e0c1c7dSJason Cooper #define _CONFIG_DREAMPLUG_H 30*2e0c1c7dSJason Cooper 31*2e0c1c7dSJason Cooper /* 32*2e0c1c7dSJason Cooper * FIXME: This belongs in mach-types.h. However, we only pull mach-types 33*2e0c1c7dSJason Cooper * from Linus' kernel.org tree. This hasn't been updated primarily due to 34*2e0c1c7dSJason Cooper * the recent arch/arm reshuffling. So, in the meantime, we'll place it 35*2e0c1c7dSJason Cooper * here. 36*2e0c1c7dSJason Cooper */ 37*2e0c1c7dSJason Cooper #include <asm/mach-types.h> 38*2e0c1c7dSJason Cooper #ifdef MACH_TYPE_DREAMPLUG 39*2e0c1c7dSJason Cooper #error "MACH_TYPE_DREAMPLUG has been defined properly, please remove this." 40*2e0c1c7dSJason Cooper #else 41*2e0c1c7dSJason Cooper #define MACH_TYPE_DREAMPLUG 3550 42*2e0c1c7dSJason Cooper #endif 43*2e0c1c7dSJason Cooper 44*2e0c1c7dSJason Cooper /* 45*2e0c1c7dSJason Cooper * Version number information 46*2e0c1c7dSJason Cooper */ 47*2e0c1c7dSJason Cooper #define CONFIG_IDENT_STRING "\nMarvell-DreamPlug" 48*2e0c1c7dSJason Cooper 49*2e0c1c7dSJason Cooper /* 50*2e0c1c7dSJason Cooper * High Level Configuration Options (easy to change) 51*2e0c1c7dSJason Cooper */ 52*2e0c1c7dSJason Cooper #define CONFIG_SHEEVA_88SV131 1 /* CPU Core subversion */ 53*2e0c1c7dSJason Cooper #define CONFIG_KIRKWOOD 1 /* SOC Family Name */ 54*2e0c1c7dSJason Cooper #define CONFIG_KW88F6281 1 /* SOC Name */ 55*2e0c1c7dSJason Cooper #define CONFIG_MACH_TYPE MACH_TYPE_DREAMPLUG 56*2e0c1c7dSJason Cooper #define CONFIG_SKIP_LOWLEVEL_INIT /* disable board lowlevel_init */ 57*2e0c1c7dSJason Cooper 58*2e0c1c7dSJason Cooper /* 59*2e0c1c7dSJason Cooper * Commands configuration 60*2e0c1c7dSJason Cooper */ 61*2e0c1c7dSJason Cooper #define CONFIG_SYS_NO_FLASH /* Declare no flash (NOR/SPI) */ 62*2e0c1c7dSJason Cooper #include <config_cmd_default.h> 63*2e0c1c7dSJason Cooper #define CONFIG_CMD_DHCP 64*2e0c1c7dSJason Cooper #define CONFIG_CMD_ENV 65*2e0c1c7dSJason Cooper #define CONFIG_CMD_FAT 66*2e0c1c7dSJason Cooper #define CONFIG_CMD_SF 67*2e0c1c7dSJason Cooper #define CONFIG_CMD_PING 68*2e0c1c7dSJason Cooper #define CONFIG_CMD_USB 69*2e0c1c7dSJason Cooper #define CONFIG_CMD_IDE 70*2e0c1c7dSJason Cooper #define CONFIG_CMD_DATE 71*2e0c1c7dSJason Cooper 72*2e0c1c7dSJason Cooper /* 73*2e0c1c7dSJason Cooper * mv-common.h should be defined after CMD configs since it used them 74*2e0c1c7dSJason Cooper * to enable certain macros 75*2e0c1c7dSJason Cooper */ 76*2e0c1c7dSJason Cooper #include "mv-common.h" 77*2e0c1c7dSJason Cooper 78*2e0c1c7dSJason Cooper /* 79*2e0c1c7dSJason Cooper * Environment variables configurations 80*2e0c1c7dSJason Cooper */ 81*2e0c1c7dSJason Cooper #ifdef CONFIG_SPI_FLASH 82*2e0c1c7dSJason Cooper #define CONFIG_ENV_IS_IN_SPI_FLASH 1 83*2e0c1c7dSJason Cooper #define CONFIG_ENV_SECT_SIZE 0x10000 /* 64k */ 84*2e0c1c7dSJason Cooper #else 85*2e0c1c7dSJason Cooper #define CONFIG_ENV_IS_NOWHERE 1 /* if env in SDRAM */ 86*2e0c1c7dSJason Cooper #endif 87*2e0c1c7dSJason Cooper 88*2e0c1c7dSJason Cooper #ifdef CONFIG_CMD_SF 89*2e0c1c7dSJason Cooper #define CONFIG_SPI_FLASH 1 90*2e0c1c7dSJason Cooper #define CONFIG_HARD_SPI 1 91*2e0c1c7dSJason Cooper #define CONFIG_KIRKWOOD_SPI 1 92*2e0c1c7dSJason Cooper #define CONFIG_SPI_FLASH_MACRONIX 1 93*2e0c1c7dSJason Cooper #define CONFIG_ENV_SPI_BUS 0 94*2e0c1c7dSJason Cooper #define CONFIG_ENV_SPI_CS 0 95*2e0c1c7dSJason Cooper #define CONFIG_ENV_SPI_MAX_HZ 50000000 /* 50 MHz */ 96*2e0c1c7dSJason Cooper #endif 97*2e0c1c7dSJason Cooper 98*2e0c1c7dSJason Cooper /* 99*2e0c1c7dSJason Cooper * max 4k env size is enough, but in case of nand 100*2e0c1c7dSJason Cooper * it has to be rounded to sector size 101*2e0c1c7dSJason Cooper */ 102*2e0c1c7dSJason Cooper #define CONFIG_ENV_SIZE 0x1000 /* 4k */ 103*2e0c1c7dSJason Cooper #define CONFIG_ENV_ADDR 0x100000 104*2e0c1c7dSJason Cooper #define CONFIG_ENV_OFFSET 0x100000 /* env starts here */ 105*2e0c1c7dSJason Cooper 106*2e0c1c7dSJason Cooper /* 107*2e0c1c7dSJason Cooper * Default environment variables 108*2e0c1c7dSJason Cooper */ 109*2e0c1c7dSJason Cooper #define CONFIG_BOOTCOMMAND "setenv ethact egiga0; " \ 110*2e0c1c7dSJason Cooper "${x_bootcmd_ethernet}; setenv ethact egiga1; " \ 111*2e0c1c7dSJason Cooper "${x_bootcmd_ethernet}; ${x_bootcmd_usb}; ${x_bootcmd_kernel}; "\ 112*2e0c1c7dSJason Cooper "setenv bootargs ${x_bootargs} ${x_bootargs_root}; " \ 113*2e0c1c7dSJason Cooper "bootm 0x6400000;" 114*2e0c1c7dSJason Cooper 115*2e0c1c7dSJason Cooper #define CONFIG_EXTRA_ENV_SETTINGS \ 116*2e0c1c7dSJason Cooper "x_bootcmd_ethernet=ping 192.168.2.1\0" \ 117*2e0c1c7dSJason Cooper "x_bootcmd_usb=usb start\0" \ 118*2e0c1c7dSJason Cooper "x_bootcmd_kernel=fatload usb 0 0x6400000 uImage\0" \ 119*2e0c1c7dSJason Cooper "x_bootargs=console=ttyS0,115200\0" \ 120*2e0c1c7dSJason Cooper "x_bootargs_root=root=/dev/sda2 rootdelay=10\0" 121*2e0c1c7dSJason Cooper 122*2e0c1c7dSJason Cooper /* 123*2e0c1c7dSJason Cooper * Ethernet Driver configuration 124*2e0c1c7dSJason Cooper */ 125*2e0c1c7dSJason Cooper #ifdef CONFIG_CMD_NET 126*2e0c1c7dSJason Cooper #define CONFIG_MVGBE_PORTS {1, 1} /* enable both ports */ 127*2e0c1c7dSJason Cooper #define CONFIG_PHY_BASE_ADR 0 128*2e0c1c7dSJason Cooper #endif /* CONFIG_CMD_NET */ 129*2e0c1c7dSJason Cooper 130*2e0c1c7dSJason Cooper /* 131*2e0c1c7dSJason Cooper * SATA Driver configuration 132*2e0c1c7dSJason Cooper */ 133*2e0c1c7dSJason Cooper #ifdef CONFIG_MVSATA_IDE 134*2e0c1c7dSJason Cooper #define CONFIG_SYS_ATA_IDE0_OFFSET MV_SATA_PORT0_OFFSET 135*2e0c1c7dSJason Cooper #endif /*CONFIG_MVSATA_IDE*/ 136*2e0c1c7dSJason Cooper 137*2e0c1c7dSJason Cooper /* 138*2e0c1c7dSJason Cooper * RTC driver configuration 139*2e0c1c7dSJason Cooper */ 140*2e0c1c7dSJason Cooper #ifdef CONFIG_CMD_DATE 141*2e0c1c7dSJason Cooper #define CONFIG_RTC_MV 142*2e0c1c7dSJason Cooper #endif /* CONFIG_CMD_DATE */ 143*2e0c1c7dSJason Cooper 144*2e0c1c7dSJason Cooper #define CONFIG_SYS_ALT_MEMTEST 145*2e0c1c7dSJason Cooper 146*2e0c1c7dSJason Cooper /* 147*2e0c1c7dSJason Cooper * display enhanced info about the cpu at boot. 148*2e0c1c7dSJason Cooper */ 149*2e0c1c7dSJason Cooper #define CONFIG_DISPLAY_CPUINFO 150*2e0c1c7dSJason Cooper 151*2e0c1c7dSJason Cooper #endif /* _CONFIG_DREAMPLUG_H */ 152