public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] PATCH - Gateworks Avila (Xscale IXP42x) support
@ 2007-07-24 17:54 Ranjit Deshpande
  2007-08-28 23:04 ` Wolfgang Denk
  0 siblings, 1 reply; 2+ messages in thread
From: Ranjit Deshpande @ 2007-07-24 17:54 UTC (permalink / raw)
  To: u-boot

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 at 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
 

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [U-Boot-Users] PATCH - Gateworks Avila (Xscale IXP42x) support
  2007-07-24 17:54 [U-Boot-Users] PATCH - Gateworks Avila (Xscale IXP42x) support Ranjit Deshpande
@ 2007-08-28 23:04 ` Wolfgang Denk
  0 siblings, 0 replies; 2+ messages in thread
From: Wolfgang Denk @ 2007-08-28 23:04 UTC (permalink / raw)
  To: u-boot

In message <C2CB8ACB.C3FA%ranjit@kenati.com> you wrote:
> 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.

I don't think it is a good idea to add lots of #ifdefs for another
board in some board specific file.

There are different  boards,  so  they  should  have  separate  board
specific  files. If you find larger parts of common code, please feel
free to factor this out.

As is, I don't want to accept this patch for the publich U-Boot tree.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
What is wanted is not the will to believe,  but the will to find out,
which is the exact opposite.
		        -- Bertrand Russell, "Skeptical Essays", 1928

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-08-28 23:04 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-24 17:54 [U-Boot-Users] PATCH - Gateworks Avila (Xscale IXP42x) support Ranjit Deshpande
2007-08-28 23:04 ` Wolfgang Denk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox