uboot/include/configs/pxa255_idp.h
<<
>>
Prefs
   1/*
   2 * (C) Copyright 2002
   3 * Kyle Harris, Nexus Technologies, Inc. kharris@nexus-tech.net
   4 *
   5 * (C) Copyright 2002
   6 * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
   7 * Marius Groeger <mgroeger@sysgo.de>
   8 *
   9 * Copied from lubbock.h
  10 *
  11 * (C) Copyright 2004
  12 * BEC Systems <http://bec-systems.com>
  13 * Cliff Brake <cliff.brake@gmail.com>
  14 * Configuation settings for the Accelent/Vibren PXA255 IDP
  15 *
  16 * See file CREDITS for list of people who contributed to this
  17 * project.
  18 *
  19 * This program is free software; you can redistribute it and/or
  20 * modify it under the terms of the GNU General Public License as
  21 * published by the Free Software Foundation; either version 2 of
  22 * the License, or (at your option) any later version.
  23 *
  24 * This program is distributed in the hope that it will be useful,
  25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  27 * GNU General Public License for more details.
  28 *
  29 * You should have received a copy of the GNU General Public License
  30 * along with this program; if not, write to the Free Software
  31 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  32 * MA 02111-1307 USA
  33 */
  34
  35#ifndef __CONFIG_H
  36#define __CONFIG_H
  37
  38#include <asm/arch/pxa-regs.h>
  39
  40/*
  41 * If we are developing, we might want to start U-Boot from RAM
  42 * so we MUST NOT initialize critical regs like mem-timing ...
  43 */
  44#undef CONFIG_SKIP_LOWLEVEL_INIT                        /* define for developing */
  45#undef CONFIG_SKIP_RELOCATE_UBOOT                       /* define for developing */
  46
  47/*
  48 * define the following to enable debug blinks.  A debug blink function
  49 * must be defined in memsetup.S
  50 */
  51#undef DEBUG_BLINK_ENABLE
  52#undef DEBUG_BLINKC_ENABLE
  53
  54/*
  55 * High Level Configuration Options
  56 * (easy to change)
  57 */
  58#define CONFIG_PXA250           1       /* This is an PXA250 CPU    */
  59
  60#undef CONFIG_LCD
  61#ifdef CONFIG_LCD
  62#define CONFIG_SHARP_LM8V31
  63#endif
  64
  65#define CONFIG_MMC              1
  66#define CONFIG_DOS_PARTITION    1
  67#define BOARD_LATE_INIT         1
  68
  69#undef CONFIG_USE_IRQ                   /* we don't need IRQ/FIQ stuff */
  70
  71/* we will never enable dcache, because we have to setup MMU first */
  72#define CONFIG_SYS_NO_DCACHE
  73
  74/*
  75 * Size of malloc() pool
  76 */
  77#define CONFIG_SYS_MALLOC_LEN       (CONFIG_ENV_SIZE + 128*1024)
  78#define CONFIG_SYS_GBL_DATA_SIZE        128     /* size in bytes reserved for initial data */
  79
  80/*
  81 * PXA250 IDP memory map information
  82 */
  83
  84#define IDP_CS5_ETH_OFFSET      0x03400000
  85
  86
  87/*
  88 * Hardware drivers
  89 */
  90#define CONFIG_NET_MULTI
  91#define CONFIG_SMC91111
  92#define CONFIG_SMC91111_BASE    (PXA_CS5_PHYS + IDP_CS5_ETH_OFFSET + 0x300)
  93#define CONFIG_SMC_USE_32_BIT   1
  94/* #define CONFIG_SMC_USE_IOFUNCS */
  95
  96/* the following has to be set high -- suspect something is wrong with
  97 * with the tftp timeout routines. FIXME!!!
  98 */
  99#define CONFIG_NET_RETRY_COUNT  100
 100
 101/*
 102 * select serial console configuration
 103 */
 104#define CONFIG_PXA_SERIAL
 105#define CONFIG_FFUART          1       /* we use FFUART on LUBBOCK */
 106
 107/* allow to overwrite serial and ethaddr */
 108#define CONFIG_ENV_OVERWRITE
 109
 110#define CONFIG_BAUDRATE         115200
 111
 112
 113/*
 114 * BOOTP options
 115 */
 116#define CONFIG_BOOTP_BOOTFILESIZE
 117#define CONFIG_BOOTP_BOOTPATH
 118#define CONFIG_BOOTP_GATEWAY
 119#define CONFIG_BOOTP_HOSTNAME
 120
 121
 122/*
 123 * Command line configuration.
 124 */
 125#include <config_cmd_default.h>
 126
 127#define CONFIG_CMD_FAT
 128#define CONFIG_CMD_DHCP
 129
 130#define CONFIG_BOOTDELAY        3
 131#define CONFIG_BOOTCOMMAND      "bootm 40000"
 132#define CONFIG_BOOTARGS         "root=/dev/mtdblock2 rootfstype=cramfs console=ttyS0,115200"
 133
 134#define CONFIG_CMDLINE_TAG              1       /* enable passing of ATAGs */
 135#define CONFIG_SETUP_MEMORY_TAGS        1
 136/* #define CONFIG_INITRD_TAG            1 */
 137
 138/*
 139 * Current memory map for Vibren supplied Linux images:
 140 *
 141 * Flash:
 142 * 0 - 0x3ffff (size = 0x40000): bootloader
 143 * 0x40000 - 0x13ffff (size = 0x100000): kernel
 144 * 0x140000 - 0x1f3ffff (size = 0x1e00000): jffs
 145 *
 146 * RAM:
 147 * 0xa0008000 - kernel is loaded
 148 * 0xa3000000 - Uboot runs (48MB into RAM)
 149 *
 150 */
 151
 152#define CONFIG_EXTRA_ENV_SETTINGS                                       \
 153        "prog_boot_mmc="                                                \
 154                        "mw.b 0xa0000000 0xff 0x40000; "                \
 155                        "if      mmcinit && "                           \
 156                                "fatload mmc 0 0xa0000000 u-boot.bin; " \
 157                        "then "                                         \
 158                                "protect off 0x0 0x3ffff; "             \
 159                                "erase 0x0 0x3ffff; "                   \
 160                                "cp.b 0xa0000000 0x0 0x40000; "         \
 161                                "reset;"                                \
 162                        "fi\0"                                          \
 163        "prog_uzImage_mmc="                                             \
 164                        "mw.b 0xa0000000 0xff 0x100000; "               \
 165                        "if      mmcinit && "                           \
 166                                "fatload mmc 0 0xa0000000 uzImage; "    \
 167                        "then "                                         \
 168                                "protect off 0x40000 0xfffff; "         \
 169                                "erase 0x40000 0xfffff; "               \
 170                                "cp.b 0xa0000000 0x40000 0x100000; "    \
 171                        "fi\0"                                          \
 172        "prog_jffs_mmc="                                                \
 173                        "mw.b 0xa0000000 0xff 0x1e00000; "              \
 174                        "if      mmcinit && "                           \
 175                                "fatload mmc 0 0xa0000000 root.jffs; "  \
 176                        "then "                                         \
 177                                "protect off 0x140000 0x1f3ffff; "      \
 178                                "erase 0x140000 0x1f3ffff; "            \
 179                                "cp.b 0xa0000000 0x140000 0x1e00000; "  \
 180                        "fi\0"                                          \
 181        "boot_mmc="                                                     \
 182                        "if      mmcinit && "                           \
 183                                "fatload mmc 0 0xa1000000 uzImage && "  \
 184                        "then "                                         \
 185                                "bootm 0xa1000000; "                    \
 186                        "fi\0"                                          \
 187        "prog_boot_net="                                                \
 188                        "mw.b 0xa0000000 0xff 0x100000; "               \
 189                        "if      bootp 0xa0000000 u-boot.bin; "         \
 190                        "then "                                         \
 191                                "protect off 0x0 0x3ffff; "             \
 192                                "erase 0x0 0x3ffff; "                   \
 193                                "cp.b 0xa0000000 0x0 0x40000; "         \
 194                                "reset; "                               \
 195                        "fi\0"                                          \
 196        "prog_uzImage_net="                                             \
 197                        "mw.b 0xa0000000 0xff 0x100000; "               \
 198                        "if      bootp 0xa0000000 uzImage; "            \
 199                        "then "                                         \
 200                                "protect off 0x40000 0xfffff; "         \
 201                                "erase 0x40000 0xfffff; "               \
 202                                "cp.b 0xa0000000 0x40000 0x100000; "    \
 203                        "fi\0"                                          \
 204        "prog_jffs_net="                                                \
 205                        "mw.b 0xa0000000 0xff 0x1e00000; "              \
 206                        "if      bootp 0xa0000000 root.jffs; "          \
 207                        "then "                                         \
 208                                "protect off 0x140000 0x1f3ffff; "      \
 209                                "erase 0x140000 0x1f3ffff; "            \
 210                                "cp.b 0xa0000000 0x140000 0x1e00000; "  \
 211                        "fi\0"
 212
 213
 214/*      "erase_env="                    */
 215/*                      "protect off"   */
 216
 217
 218#if defined(CONFIG_CMD_KGDB)
 219#define CONFIG_KGDB_BAUDRATE    115200          /* speed to run kgdb serial port */
 220#define CONFIG_KGDB_SER_INDEX   2               /* which serial port to use */
 221#endif
 222
 223/*
 224 * Miscellaneous configurable options
 225 */
 226#define CONFIG_SYS_HUSH_PARSER          1
 227#define CONFIG_SYS_PROMPT_HUSH_PS2      "> "
 228
 229#define CONFIG_SYS_LONGHELP                             /* undef to save memory         */
 230#ifdef CONFIG_SYS_HUSH_PARSER
 231#define CONFIG_SYS_PROMPT               "$ "            /* Monitor Command Prompt */
 232#else
 233#define CONFIG_SYS_PROMPT               "=> "           /* Monitor Command Prompt */
 234#endif
 235#define CONFIG_SYS_CBSIZE               256             /* Console I/O Buffer Size      */
 236#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
 237#define CONFIG_SYS_MAXARGS              16              /* max number of command args   */
 238#define CONFIG_SYS_BARGSIZE             CONFIG_SYS_CBSIZE       /* Boot Argument Buffer Size    */
 239#define CONFIG_SYS_DEVICE_NULLDEV       1
 240
 241#define CONFIG_SYS_MEMTEST_START        0xa0400000      /* memtest works on     */
 242#define CONFIG_SYS_MEMTEST_END          0xa0800000      /* 4 ... 8 MB in DRAM   */
 243
 244#define CONFIG_SYS_LOAD_ADDR            0xa0800000      /* default load address */
 245
 246#define CONFIG_SYS_HZ                   1000
 247#define CONFIG_SYS_CPUSPEED             0x161           /* set core clock to 400/200/100 MHz */
 248
 249#define RTC     1                               /* enable 32KHz osc */
 250
 251                                                /* valid baudrates */
 252#define CONFIG_SYS_BAUDRATE_TABLE       { 9600, 19200, 38400, 57600, 115200 }
 253
 254#ifdef CONFIG_MMC
 255#define CONFIG_PXA_MMC
 256#define CONFIG_CMD_MMC
 257#define CONFIG_SYS_MMC_BASE             0xF0000000
 258#endif
 259
 260/*
 261 * Stack sizes
 262 *
 263 * The stack sizes are set up in start.S using the settings below
 264 */
 265#define CONFIG_STACKSIZE        (128*1024)      /* regular stack */
 266#ifdef CONFIG_USE_IRQ
 267#define CONFIG_STACKSIZE_IRQ    (4*1024)        /* IRQ stack */
 268#define CONFIG_STACKSIZE_FIQ    (4*1024)        /* FIQ stack */
 269#endif
 270
 271/*
 272 * Physical Memory Map
 273 */
 274#define CONFIG_NR_DRAM_BANKS    4          /* we have 1 banks of DRAM */
 275#define PHYS_SDRAM_1            0xa0000000 /* SDRAM Bank #1 */
 276#define PHYS_SDRAM_1_SIZE       0x04000000 /* 64 MB */
 277#define PHYS_SDRAM_2            0xa4000000 /* SDRAM Bank #2 */
 278#define PHYS_SDRAM_2_SIZE       0x00000000 /* 0 MB */
 279#define PHYS_SDRAM_3            0xa8000000 /* SDRAM Bank #3 */
 280#define PHYS_SDRAM_3_SIZE       0x00000000 /* 0 MB */
 281#define PHYS_SDRAM_4            0xac000000 /* SDRAM Bank #4 */
 282#define PHYS_SDRAM_4_SIZE       0x00000000 /* 0 MB */
 283
 284#define PHYS_FLASH_1            0x00000000 /* Flash Bank #1 */
 285#define PHYS_FLASH_2            0x04000000 /* Flash Bank #2 */
 286#define PHYS_FLASH_SIZE         0x02000000 /* 32 MB */
 287#define PHYS_FLASH_BANK_SIZE    0x02000000 /* 32 MB Banks */
 288#define PHYS_FLASH_SECT_SIZE    0x00040000 /* 256 KB sectors (x2) */
 289
 290#define CONFIG_SYS_DRAM_BASE            0xa0000000
 291#define CONFIG_SYS_DRAM_SIZE            0x04000000
 292
 293#define CONFIG_SYS_FLASH_BASE           PHYS_FLASH_1
 294
 295/*
 296 * GPIO settings
 297 */
 298
 299#define CONFIG_SYS_GAFR0_L_VAL  0x80001005
 300#define CONFIG_SYS_GAFR0_U_VAL  0xa5128012
 301#define CONFIG_SYS_GAFR1_L_VAL  0x699a9558
 302#define CONFIG_SYS_GAFR1_U_VAL  0xaaa5aa6a
 303#define CONFIG_SYS_GAFR2_L_VAL  0xaaaaaaaa
 304#define CONFIG_SYS_GAFR2_U_VAL  0x2
 305#define CONFIG_SYS_GPCR0_VAL    0x1800400
 306#define CONFIG_SYS_GPCR1_VAL    0x0
 307#define CONFIG_SYS_GPCR2_VAL    0x0
 308#define CONFIG_SYS_GPDR0_VAL    0xc1818440
 309#define CONFIG_SYS_GPDR1_VAL    0xfcffab82
 310#define CONFIG_SYS_GPDR2_VAL    0x1ffff
 311#define CONFIG_SYS_GPSR0_VAL    0x8000
 312#define CONFIG_SYS_GPSR1_VAL    0x3f0002
 313#define CONFIG_SYS_GPSR2_VAL    0x1c000
 314
 315#define CONFIG_SYS_PSSR_VAL             0x20
 316
 317/*
 318 * Memory settings
 319 */
 320#define CONFIG_SYS_MSC0_VAL             0x29DCA4D2
 321#define CONFIG_SYS_MSC1_VAL             0x43AC494C
 322#define CONFIG_SYS_MSC2_VAL             0x39D449D4
 323#define CONFIG_SYS_MDCNFG_VAL           0x090009C9
 324#define CONFIG_SYS_MDREFR_VAL           0x0085C017
 325#define CONFIG_SYS_MDMRS_VAL            0x00220022
 326
 327/*
 328 * PCMCIA and CF Interfaces
 329 */
 330#define CONFIG_SYS_MECR_VAL             0x00000003
 331#define CONFIG_SYS_MCMEM0_VAL           0x00014405
 332#define CONFIG_SYS_MCMEM1_VAL           0x00014405
 333#define CONFIG_SYS_MCATT0_VAL           0x00014405
 334#define CONFIG_SYS_MCATT1_VAL           0x00014405
 335#define CONFIG_SYS_MCIO0_VAL            0x00014405
 336#define CONFIG_SYS_MCIO1_VAL            0x00014405
 337
 338/*
 339 * FLASH and environment organization
 340 */
 341#define CONFIG_SYS_FLASH_CFI
 342#define CONFIG_FLASH_CFI_DRIVER 1
 343
 344#define CONFIG_SYS_MONITOR_BASE 0
 345#define CONFIG_SYS_MONITOR_LEN          PHYS_FLASH_SECT_SIZE
 346
 347#define CONFIG_SYS_MAX_FLASH_BANKS      1       /* max number of memory banks           */
 348#define CONFIG_SYS_MAX_FLASH_SECT       128  /* max number of sectors on one chip    */
 349
 350#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE       1
 351
 352/* timeout values are in ticks */
 353#define CONFIG_SYS_FLASH_ERASE_TOUT     (25*CONFIG_SYS_HZ) /* Timeout for Flash Erase */
 354#define CONFIG_SYS_FLASH_WRITE_TOUT     (25*CONFIG_SYS_HZ) /* Timeout for Flash Write */
 355
 356/* put cfg at end of flash for now */
 357#define CONFIG_ENV_IS_IN_FLASH  1
 358 /* Addr of Environment Sector  */
 359#define CONFIG_ENV_ADDR         (PHYS_FLASH_1 + PHYS_FLASH_SIZE - 0x40000)
 360#define CONFIG_ENV_SIZE         PHYS_FLASH_SECT_SIZE    /* Total Size of Environment Sector     */
 361#define CONFIG_ENV_SECT_SIZE    (PHYS_FLASH_SECT_SIZE / 16)
 362
 363#endif  /* __CONFIG_H */
 364