123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312 |
- /*
- * Copyright (C) 2004 Sascha Hauer, Pengutronix
- *
- * 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
- #define CONFIG_ARM920T 1 /* this is an ARM920T CPU */
- #define CONFIG_IMX 1 /* in a Motorola MC9328MXL Chip */
- #define CONFIG_MX1FS2 1 /* on a mx1fs2 board */
- #undef CONFIG_USE_IRQ /* don't need use IRQ/FIQ */
- /*
- * Select serial console configuration
- */
- #undef _CONFIG_UART1 /* internal uart 1 */
- #define _CONFIG_UART2 /* internal uart 2 */
- #undef _CONFIG_UART3 /* internal uart 3 */
- #undef _CONFIG_UART4 /* internal uart 4 */
- #undef CONFIG_SILENT_CONSOLE /* use this to disable output */
- /*
- * BOOTP options
- */
- #define CONFIG_BOOTP_BOOTFILESIZE
- #define CONFIG_BOOTP_BOOTPATH
- #define CONFIG_BOOTP_GATEWAY
- #define CONFIG_BOOTP_HOSTNAME
- /*
- * Command line configuration.
- */
- #include <config_cmd_default.h>
- #define CONFIG_CMD_JFFS2
- #undef CONFIG_CMD_CONSOLE
- #undef CONFIG_CMD_DHCP
- #undef CONFIG_CMD_LOADS
- #undef CONFIG_CMD_NET
- #undef CONFIG_CMD_PING
- #undef CONFIG_CMD_SOURCE
- /*
- * Boot options. Setting delay to -1 stops autostart count down.
- */
- #define CONFIG_BOOTDELAY 10
- #define CONFIG_BOOTARGS "root=/dev/mtdblock4 console=ttySMX0,115200n8 rootfstype=jffs2"
- #define CONFIG_BOOTCOMMAND "bootm 10080000"
- #define CONFIG_SHOW_BOOT_PROGRESS
- /*
- * General options for u-boot. Modify to save memory foot print
- */
- #define CONFIG_SYS_LONGHELP /* undef saves memory */
- #define CONFIG_SYS_PROMPT "mx1fs2> " /* prompt string */
- #define CONFIG_SYS_CBSIZE 256 /* console I/O buffer */
- #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* print buffer size */
- #define CONFIG_SYS_MAXARGS 16 /* max command args */
- #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* boot args buf size */
- #define CONFIG_SYS_MEMTEST_START 0x08100000 /* memtest test area */
- #define CONFIG_SYS_MEMTEST_END 0x08F00000
- #define CONFIG_SYS_HZ 3686400 /* incrementer freq: 3.6864 MHz */
- #define CONFIG_SYS_CPUSPEED 0x141 /* core clock - register value */
- #define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 }
- #define CONFIG_BAUDRATE 115200
- /*
- * Definitions related to passing arguments to kernel.
- */
- #define CONFIG_CMDLINE_TAG 1 /* send commandline to Kernel */
- #define CONFIG_SETUP_MEMORY_TAGS 1 /* send memory definition to kernel */
- #define CONFIG_INITRD_TAG 1 /* send initrd params */
- #undef CONFIG_VFD /* do not send framebuffer setup */
- /*
- * Malloc pool need to host env + 128 Kb reserve for other allocations.
- */
- #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (128<<10) )
- #define CONFIG_SYS_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */
- #define CONFIG_STACKSIZE (120<<10) /* stack size */
- #ifdef CONFIG_USE_IRQ
- #define CONFIG_STACKSIZE_IRQ (4<<10) /* IRQ stack */
- #define CONFIG_STACKSIZE_FIQ (4<<10) /* FIQ stack */
- #endif
- /* SDRAM Setup Values
- * 0x910a8300 Precharge Command CAS 3
- * 0x910a8200 Precharge Command CAS 2
- *
- * 0xa10a8300 AutoRefresh Command CAS 3
- * 0xa10a8200 Set AutoRefresh Command CAS 2
- */
- #define PRECHARGE_CMD 0x910a8300
- #define AUTOREFRESH_CMD 0xa10a8300
- #define BUS32BIT_VERSION
- /*
- * SDRAM Memory Map
- */
- #define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of SDRAM */
- #define MX1FS2_SDRAM_1 0x08000000 /* SDRAM bank #1 */
- #ifdef BUS32BIT_VERSION
- #define MX1FS2_SDRAM_1_SIZE (0x04000000 - 0x100000) /* 64 MB - 1M Framebuffer */
- #else
- #define MX1FS2_SDRAM_1_SIZE (0x01FC0000 - 0x100000) /* 32 MB - 1M Framebuffer */
- #endif
- /*
- * Flash Controller settings
- */
- #define CONFIG_SYS_MAX_FLASH_BANKS 1 /* FLASH banks count (not chip count)*/
- #define CONFIG_SYS_MAX_FLASH_SECT 256 /* number of sector in FLASH bank */
- #ifdef BUS32BIT_VERSION
- #define MX1FS2_FLASH_BUS_WIDTH 4 /* we use 32 bit FLASH memory... */
- #define MX1FS2_FLASH_INTERLEAVE 2 /* ... made of 2 chips */
- #define MX1FS2_FLASH_BANK_SIZE 0x02000000 /* size of one flash bank*/
- #define MX1FS2_FLASH_SECT_SIZE 0x00020000 /* size of erase sector */
- #else
- #define MX1FS2_FLASH_BUS_WIDTH 2 /* we use 16 bit FLASH memory... */
- #define MX1FS2_FLASH_INTERLEAVE 1 /* ... made of 1 chip */
- #define MX1FS2_FLASH_BANK_SIZE 0x01000000 /* size of one flash bank*/
- #define MX1FS2_FLASH_SECT_SIZE 0x00010000 /* size of erase sector */
- #endif
- #define MX1FS2_FLASH_BASE 0x10000000 /* location of flash memory */
- #define MX1FS2_FLASH_UNLOCK 1 /* perform hw unlock first */
- /* This should be defined if CFI FLASH device is present. Actually benefit
- is not so clear to me. In other words we can provide more informations
- to user, but this expects more complex flash handling we do not provide
- now.*/
- #undef CONFIG_SYS_FLASH_CFI
- #define CONFIG_SYS_FLASH_ERASE_TOUT (2*CONFIG_SYS_HZ) /* timeout for Erase operation */
- #define CONFIG_SYS_FLASH_WRITE_TOUT (2*CONFIG_SYS_HZ) /* timeout for Write operation */
- #define CONFIG_SYS_FLASH_BASE MX1FS2_FLASH_BASE
- /*
- * This is setting for JFFS2 support in u-boot.
- * Right now there is no gain for user, but later on booting kernel might be
- * possible. Consider using XIP kernel running from flash to save RAM
- * footprint.
- * NOTE: Enable CONFIG_CMD_JFFS2 for JFFS2 support.
- */
- /*
- * JFFS2 partitions
- */
- /* No command line, one static partition, whole device */
- /*
- #undef CONFIG_CMD_MTDPARTS
- #define CONFIG_JFFS2_DEV "nor0"
- #define CONFIG_JFFS2_PART_SIZE 0xFFFFFFFF
- #define CONFIG_JFFS2_PART_OFFSET 0x00050000
- */
- /* mtdparts command line support */
- /* Note: fake mtd_id used, no linux mtd map file */
- #define CONFIG_CMD_MTDPARTS
- #define CONFIG_MTD_DEVICE /* needed for mtdparts commands */
- #define CONFIG_FLASH_CFI_MTD
- #define MTDIDS_DEFAULT "nor0=mx1fs2-0"
- #ifdef BUS32BIT_VERSION
- #define MTDPARTS_DEFAULT "mtdparts=mx1fs2-0:2m@5m(part0),5m@9m(part1)"
- #else
- #define MTDPARTS_DEFAULT "mtdparts=mx1fs2-0:-@320k(jffs2)"
- #endif
- /*
- * Environment setup. Definitions of monitor location and size with
- * definition of environment setup ends up in 2 possibilities.
- * 1. Embeded environment - in u-boot code is space for environment
- * 2. Environment is read from predefined sector of flash
- * Right now we support 2. possiblity, but expecting no env placed
- * on mentioned address right now. This also needs to provide whole
- * sector for it - for us 256Kb is really waste of memory. U-boot uses
- * default env. and until kernel parameters could be sent to kernel
- * env. has no sense to us.
- */
- #define CONFIG_SYS_MONITOR_BASE 0x10000000
- #define CONFIG_SYS_MONITOR_LEN 0x20000 /* 128b ( 1 flash sector ) */
- #define CONFIG_ENV_IS_IN_FLASH 1
- #define CONFIG_ENV_ADDR 0x10020000 /* absolute address for now */
- #define CONFIG_ENV_SIZE 0x20000
- #define CONFIG_ENV_OVERWRITE 1 /* env is not writable now */
- /* Setup CS4 and CS5 */
- #define CONFIG_SYS_GIUS_A_VAL 0x0003fffe
- /*
- * CSxU_VAL:
- * 63| x x x x | x x x x | x x x x | x x x x | x x x x | x x x x | x x x x | x x x x|32
- * |DTACK_SEL|0|BCD | BCS | PSZ|PME|SYNC| DOL | CNC| WSC | 0| WWS | EDC |
- *
- * CSxL_VAL:
- * 31| x x x x | x x x x | x x x x | x x x x | x x x x | x x x x | x x x x | x x x x| 0
- * | OEA | OEN | WEA | WEN | CSA |EBC| DSZ | 0|SP|0|WP| 0 0|PA|CSEN|
- */
- #define CONFIG_SYS_CS0U_VAL 0x00008C00
- #define CONFIG_SYS_CS0L_VAL 0x22222601
- #define CONFIG_SYS_CS1U_VAL 0x00008C00
- #define CONFIG_SYS_CS1L_VAL 0x22222301
- #define CONFIG_SYS_CS4U_VAL 0x00008C00
- #define CONFIG_SYS_CS4L_VAL 0x22222301
- #define CONFIG_SYS_CS5U_VAL 0x00008C00
- #define CONFIG_SYS_CS5L_VAL 0x22222301
- /* f_{dpll}=2*f{ref}*(MFI+MFN/(MFD+1))/(PD+1)
- f_ref=16,777MHz
- 0x002a141f: 191,9944MHz
- 0x040b2007: 144MHz
- 0x042a141f: 96MHz
- 0x0811140d: 64MHz
- 0x040e200e: 150MHz
- 0x00321431: 200MHz
- 0x08001800: 64MHz mit 16er Quarz
- 0x04001800: 96MHz mit 16er Quarz
- 0x04002400: 144MHz mit 16er Quarz
- 31 |x x x x|x x x x|x x x x|x x x x|x x x x|x x x x|x x x x|x x x x| 0
- |XXX|--PD---|-------MFD---------|XXX|--MFI--|-----MFN-----------| */
- #define CONFIG_SYS_MPCTL0_VAL 0x07E723AD
- #define CONFIG_SYS_MPCTL1_VAL 0x00000040
- #define CONFIG_SYS_PCDR_VAL 0x00010005
- #define CONFIG_SYS_GPCR_VAL 0x00000FFB
- #define USE_16M_OSZI /* If you have one, you want to use it
- The internal 32kHz oszillator jitters */
- #ifdef USE_16M_OSZI
- #define CONFIG_SYS_SPCTL0_VAL 0x04001401
- #define CONFIG_SYS_SPCTL1_VAL 0x0C000040
- #define CONFIG_SYS_CSCR_VAL 0x07030003
- #define CONFIG_SYS_CLK_FREQ 16780000
- #define CONFIG_SYSPLL_CLK_FREQ 16000000
- #else
- #define CONFIG_SYS_SPCTL0_VAL 0x07E716D1
- #define CONFIG_SYS_CSCR_VAL 0x06000003
- #define CONFIG_SYS_CLK_FREQ 16780000
- #define CONFIG_SYSPLL_CLK_FREQ 16780000
- #endif
- /*
- * Well this has to be defined, but on the other hand it is used differently
- * one may expect. For instance loadb command do not cares :-)
- * So advice is - do not relay on this...
- */
- #define CONFIG_SYS_LOAD_ADDR 0x08400000
- #define CONFIG_SYS_FMCR_VAL 0x00000003 /* Reset Default */
- /* Bit[0:3] contain PERCLK1DIV for UART 1
- 0x000b00b ->b<- -> 192MHz/12=16MHz
- 0x000b00b ->8<- -> 144MHz/09=16MHz
- 0x000b00b ->3<- -> 64MHz/4=16MHz */
- #ifdef _CONFIG_UART1
- #define CONFIG_IMX_SERIAL
- #define CONFIG_IMX_SERIAL1
- #elif defined _CONFIG_UART2
- #define CONFIG_IMX_SERIAL
- #define CONFIG_IMX_SERIAL2
- #elif defined _CONFIG_UART3 | defined _CONFIG_UART4
- #define CONFIG_SYS_NS16550
- #define CONFIG_SYS_NS16550_SERIAL
- #define CONFIG_SYS_NS16550_CLK 3686400
- #define CONFIG_SYS_NS16550_REG_SIZE 1
- #define CONFIG_CONS_INDEX 1
- #ifdef _CONFIG_UART3
- #define CONFIG_SYS_NS16550_COM1 0x15000000
- #elif defined _CONFIG_UART4
- #define CONFIG_SYS_NS16550_COM1 0x16000000
- #endif
- #endif
- #endif /* __CONFIG_H */
|