- 实时时钟:
如果选择了 CONFIG_CMD_DATE,需要同时选择RTC的类型。使用下列定义中的一个:
CONFIG_RTC_MPC8xx - 使用MPC8xx的内部RTC CONFIG_RTC_PCF8563 - 使用Philips PCF8563 RTC CONFIG_RTC_MC13783 - 使用MC13783 RTC CONFIG_RTC_MC146818 - 使用MC146818 RTC CONFIG_RTC_DS1307 - 使用Maxim, Inc. DS1307 RTC CONFIG_RTC_DS1337 - 使用Maxim, Inc. DS1337 RTC CONFIG_RTC_DS1338 - 使用Maxim, Inc. DS1338 RTC CONFIG_RTC_DS164x - 使用Dallas DS164x RTC CONFIG_RTC_ISL1208 - 使用Intersil ISL1208 RTC CONFIG_RTC_MAX6900 - 使用Maxim, Inc. MAX6900 RTC CFG_RTC_DS1337_NOOSC - 关闭DS1337的OSC输出
注意:如果RTC使用I2C,则需要配置I2C接口。参加见下面的I2C支持。
- 时间戳支持:
如果定义CONFIG_TIMESTAMP, 与映像相关的命令如bootm或iminfo会打印给定映像的时间戳(日期和时间)。如果定义了CONFIG_CMD_DATE,该选项自动使能。
- 分区支持:
CONFIG_MAC_PARTITION, CONFIG_DOS_PARTITION, CONFIG_ISO_PARTITION
如果使能了IDE或SCSI支持(CONFIG_CMD_IDE 或者 CONFIG_CMD_SCSI),你必须至少配置一种分区类型的支持
- IDE 复位例程:
CONFIG_IDE_RESET_ROUTINE - 在几个单板的配置文件中定义,但并未使用!
CONFIG_IDE_RESET - 如果定义了,会调用下面的函数复位IDE: ide_set_reset(int reset)
这个函数必须在单板相关文件里定义。
- ATAPI 支持: CONFIG_ATAPI
定义该宏来支持ATAPI。
- LBA48 支持
CONFIG_LBA48
定义该宏可支持大于137GB的磁盘。需要检查CFG_64BIT_LBA,
CFG_64BIT_VSPRINTF 和 CFG_64BIT_STRTOUL选项。如果不定义它们,LBA48使用32位变量,只能支持到最大2.1TB的磁盘。
CFG_64BIT_LBA:
如果使能,则IDE子系统使用64位的扇区地址,默认是32位。
- SCSI 支持:
当前只支持 SYM53C8XX SCSI 控制器; 定义 CONFIG_SCSI_SYM53C8XX 来使能。
可以调整CFG_SCSI_MAX_LUN [8], CFG_SCSI_MAX_SCSI_ID [7] 及
CFG_SCSI_MAX_DEVICE [CFG_SCSI_MAX_SCSI_ID * CFG_SCSI_MAX_LUN] 定义最大LUN, SCSI ID及目标的最大设备数。
定义CFG_SCSI_SYM53C8XX_CCF 以修正clock timing(时钟时序?) (80Mhz)
- 网络支持 (PCI设备): CONFIG_E1000
支持Intel 8254x GE芯片。
CONFIG_E1000_FALLBACK_MAC
量产后,在EEPROM为空时的默认MAC地址。
CONFIG_EEPRO100
支持Intel 82557/82559/82559ER芯片。还可以定义
CONFIG_EEPRO100_SROM_WRITE使能首次初始化时的EEPROM写流程.
CONFIG_TULIP
支持 Digital 2114x 芯片。
还可以定义 CONFIG_TULIP_SELECT_MEDIA 支持单板特定的modem芯片初始化(KS8761/QS6611).
CONFIG_NATSEMI
支持 National dp83815 芯片.
CONFIG_NS8382X
支持 National dp8382[01] gigabit 芯片.
- 网络支持 (其它设备):
CONFIG_DRIVER_LAN91C96 支持 SMSC 的 LAN91C96 芯片.
CONFIG_LAN91C96_BASE
将该宏定义为LAN91C96 I/O空间的物理地址。
CONFIG_LAN91C96_USE_32_BIT 定义该宏以使能32位寻址
CONFIG_DRIVER_SMC91111 支持 SMSC 的 LAN91C111 芯片
CONFIG_SMC91111_BASE 定义设备的物理地址 (I/O 空间)
CONFIG_SMC_USE_32_BIT 如果数据总线是32位的,定义此宏
CONFIG_SMC_USE_IOFUNCS
如果定义则使用I/O函数,否则使用I/O宏 (有些硬件不能用宏)
CONFIG_DRIVER_SMC911X
支持 SMSC 的 LAN911x 和 LAN921x 芯片
CONFIG_DRIVER_SMC911X_BASE 定义设备的物理地址 (I/O 空间)
CONFIG_DRIVER_SMC911X_32_BIT 如果数据总线为32位,定义此宏
CONFIG_DRIVER_SMC911X_16_BIT
如果数据总线为16位,定义此宏。如果处理器自动将1个32位数据转化为2个16位数据,可以试着用 CONFIG_DRIVER_SMC911X_32_BIT.
- USB 支持:
目前只支持UHCI host controller (PIP405, MIP405, MPC5200); 定义 CONFIG_USB_UHCI 来使能。
定义 CONFIG_USB_KEYBOARD 使能USB键盘支持,定义 CONFIG_USB_STORAGE 使能USB存储设备。
注意: 受支持的是USB键盘和USB软驱 (TEAC FD-05PUB). MPC5200 USB 需要附加的定义: CONFIG_USB_CLOCK
对 528 MHz 时钟: 0x0001bbbb CONFIG_USB_CONFIG 对差分驱动器: 0x00001000 对单边驱动器: 0x00005000 CFG_USB_EVENT_POLL
可以定义此宏来允许中断查询,否则使用异常中断。
- USB 设备:
如果希望使用USB终端,定义下面的宏。
在串口终端重建固件后,使用命令\并接上USB线缆. \命令应该会打印它找到一个新设备. 可以将usbtty环境变量设为gserial
或者cdc_acm。前者让设备对USB host表现为Linux gserial设备,后者让设备表现为通用设备类抽象控制模型(Common Device Class Abstract Control Model)的串行设备。 如果你选择usbtty = gserial,应该能通过下面的命令枚举一个Linux host # modprobe usbserial vendor=0xVendorID product=0xProductID
如果你选择 cdc_acm, 将环境变量usbtty设为cdc_acm就行了. 你还可以在单板配置头文件中定义下面的宏。
CONFIG_USB_DEVICE 定义该宏来建立一个UDC设备
CONFIG_USB_TTY
如果定义该宏,则可以使用一个tty类型的设备与UDC设备通信
CFG_CONSOLE_IS_IN_ENV
如果你想将标准输入、标准输出、标准错误设为usbtty,定义该宏。
mpc8xx:
CFG_USB_EXTC_CLK 0xBLAH 从外部时钟\导出USB时钟。 - CFG_USB_EXTC_CLK 0x02
CFG_USB_BRG_CLK 0xBLAH 从brgclk导出USB时钟 - CFG_USB_BRG_CLK 0x04
如果你有一个USB-IF分配的VendorID,你可以将自己的vendor值定义在BoardName.h,或者直接定义在 usbd_vendor_info.h. 如果你不定义 CONFIG_USBD_MANUFACTURER, CONFIG_USBD_PRODUCT_NAME,
CONFIG_USBD_VENDORID 和 CONFIG_USBD_PRODUCTID, U-Boot则默认对target host表现为Linux设备。
CONFIG_USBD_MANUFACTURER 定义公司的名称
- CONFIG_USBD_MANUFACTURER \