#define CFG_INIT_RAM_END 0x10000 /*初始化需要的数据结构存放在内存中的结束地址*/
#define CFG_GBL_DATA_SIZE 256 /*初始化需要的数据结构长度*/
#define CFG_GBL_DATA_OFFSET (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
#define CFG_INIT_SP_OFFSET CFG_GBL_DATA_OFFSET /*堆栈指针,堆栈向下生长,事实上对于sandpoint
板来说,这个宏定义没有意义,因为它只在BMW 板标志CONFIG_BMW 被定义时才会被使用,sandpoint 板使用CFG_INIT_RAM_ADDR
作为初始化过程中的堆栈 地址*/
#else /*不是从内存启动*/
#undef CFG_RAMBOOT
#define CFG_MONITOR_LEN 0x00030000
#define CFG_MONITOR_BASE TEXT_BASE
#define CFG_GBL_DATA_SIZE 128
#define CFG_INIT_RAM_ADDR 0x40000000
#define CFG_INIT_RAM_END 0x1000
#define CFG_GBL_DATA_OFFSET (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
#endif
/*flash 基地址,对于我的电路板,启动设备为EEPROM 而不是FLASH,定义为0xFF00000*/
#define CFG_FLASH_BASE 0xFFF00000
#if 0
#define CFG_FLASH_SIZE (512 * 1024) /*配置较小的Flash 空间*/
#else
#define CFG_FLASH_SIZE (1024 * 1024) /*配置为较大的1M Flash 空间*/
#endif
#define CFG_ENV_IS_IN_FLASH 1 /*启动的环境变量存放在Flash 中*/
/*由于我的电路板Flash 地址不连续,不能使用标准程序,而EEPROM 也不能写,因此定义不存储环境变量,如下:
#ifdef CONFIG_USER8240
#undef CFG_ENV_IS_IN_FLASH
#undef CFG_ENV_IS_IN_EEPROM
#define CFG_ENV_IS_NOWHERE
#endif
*/
#define CFG_ENV_OFFSET 0x00004000 /*环境变量存储的偏移量*/
#define CFG_ENV_SIZE 0x00002000 /*环境变量总长度 */
#define CFG_MALLOC_LEN (512 << 10) /*为malloc()函数保留的内存空间大小*/
/*内存测试的起始结束地址,参见\common\cmd_mem.c 程序*/
#define CFG_MEMTEST_START 0x00000000
#define CFG_MEMTEST_END 0x04000000
/*EUMB地址,关于EUMB的详细功能,请参考MPC8240 Integrated Processor User’s Manual*/
#define CFG_EUMB_ADDR 0xFC000000
/*ISA 总线地址*/
#define CFG_ISA_MEM 0xFD000000
#define CFG_ISA_IO 0xFE000000
/*flash 的地址控制,我的电路板上Flash 不能使用标准驱动,因此没有使用这些值*/
#define CFG_FLASH_RANGE_BASE 0xFF000000 /*MPC8240 的Flash\ROM 基地址*/
#define CFG_FLASH_RANGE_SIZE 0x01000000 /*Flash\ROM 空间大小*/
#define FLASH_BASE0_PRELIM 0xFFF00000 /*sandpoint 板载flash 起始地址*/
#define FLASH_BASE1_PRELIM 0xFF000000 /*PMC 扣板上的flash 起始地址*/
/*I2C 配置,我的电路板没有使用I2C,没有研究这些参数*/
#define CONFIG_HARD_I2C 1 /* To enable I2C support*/
#undef CONFIG_SOFT_I2C /* I2C bit-banged*/
#define CFG_I2C_SPEED 400000 /* I2C speed and slave address*/
#define CFG_I2C_SLAVE 0x7F
#ifdef CONFIG_SOFT_I2C
#error "Soft I2C is not configured properly. Please review!"
#define I2C_PORT 3 /* Port A=0, B=1, C=2, D=3 */
#define I2C_ACTIVE (iop->pdir |= 0x00010000)
#define I2C_TRISTATE (iop->pdir &= ~0x00010000)
#define I2C_READ ((iop->pdat & 0x00010000) != 0)
#define I2C_SDA(bit) if(bit) iop->pdat |= 0x00010000; \
else iop->pdat &= ~0x00010000
#define I2C_SCL(bit) if(bit) iop->pdat |= 0x00020000; \
else iop->pdat &= ~0x00020000
#define I2C_DELAY udelay(5) /* 1/4 I2C clock duration */
#endif /* CONFIG_SOFT_I2C */
#define CFG_I2C_EEPROM_ADDR 0x57 /* EEPROM IS24C02*/
#define CFG_I2C_EEPROM_ADDR_LEN 1 /* Bytes of address */
#define CFG_EEPROM_PAGE_WRITE_BITS 3 /* write page size*/
#define CFG_EEPROM_PAGE_WRITE_DELAY_MS 10 /* takes up to 10 msec*/
/*不配置I2C,定义如下:
#ifdef CONFIG_USER8240
#undef CONFIG_HARD_I2C
#endif
*/
#define CFG_BAUDRATE_TABLE {9600, 19200, 38400, 57600, 115200}
/*波特率*/
/*flash 的地址控制,我的电路板上Flash 不能使用标准驱动,因此没有使用这些值*/
#define CFG_FLASH_BANKS {FLASH_BASE0_PRELIM, FLASH_BASE1_PRELIM
}
/*华邦83c553 IDE 控制器配置,我的电路板没有使用,没有研究这些参数*/
#define CFG_WINBOND_83C553 1 /*has a winbond bridge*/
#define CFG_USE_WINBOND_IDE 0 /*use winbond 83c553 internal IDE
ctrlr */
#define CFG_WINBOND_ISA_CFG_ADDR 0x80005800 /*pci-isa bridge config
addr*/
#define CFG_WINBOND_IDE_CFG_ADDR 0x80005900 /*ide config addr*/
#define CFG_IDE_MAXBUS 2 /* max. 2 IDE busses*/
#define CFG_IDE_MAXDEVICE (CFG_IDE_MAXBUS*2) /* max. 2 drives
per IDE bus */
/*不配置华邦83c553,定义如下:
#ifdef CONFIG_USER8240
#undef CFG_WINBOND_83C553
#endif
*/
/* NS87308 配置,支持软驱,我的电路板没有使用,没有研究这些参数*/
#define CFG_NS87308 /* Nat Semi super-io controller on ISA bus
*/
#define CFG_NS87308_BADDR_10 1
#define CFG_NS87308_DEVS ( CFG_NS87308_UART1 | \
CFG_NS87308_UART2 | \
CFG_NS87308_POWRMAN | \
CFG_NS87308_RTC_APC )
#undef CFG_NS87308_PS2MOD
#define CFG_NS87308_CS0_BASE 0x0076
#define CFG_NS87308_CS0_CONF 0x30
#define CFG_NS87308_CS1_BASE 0x0075
#define CFG_NS87308_CS1_CONF 0x30
#define CFG_NS87308_CS2_BASE 0x0074
#define CFG_NS87308_CS2_CONF 0x30
/*不配置NS87308,定义如下:
#ifdef CONFIG_USER8240
#undef CFG_NS87308
#endif
*/
/* NS16550/2 串口配置*/
#define CFG_NS16550 /*配置NS16550*/
#define CFG_NS16550_SERIAL /*将NS16550 作为串口驱动芯片*/
#define CFG_NS16550_REG_SIZE 1 /* NS16550 的寄存器间隔*/
#define CFG_NS16550_CLK 1843200 /*NS16550 外接参考时钟频率,单位Hz*/
1
2
3
4
5
6
7
8
9
10
11 |