uboot之smdk2410.h源码

来源:互联网 发布:ip怎么看域名 编辑:程序博客网 时间:2024/04/28 08:53

/include/configs/smdk2410.h 该文件配置板上的硬件资源,定义一些宏与命令。

/*

 * (C) Copyright 2002

 * Sysgo Real-Time Solutions, GmbH <www.elinos.com>

 * Marius Groeger <mgroeger@sysgo.de>

 * Gary Jennejohn <gj@denx.de>

 * David Mueller <d.mueller@elsoft.ch>

 *

 * Configuation settings for the SAMSUNG SMDK2410 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_ARM920T               1       /* This is an ARM920T Core      */

#define     CONFIG_S3C2410            1       /* in a SAMSUNG S3C2410 SoC     */

#define CONFIG_SMDK2410            1       /* on a SAMSUNG SMDK2410 Board  */

 

/* input clock of PLL */

#define CONFIG_SYS_CLK_FREQ  12000000/* the SMDK2410 has 12MHz input clock */

 

 

#define USE_920T_MMU          1

#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 */

 

/*

 * Hardware drivers  硬件驱动

 */

CS8900网卡,并定义基地址以及总线长度

#define CONFIG_DRIVER_CS8900 1       /* we have a CS8900 on-board */

#define CS8900_BASE              0x19000300

#define CS8900_BUS16           1 /* the Linux driver does accesses as shorts */

 

/*

 * select serial console configuration

 */我们使用串行控制口1

#define CONFIG_SERIAL1          1    /* we use SERIAL 1 on SMDK2410 */

 

/************************************************************

 * RTC时钟的定义

 ************************************************************/

#define     CONFIG_RTC_S3C24X0 1

 

/* allow to overwrite serial and ethaddr */允许重写串口与网卡

#define CONFIG_ENV_OVERWRITE

 

#define CONFIG_BAUDRATE            115200

 

/***********************************************************

 * Command definition定义一些命令

 ***********************************************************/

#define CONFIG_COMMANDS \

                            (CONFIG_CMD_DFL         | \

                            CFG_CMD_CACHE | \

                            /*CFG_CMD_NAND |*/ \

                            /*CFG_CMD_EEPROM |*/ \

                            /*CFG_CMD_I2C      |*/ \

                            /*CFG_CMD_USB    |*/ \

                            CFG_CMD_REGINFO  | \

                            CFG_CMD_DATE     | \

                            CFG_CMD_ELF)

 

/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */如果添加了新的命令,必须包括下面的cmd_confdefs.h头文件

#include <cmd_confdefs.h>

 

#define CONFIG_BOOTDELAY          3

/*#define CONFIG_BOOTARGS    "root=ramfs devfs=mount console=ttySA0,9600" */uboot启动参数

/*#define CONFIG_ETHADDR  08:00:3e:26:0a:5b */网卡地址

#define CONFIG_NETMASK          255.255.255.0 网关地址

#define CONFIG_IPADDR                  10.0.0.110开发板IP

#define CONFIG_SERVERIP             10.0.0.1主机IP

/*#define CONFIG_BOOTFILE  "elinos-lart" */

/*#define CONFIG_BOOTCOMMAND        "tftp; bootm" */

 

#if (CONFIG_COMMANDS & CFG_CMD_KGDB)  这条语句没什么重要意义

#define CONFIG_KGDB_BAUDRATE        115200              /* speed to run kgdb serial port */

/* what's this ? it's not used anywhere */

#define CONFIG_KGDB_SER_INDEX      1                /* which serial port to use */

#endif

 

/*

 * Miscellaneous configurable options 多种多样的配置选项

 */

#define     CFG_LONGHELP                                 /* undef to save memory            */

#define     CFG_PROMPT          "SMDK2410 # "          /* Monitor Command Prompt    */控制台前面的信息

#define     CFG_CBSIZE            256            /* Console I/O Buffer Size */控制台IO缓冲大小等等

#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       0x30000000     /* memtest works on         */内存启动地址

#define CFG_MEMTEST_END          0x33F00000     /* 63 MB in DRAM      */高端的1M留给uboot来存储一些数据

 

#undef  CFG_CLKS_IN_HZ             /* everything, incl board info, in Hz */

 

#define     CFG_LOAD_ADDR            0x33000000     /* default load address     */下载的默认地址。可能是使用tftp命令时,下载过来的东西暂时放在这个地址

 

/* the PWM TImer 4 uses a counter of 15625 for 10 ms, so we need */

/* it to wrap 100 times (total 1562500) to get 1 sec. */

#define     CFG_HZ                     1562500

 

/* 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 */  常规堆栈128K

#ifdef CONFIG_USE_IRQ

#define CONFIG_STACKSIZE_IRQ  (4*1024)   /* IRQ stack */IRQ堆栈占4K

#define CONFIG_STACKSIZE_FIQ   (4*1024)   /* FIQ stack */快速中断堆栈也占4K

#endif

 

/*-----------------------------------------------------------------------

 * Physical Memory Map物理内存图

 */

#define CONFIG_NR_DRAM_BANKS       1          /* we have 1 bank of DRAM */只有一组dramBANK6

#define PHYS_SDRAM_1                   0x30000000 /* SDRAM Bank #1 */

#define PHYS_SDRAM_1_SIZE        0x04000000 /* 64 MB */

 

#define PHYS_FLASH_1           0x00000000 /* Flash Bank #1 */这组内存地址即0x30000000开始映射到flash0地址。

 

#define CFG_FLASH_BASE               PHYS_FLASH_1  flash的基地址

 

/*-----------------------------------------------------------------------

 * FLASH and environment organization

 *FLASH的环境设置等等 LV400LV800是什么意思,好像是定义NOR FLASH的大小

 

#define CONFIG_AMD_LV400  1       /* uncomment this if you have a LV400 flash */

#if 0

#define CONFIG_AMD_LV800  1       /* uncomment this if you have a LV800 flash */

#endif

 

#define CFG_MAX_FLASH_BANKS  1       /* max number of memory banks */

#ifdef CONFIG_AMD_LV800

#define PHYS_FLASH_SIZE              0x00100000 /* 1MB */

#define CFG_MAX_FLASH_SECT    (19)  /* max number of sectors on one chip */

#define CFG_ENV_ADDR                  (CFG_FLASH_BASE + 0x0F0000) /* addr of environment */

#endif

#ifdef CONFIG_AMD_LV400

#define PHYS_FLASH_SIZE              0x00080000 /* 512KB */

#define CFG_MAX_FLASH_SECT    (11)  /* max number of sectors on one chip */

#define CFG_ENV_ADDR                  (CFG_FLASH_BASE + 0x070000) /* addr of environment */

#endif

 

/* timeout values are in ticks */

#define CFG_FLASH_ERASE_TOUT        (5*CFG_HZ) /* Timeout for Flash Erase */ 5秒超时

#define CFG_FLASH_WRITE_TOUT         (5*CFG_HZ) /* Timeout for Flash Write */5秒超时

 

#define     CFG_ENV_IS_IN_FLASH 1

#define CFG_ENV_SIZE            0x10000   /* Total Size of Environment Sector */FLASH的环境变量大小64K

 

#endif       /* __CONFIG_H */

0 0
原创粉丝点击