📄 readme-config
字号:
## README-config## This document describes the configuration file for boot loader.# We recommend each customers have different configuration file for their# own board design. ## 05-04-2004### System configuration#--------------------------------------------------------------------------------------------------------------------To create a custom boot loader, create your config file asdescribed below and run 'make CONFIG=config-yourconfig'--------------------------------------------------------------------------------------------------------------------EM86XX_ARCH : MAMBO/TANGO This defines the EM86XX chipset. At this point, there are two choices; MAMBO and TANGO. EM86XX_REV : This defines the Revision number of the chipset. A is corresponds to 1, B to 2, and so on. BOARD : This defines the name of board. Some hardware configuration such as interrupt routing, chip select definitions may varies depends on board. Boot loader refers to board-$BOARD directory for board specific definitions.DRAMBASE : Start address of DRAM. This doesn't need to be same as the base address of DRAM0 controller. This can be any address, and boot loader will map this address to address 0. Also all the memory map starts from this address.LOADERBASE : Start address of STAGE1 boot loader. Boot loader image is loaded to this address.STAGE1_IMAGE_SIZE : This defines the maximum size of STAGE1 boot loader. If STAGE1 boot loader image is bigger than this definition, boot loader won't boot. burnsflash utility sets this size to actual boot loader image size. STAGE2_IMAGE_SIZE: When 2NDBOOT is enabled, this is the size of the secondary boot loader in the parallel flash (needs to be specified in decimal form). It should be 65536 (64KB) or 131072 (128KB) at this point.DEFAULT_UART_PORT : 0/1 This defines the UART port number to be used as console. Boot loader will display some information to this UART port, and may interact with users. DEFAULT_UART_BAUDRATE : 38400/115200 This defines the UART baud rate. It is recommended to use high speed if possible for speed. ## Debugging configurations#TESTLOADERONRAM : With this option enabled, boot loader can be run without flashing it. Download boot loader image for serial flash, and "boot boot" command will jump to the downloaded boot loader and start it. This option is useful while developing boot loader.DEBUG : If this option is enabled, boot loader will display more debugging messages.## Production test configurations#PRODUCTIONTEST : With this option enabled, make will generate binaries for 'production test'. STAGE0_TEST_IMAGE_SIZE : This defines the size of STAGE0 test image size. The binary size must not exceed this definition, otherwise it won't boot. ## DRAM delay adjustment (since v0.12.9)#DRAMADJUSTMENT : With this option enabled, make will include DRAM adjustment routine into stage0.STAGE0_XTRA_IMAGE_SIZE : This defines the size of STAGE0 extra image size (for DRAM adjustment routines). The binary size must not exceed this definition, otherwise it won't boot. DEBUG_DRAMADJUSTMENT : With this option enabled, more message will be showed for the adjustment process. Please note that STAGE0_XTRA_IMAGE_SIZE probably will need to be increased.### Component configurations#Some configuration may have dependency. For example if ENABLE_SFLASH optionis off, ENABLE_SFLASH_ST_M25 and ENABLE_ST_SST options will be turned offautomatically even they are set to 'y'. And networking will not work withoutPCI support since the networking chipset is on the PCI bus. RELEASE : Set this to 'y' for release purpose (no interacting prompt). Boot loader will just load kernel image from specified media and boot. ENABLE_FULLFUNCTION : With this option enabled, boot loader will include more commands that are useful for debugging or inquirying system information.# Serial flashENABLE_SFLASH : (may select any sub-module) This enables serial flash memory support.ENABLE_SFLASH_ST_M25 (dependency on ENABLE_SFLASH) This enables ST M25Pxx series serial flash memory support.ENABLE_SFLASH_ST_M95 (dependency on ENABLE_SFLASH) This enables ST M95xxx series serial flash memory support.ENABLE_SFLASH_SST (dependency on ENABLE_SFLASH) This enables SST 25LVxxx series serial flash memory support.# Parallel flashENABLE_FLASH : This enables CFI(common flash interface) compatible flash memory support.ENABLE_2NDBOOT: This enable the build for secondary bootloader. Please note that it will need ENABLE_FLASH to be set to 'y'.BOOT_2NDBOOT: The previous option enable the support for secondary bootloader while this option will "make use" of the secondary bootloader by using it as replacement of stage1 loader.MAX_ROMFS_SIZE: The maximum size of a romfs image bootloader can flash into parallel flash memory (in KB).# IDEENABLE_IDE : (must one of the IDE controller be selected) This enables IDE support.ENABLE_IDE_ISA (dependency on ENABLE_IDE, exclusive with ENABLE_IDE_BM) This enables IDE controller on peripheral bus. Both of Mambo and Tango have IDE/ISA controller.ENABLE_IDE_BM (dependency on ENABLE_IDE, exclusive with ENABLE_IDE_ISA) This enables bus master IDE controller. Only Tango has bus master IDE controller.# PCIENABLE_PCI : (must one of the PCI controller be selected) This enables PCI support.ENABLE_PCIHOST_EM86XX : This selects EM86XX PCI host controller. ENABLE_PCIHOST_FPGA : This selects obsolete PCI host controller implemented by FPGA chipset.# NetworkingENABLE_NETWORK : (may include any ethernet driver) This enables networking support.ENABLE_NETWORK_DNS : (dependency on ENABLE_NETWORK) This enables DNS protocol support.ENABLE_NETWORK_NE2KPCI : (dependency on ENABLE_NETWORK and ENABLE_PCI) This enables ne2000 compatible PCI ethernet driver. This driver is not implemented at this time.ENABLE_NETWORK_RTL81XX : (dependency on ENABLE_NETWORK and ENABLE_PCI) This enables RealTek RTL81XX PCI ethernet device driver. This driver is fully operational. ENABLE_NETWORK_TANGO15 : (dependency on ENABLE_NETWORK) This enables on chip ethernet for Tango15 (e.g. 8624L). This driver is fully operational. # MiscENABLE_FIP: This enable FIP support to display text to front panel, as well as reading key from button (for bootable CD firmware update).EM86XX_FIP: Select which FIP table to be used - REF1 or REF2. DISABLE_HELP_MSGS: Disable help messages, which can reduce the size of bootloader. Enable this option may save a little bit space (~3.5KB).ENABLE_IRQHANDLER: Enable support for IRQ handler (used by RUA/emhwlib). An extra binary file can be used to activate FIQ for vsync purpose.ENABLE_BITMAPS: Enable support for background image file.ENABLE_UCODES: Enable support for micro-code binary file.ENABLE_USERPREF: Enable support for user preference storage (thye last 64KB of parallel flash memory).## Default parameters#These define the values of important system registers. # SystemDEFAULT_CLKGEN_PLL : This defines PLL register value. This determines system clock rate. Default is 148.5 for Mambo and 166 for Tango.# DRAMDEFAULT_DRAMx_DUNIT_CFG : These define the DRAM configuration registers for DRAM controller 0 and 1. If the memory bank is empty, just set it to 0. DEFAULT_DRAMx_SIZE : These define the size of DRAM for each DRAM controller. This value is defined as log 2 of DRAM size in Megabytes. For instance, if the memory size is 32MB, this value must be 5 (2^5 = 32). If the memory bank is empty, just set it to 0.DEFAULT_DRAM_DUNIT_DELAY0_CTRL : This defines the delay configuration for DRAM controller. DRAM controller 0 and 1 shares same configuration. # PCIDEFAULT_PCI_SUBSYSTEM_ID : This defines PCI subsystem ID. To change PCI subsystme ID, DEFAULT_CONFIGVALID must include CONFIGVALID_PCISUBID bit.DEFAULT_PCI_REVISION_ID : This defines PCI revision ID. To change PCI revision ID, DEFAULT_CONFIGVALID must include CONFIGVALID_PCIREVID bit.DEFAULT_PCI_MEMORY_SIZE : This defines PCI memory size. To change PCI memory size, DEFAULT_CONFIGVALID must include CONFIGVALID_PCIMEMSIZE bit.# Serial flashDEFAULT_SFLA_DRIVER_SPEED : This defines the timing register for serial flash. Serial flash timing varies depends on system clock speed and the maximum speed of serial flash chipset.# Peripheral busDEFAULT_PB_DEFAULT_TIMING : This defines the default timing for peripheral bus.DEFAULT_PB_CS_CONFIG : This defines the peripheral bus configuration register. For more information, refer to peripheral bus application note. DEFAULT_PB_TIMINGx, DEFAULT_PB_USE_TIMINGx : These define the timing for peripheral bus. EM86XX allows up to 6 timings to be defined. # InterruptDEFAULT_IRQ_GPIOMAP : EM86XX allows 4 interrupts to be connected to GPIO pins. This register defines which GPIO will cause the GPIO interrupt. # GPIODEFAULT_GPIO_DIR : Initialize 16 GPIO pins for certain direction (e.g. 0xffff to make all GPIO pin output).DEFAULT_GPIO_OUTPUT : If GPIO pin is set to output, what's the value (0 or 1) for the output.# BootDEFAULT_BOOTFLAG : This defines the boot flag for boot loader. Boot loader refers to this setting, and will try to boot based on this configuration. Refer to config.h for all the configuration bit. ## Crypto#STAGE0_CRYPTO_IMAGE_SIZE : This is the maximum size of the stage0 crypto function. Should not be more than 5KB.ENABLE_CRYPTO: Turn this on to enable 1/2 secure boot loader : uses RSA encryption to sign the kernel. The bootloader is not encrypted. You will need the stage1 crypto library in order to compile the bootloader with this option. Please refer to the README in the stage1 crypto library.ENABLE_CRYPTO_FULL: Turn this on (and ENABLE_CRYPTO too), to get a fully encrypted boot process. You will need the stage0 crypto library in order to compile the bootloader with this option. Please refer to the REAMDE in the stage0 crypto library.# # Optimization#OPTIMIZE_SIZE: Turn this on to use codes that has smaller size implementation but can be slower (e.g. memcpy).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -