
I've tried to search the mailing list but was unable to do so. I am assuming that this board has no support at the momemt.
What is Avila ? =============== This is an affordable Xscale development platform as well as a usable, off-the-shelf Wireless AP/Router platform.
This platform is based on the IXDP425 but has some minor differences most of which are contained in the config file. This board has its own mach-type defined by Linux so I've added that to board/ixdp425/ixdp425.c and also put in the board information string.
More information on these boards can be found here:
http://www.gateworks.com/avila_processors.htm
Which tree does this apply to ? =============================== IXP custodian tree: u-boot-ixp.git
What is supported/tested with this patch ? ========================================== * Boot from flash (JFFS2 or raw image) * NPE Ethernet (you will need NPE microcode from Intel).
I am working on a patch for supporting the CF IDE interface on this board which I will submit separately.
Signed-off-by: Ranjit Deshpande ranjit@kenati.com =========================================================================== diff -purN u-boot/u-boot-ixp.git/board/ixdp425/ixdp425.c u-boot.avila/u-boot-ixp.git/board/ixdp425/ixdp425.c --- u-boot/u-boot-ixp.git/board/ixdp425/ixdp425.c 2007-06-06 07:26:56.000000000 -0700 +++ u-boot.avila/u-boot-ixp.git/board/ixdp425/ixdp425.c 2007-07-23 15:31:55.438517399 -0700 @@ -45,9 +45,14 @@ int board_post_init (void)
int board_init (void) { +#ifdef CONFIG_AVILA + /* arch number of Gateworks Avila */ + gd->bd->bi_arch_number = MACH_TYPE_AVILA; +#endif +#ifdef CONFIG_IXDP425 /* arch number of IXDP */ gd->bd->bi_arch_number = MACH_TYPE_IXDP425; - +#endif /* adress of boot parameters */ gd->bd->bi_boot_params = 0x00000100;
@@ -91,9 +96,29 @@ int checkboard(void)
#ifdef CONFIG_IXDPG425 puts("Board: IXDPG425 - Intel Network Gateway Reference Platform"); -#else +#endif +#ifdef CONFIG_IXDP425 puts("Board: IXDP425 - Intel Development Platform"); #endif +#ifdef CONFIG_AVILA + puts("Board: Gateworks Avila " +#ifdef CONFIG_AVILA_2342 + "2342" +#endif +#ifdef CONFIG_AVILA_2345 + "2345" +#endif +#ifdef CONFIG_AVILA_2347 + "2347" +#endif +#ifdef CONFIG_AVILA_2348_2 + "2348-2" +#endif +#ifdef CONFIG_AVILA_2348_4 + "2348-4" +#endif + ); +#endif
if (s != NULL) { puts(", serial# "); diff -purN u-boot/u-boot-ixp.git/include/configs/avila.h u-boot.avila/u-boot-ixp.git/include/configs/avila.h --- u-boot/u-boot-ixp.git/include/configs/avila.h 1969-12-31 16:00:00.000000000 -0800 +++ u-boot.avila/u-boot-ixp.git/include/configs/avila.h 2007-07-23 19:11:54.368379254 -0700 @@ -0,0 +1,223 @@ +/* + * (C) Copyright 2003 + * Kyle Harris, Nexus Technologies, Inc. kharris@nexus-tech.net + * + * (C) Copyright 2007 + * Ranjit Deshpande, Kenati Technologies, Inc. ranjit@kenati.com + * + * Configuation settings for the Gateworks Avila board. + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#ifndef __CONFIG_H +#define __CONFIG_H + +/* + * High Level Configuration Options + * (easy to change) + */ +#define CONFIG_IXP425 1 /* This is an IXP425 CPU */ +#define CONFIG_AVILA 1 /* on a Gateworks Avila board */ + +/* Define the sub-type for the Avila platform. */ +#undef CONFIG_AVILA_2342 1 +#undef CONFIG_AVILA_2345 +#undef CONFIG_AVILA_2347 +#undef CONFIG_AVILA_2348_2 +#define CONFIG_AVILA_2348_4 + +#define CONFIG_DISPLAY_CPUINFO 1 /* display cpu info (and speed) */ +#define CONFIG_DISPLAY_BOARDINFO 1 /* display board info */ + +/*************************************************************** + * U-boot generic defines start here. + ***************************************************************/ + +#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */ + +/* + * Size of malloc() pool + */ +#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 128*1024) +#define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */ + +/* allow to overwrite serial and ethaddr */ +#define CONFIG_ENV_OVERWRITE + +#define CONFIG_BAUDRATE 115200 + +#define CONFIG_COMMANDS (CONFIG_CMD_DFL | \ + CFG_CMD_PCI | \ + CFG_CMD_JFFS2) & \ + ~(CFG_CMD_ITEST | \ + CFG_CMD_NFS | \ + CFG_CMD_AUTOSCRIPT) + +#define CONFIG_PCI +#define CONFIG_NET_MULTI +#define CONFIG_EEPRO100 +/* This must be included AFTER the definition of CONFIG_COMMANDS (if any) */ +/* These are u-boot generic parameters */ +#include <cmd_confdefs.h> + +#define CONFIG_BOOTDELAY 3 +#define CONFIG_ETHADDR 08:00:3e:26:0a:5b +#define CONFIG_NETMASK 255.255.255.0 +#define CONFIG_IPADDR 192.168.0.21 +#define CONFIG_SERVERIP 192.168.0.148 +#define CONFIG_BOOTCOMMAND "bootm 50040000" +#define CONFIG_BOOTARGS "root=/dev/mtdblock2 rootfstype=cramfs console=ttyS0,115200" +#define CONFIG_CMDLINE_TAG + +#if (CONFIG_COMMANDS & CFG_CMD_KGDB) +#define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */ +#define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */ +#endif + +/* + * Miscellaneous configurable options + */ +#define CFG_LONGHELP /* undef to save memory */ +#define CFG_PROMPT "=> " /* Monitor Command Prompt */ +#define CFG_CBSIZE 256 /* Console I/O Buffer Size */ +#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ +#define CFG_MAXARGS 16 /* max number of command args */ +#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ + +#define CFG_MEMTEST_START 0x00400000 /* memtest works on */ +#define CFG_MEMTEST_END 0x00800000 /* 4 ... 8 MB in DRAM */ + +#undef CFG_CLKS_IN_HZ /* everything, incl board info, in Hz */ + +#define CFG_LOAD_ADDR 0x00010000 /* default load address */ + +#define CFG_HZ 3333333 /* spec says 66.666 MHz, but it appears to be 33 */ + /* valid baudrates */ +#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } + +/* + * Stack sizes + * + * The stack sizes are set up in start.S using the settings below + */ +#define CONFIG_STACKSIZE (128*1024) /* regular stack */ +#ifdef CONFIG_USE_IRQ +#define CONFIG_STACKSIZE_IRQ (4*1024) /* IRQ stack */ +#define CONFIG_STACKSIZE_FIQ (4*1024) /* FIQ stack */ +#endif + +/*************************************************************** + * Platform/Board specific defines start here. + ***************************************************************/ + +/* + * Hardware drivers + */ + + +/* + * select serial console configuration + */ +#define CFG_IXP425_CONSOLE IXP425_UART1 /* we use UART1 for console */ + +/* + * Physical Memory Map + */ +#define CONFIG_NR_DRAM_BANKS 1 /* we have 2 banks of DRAM */ +#define PHYS_SDRAM_1 0x00000000 /* SDRAM Bank #1 */ + +#if defined (CONFIG_AVILA_2347) || defined (CONFIG_AVILA_2348_2) +#define PHYS_SDRAM_1_SIZE 0x02000000 /* 32 MB */ +#else +#define PHYS_SDRAM_1_SIZE 0x04000000 /* 64 MB */ +#endif + +/* CFI flash driver used, therefore size is ignored */ +#define PHYS_FLASH_1 0x50000000 /* Flash Bank #1 */ +#define PHYS_FLASH_SIZE 0x00800000 /* 8 MB */ +#define PHYS_FLASH_BANK_SIZE 0x00800000 /* 8 MB Banks */ +#define PHYS_FLASH_SECT_SIZE 0x00020000 /* 128 KB sectors (x1) */ + +#define CFG_DRAM_BASE 0x00000000 +#define CFG_DRAM_SIZE 0x04000000 + +#define CFG_FLASH_BASE PHYS_FLASH_1 +#define CFG_MONITOR_BASE CFG_FLASH_BASE +#define CFG_MONITOR_LEN (384 << 10) /* Reserve 256 kB for Monitor */ + +/* + * Expansion bus settings + */ +#define CFG_EXP_CS0 0xbcd23c42 + +/* + * SDRAM settings + */ +#define CFG_SDR_CONFIG 0xa +#define CFG_SDR_MODE_CONFIG 0x1 +#define CFG_SDRAM_REFRESH_CNT 0x81a + +/* + * GPIO settings + */ + +/* + * FLASH and environment organization + */ +/* + * FLASH and environment organization + */ +#define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */ +#define CFG_MAX_FLASH_SECT 128 /* max number of sectors on one chip */ + +#define CFG_FLASH_CFI /* The flash is CFI compatible */ +#define CFG_FLASH_CFI_DRIVER /* Use common CFI driver */ +#define CFG_ENV_IS_IN_FLASH 1 + +#define CFG_FLASH_BANKS_LIST { PHYS_FLASH_1 } + +#define CFG_FLASH_CFI_WIDTH FLASH_CFI_16BIT /* no byte writes on IXP4xx */ + +#define CFG_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */ +#define CFG_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */ + +#define CFG_FLASH_EMPTY_INFO /* print 'E' for empty sector on flinfo */ + +#define CFG_ENV_SECT_SIZE 0x20000 /* size of one complete sector */ +#define CFG_ENV_ADDR (PHYS_FLASH_1 + 0x60000) +#define CFG_ENV_SIZE 0x20000 /* Total Size of Environment Sector */ + +/* NPE Settings. Enable if you have downloaded the microcode for Ethernet */ +/* +#define CONFIG_IXP4XX_NPE 1 +#define CFG_NPE_NUMS 2 +#define CONFIG_HAS_ETH1 1 +#ifdef CONFIG_AVILA_2345 +#define CONFIG_PHY_ADDR 4 +#define CONFIG_PHY1_ADDR 5 +#else +#define CONFIG_PHY_ADDR 0 +#define CONFIG_PHY1_ADDR 1 +#endif +#define CONFIG_MII 1 +#define CFG_CACHELINE_SIZE 32 +*/ + +#endif /* __CONFIG_H */ diff -purN u-boot/u-boot-ixp.git/MAKEALL u-boot.avila/u-boot-ixp.git/MAKEALL --- u-boot/u-boot-ixp.git/MAKEALL 2007-06-06 07:26:56.000000000 -0700 +++ u-boot.avila/u-boot-ixp.git/MAKEALL 2007-07-23 19:13:11.297004839 -0700 @@ -230,7 +230,10 @@ LIST_pxa=" \ xsengine zylonite \ "
-LIST_ixp="ixdp425 ixdpg425 pdnb3 scpu" +LIST_ixp=" \ + avila ixdp425 ixdpg425 pdnb3 \ + scpu +"
LIST_arm=" \ diff -purN u-boot/u-boot-ixp.git/Makefile u-boot.avila/u-boot-ixp.git/Makefile --- u-boot/u-boot-ixp.git/Makefile 2007-06-06 07:26:56.000000000 -0700 +++ u-boot.avila/u-boot-ixp.git/Makefile 2007-07-23 15:16:43.276950219 -0700 @@ -2148,6 +2148,9 @@ SMN42_config : unconfig adsvix_config : unconfig @$(MKCONFIG) $(@:_config=) arm pxa adsvix
+avila_config : unconfig + @$(MKCONFIG) $(@:_config=) arm ixp ixdp425 + cerf250_config : unconfig @$(MKCONFIG) $(@:_config=) arm pxa cerf250