Colibri Bootloader ChangeLog: ================================ V4.3 Release Date 17 September 2013 Mating Windows CE Image 4.2 - Bugfix: Very few of the Colibri PXAxxx modules didn't start after Toradex' initial factory programming. Bootloader V4.1 and V4.2 both show a bug in the initial programming process, which is now resolved in V4.3. Theoretically the issue could also lead to computer modules in the field that do no more boot. But the respective probability is vanishing and not a single incident has been reported to Toradex as of today. 4.2 Release Date: 11 June 2013 Mating Windows CE Image 4.2 - Add support for new Colibri PXA300 XT modules (new Flash device) - Colibri PXA320 V2.x only: Disable Ethernet flow control feature (Pause feature). This change has only an effect when using the bootloader's Ethernet functionality (e.g. Image Download or KITL debugging) 4.1 Release Date: 14 September 2012 Mating Windows CE Image 4.1 Changelog Update 10. December 2012: - Colibri PXA270 V2.x: Using optimized RAM drive strength setting for clk1 Original Changelog 14 September 2012: - Bugfix: Colibri PXA270: Fixed rare communication problems between CPU and DM9000 Ethernet Controller - Bugfix: Clearing the config block settings msc and mbs (clear msc, clear mbs) in the bootloader command prompt resets these configs back to the default values immediately, not just after a reboot. - Bugfix: Fixed an bug related to the bad block handling. This bug could have led to a write error during flash write. In such a case e.g. the update of an image through the bootloader would have failed. - Bugfix: PXA3xx DDR RAM refresh timings were slightly out of spec. No problem seen in specified temperature range though. 4.0 Release Date: 16 January 2012 Mating Windows CE Image 4.0 - Critical Fix: Corrected core voltage and SRAM voltage settings for PXA3xx. For Colibri PXA310 it was set too low before. This could have led to boot problems or random hangs. - Added new setting in configblock: boot.dlonerror 0: Halt execution if there is an error during OS image launch (default) 1: Start download if there is an error during OS image launch - Added new setting in configblock: boot.imgcrcaction 2: Try next -> e.g. start download on crc error if boot.dlonerror is set to 1. - Optimized suspend current consumption for PXA3xx - Bugfix: There was a problem with cleaning up the config block. Cleaning the config block was only done when writing excessively to the config block. This doesn't happen by the system it self but has to be done by manually user or SW. - CPU stepping is now reported correctly for PXA3xx-B1 and PXA3xx-A0 - Colibri PXA300: Improved flash read performance. - Fixed Bug: System could rarely hang for 22 minutes. - BootloaderKit: Using the bootloader kit allows you now to define the actions taken in case of errors during image launch. This allows you e.g. to launch a second image if the CRC of the primary image is broken (fail-safe OS image boot). 3.9 Release Date: 29 April 2011 Mating Windows CE Image 3.9 - SD card boot feature now also supports 2nd SD/MMC controller of the PXA3xx. - PXA300/310: GPIO9 and GPIO10 are set to GPIO input at boot time. Was set to AlternateFunction 7 before. 3.8 Release Date: 24 December 2010 Maiting Windows CE Image 3.8 - Corrected spelling mistake in bootloader output. (Numer->Number in config block description) - Fixed bug: Passing 'ATAG' parameters correctly when starting Linux kernel. This has no effect on starting other OS like Windows CE or QNX. - Colibri PXA320 V2.x only: Increased wake-up timeout for Ethernet controller. Ethernet didn't work when using 115200 baud-rate for bootloader output. It was working with default 9600 baud since this slowed down the bootloader. 3.7 Release Date: 09 November 2010 Mating Windows CE Image 3.7 - Fixed bug in CRC calculation used in Bootloader. The wrong algorithm generates the same CRC value in most cases but it can be wrong in special cases. To avoid problems regarding incompatibility of the buggy and the new CRC algorithm we recommend to use Bootloader and Windows CE image versions with the same Toradex version number only (e.g. 3.7 bootloader and 3.7 WinCE image) - Adjusted FlashTimings for NAND Flashes to support future Flash types. (Colibri PXA3xx modules) - Fixed bug in CPLD (V1.8): external chip-selects toggled when accessing the CF-Card. To update the CPLD please use the Windows CE UpdateTool and the cpld update .bin file V1.8 provided by Toradex. - Download of FLASH images (Bootloader, Configblock, etc.) is not allowed anymore by pressing 'd' in the Bootloader menu. Use 'f' instead. - Added Asix AX88796C (on Colibri PXA320 V2.0) Ethernet support for downloading images and using kernel debugger. - Add support for EDID timing information through i2c. - PXA3xx: changed default pin function of SODIMM pin 95 from RDY to GPIO: Was set to RDY (VLIO control signal) by the bootloader in the past. Now this is set to GPIO input. You need to set the pin to alternate function RDY in your Windows CE application/driver if you need VLIO access with RDY functionality. - The name of the image downloaded from the SDCard can now be named when using the bootloader kit. (Variable: gDLFileName, 8.3 names). The default name remains nk.bin. 3.6 Release Date: 24 June 2010 Mating Windows CE Image 3.6 - Bugfix: WinCE image CRC wasn't checked if one or more of the following configblock settings was not 0: boot.sel boot.dl boot.silent boot.dltype boot.gpiopolinv - PXA3xx Bugfix: Bootloader with a size between n*BlockSize-32KBytes and n*BlockSize were not completely copied to ram. This bug affects customers which are building their own bootloader based on the Toradex BootloaderKit. BlockSize = 128KBytes. - The bootloader can now be placed anywhere in ram if you are using the Bootloader Kit. Just change the eboot.bib file according to your needs. (This might be interesting if you need more RAM or more space for the bootloader itself.) - Bugfix: Bootloader V3.6b1 was not able to boot when a gpio config block setting was saved with an image prior to bootloader V3.6b1. - The bootloader is now able to boot from SD card. To select the SD download you have to set the download type in the configblock to 2 (set boot.dltype=2). The SD card has to be FAT16 formatted and the image to start has to be located in the root folder and has to be named nk.bin. SDHC is not supported so far and MMC has not been tested. - The SDCard GPIOs can be changed in the config block (see sd field in the config block for details). You can set the GPIONumber for all functions like SDClk, SDCmd, SDDat etc. If Dat1 is set to 255, the SDCard uses 1bit interface. If all four data lines are set the SDCard can use 4bit mode if supported by the card. If no card detect gpio is used then set the corresponding setting in the config block to 255. - Prepared Bootloader for fail safe boot operation. The bootloader can now be configured to perform a fail safe boot with a tool that can be bought from Toradex. There is a second bootloader which gets updated. If this update fails, the first (fail-safe) bootloader takes control and performs the specified action (launching image, start download via ethernet or USB RNDIS...) (Toradex tool-chain (e.g. UpdateTool, ColibriTweak...) doesn't support this feature so far. We will update our tools soon.) - Added new config block setting for second bootloader address: loc.bl2start - The bootloader can now be bigger than 254KBytes. - Added new param in configblock: ser.keep If set to 1 Eboot keeps UART enabled at exit. Default is 0. - PXA300 GPIO 97 and PXA310 GPIO 94 were configured as pulled-down instead of floating. This is fixed now. - Multi-Function-Pins (MFP) can now be set to floating, pulled-up, pulled-down or default pull state in bootloader. The configblock setting 'gpio' has new settings for the mfp pins. X represents the GPIO number: gpio.mfppull_X=0 (0:Float, 1:PullD, 2:PullU, 3:ResetVal). The Bootloader starts with the default pull values defined in the PXA3xx EMTS document from Marvell. After the Bootloadermenu was displayed the bootloader sets the pull value defined in the configblock for each gpio. The default pull value is 0 (floating). - New function in Bootloader-Kit: SetMFPPull(); This function sets all MFPs from their reset pull value to floating if not specified different in configblock. - Bootloader commands (e.g. set dbg.ser) were limited to 64 characters (since Eboot 3.4beta2). This limitation is removed now. Since most of the commands are shorter than 64 characters this bug wasn't a real problem. 3.5 Release Date: 24 November 2009 MATCHING IMAGE 3.5 SAME AS image 3.4. Version increased because of a bugfix in the WinCE image. 3.4 Release Date: 5 November 2009 MATCHING IMAGE 3.4 CPLD: Updated CPLD to V 1.6. The update of the CPLD is required if the CF Card interface on the Colibri PXA320 is used! !- CPLD: Made some modifications related to PCMCIA interface. Now CF card also work with 208MHz MemBus speed on PXA320. You can update the CPLD with the Update Tool in Win CE. Or with the Bootloader, to start programing the CPLD manually from the bootloader menu press 'p' in the bootloader main menu. Make sure that the SODIMM pins 88, 90 and 92 are floating, that's e.g. the case on the EvalBoard ( make sure that the signals aren't driven on your baseboard or use the EvalBoard). You don't have to update the CPLD if you don't use CF Card on PXA320. - Fixed Machine ID parameter for Linux Kernel. r1 contains now the right value for Colibri 270 and 320. - Fixed Linux ATAG MEM parameter with right RAM start address. - Linux ATAG list supports now RamSize and RamStart setting (for all modules). - The static Configblock data (Serialnumber, HW information...) gets preserved now if Configblock was overwritten via Ethernet download. - Changed Linux kernel argument (for booting Linux with Eboot): The ATAG serial parameter high part contains now the Toradex MAC range ID (3 highest bytes of a MAC address). - Bootloader resets now after bootloader download (was broken) - Added machine architecture number for PXA320 (Linux Kernel Parameter) - It's now possible to invert the polarity of the Download/Boot Gpio in the ConfigBlock: boot.gpiopolinv: 0: gpio level = 1 -> download 1: gpio level = 1 -> boot image - Fixed sometimes horizontally shifted splash screen (on PXA310) - Added correct SRAM speed to bootloader info output and changed names for SRAM and SMC to HSIO and MEM for Colibri PXA 3xx modules - Changed default MEMCLKCFG[DF_CLKDIV] from 3 (div by 4) to 1 (no division) for all PXA3xx modules -> this causes the DF_SCLK to be faster: new default on PXA300: 104MHz new default on PXA310/320: 208MHz If dfclkdiv=0 we will set it to 1 (0 is no reasonable value anyway) - Bootloader always sets now the MAC address for the on module Ethernet controller - The Bootloader now sets the on module Ethernet controller always into sleep mode before lunching WinCE image to lower power consumption. (not done for Linux and other images) - Added BOOL InitEthernetController(BYTE *pMacAddr) to the Eboot LIB interface. User can now set the MAC address as he want in bootloader customizer kit. - Bootloader sets debug uart port back to GPIO functionality bevore lunching WinCE image (not done for Linux, etc images) - Added HW version and Serialnumber output to bootloader serial output. - Changed NAND timings - Changed timings for Asix Ethernet controller. - Added CRC functionality. The bootloader checks now a CRC value prior to launch the image. CRC check can be disabled or the behavior if crc failed can be defined in the configblock: set boot.imgcrcenable=1 ; 0=don't perform crc, 1=perform crc (default 1) set boot.imgcrcaction=0 ; CRC failed: 0=Warn and Boot; 1=Halt - Added product ID to config block. (hw.prodid) - Added Product ID Strings to Debug Output (Colibri PXAxxx nnnMhz, Limestone, ...) - Added Support for P33B StrataFlash for next generation Colibri Modules - On Colibri PXA300 and PXA310 the GPIOs 9 and 10 are now set to alternate function 7 (not defined) by default because the GPIO9_2 and GPIO10_2 are used as PS2 Mouse GPIOs. If GPIO9 and 10 are set to GPIO the PS2 functionality will be corrupted. To use one or both of these GPIOs as GPIO you have to set the alternate function to GPIO first. PXA3xx modules only: - Fixed WarmBoot problem when NAND ECC is enabled 3.3 Release Date: 5 February 2009 MATING IMAGE 3.3 Changed Eboot to EbootLib and EbootBin. The new generated EbootLib.lib could be used by customers to add their bootloader code to the Toradex Bootloader. This library is available for custmers for some support hours. Added SplashScreen Debug Output: This feature adds some debug information to the bootloader splashscrren, including: - Colibri TYpe (PXA270/PXA300/PXA310/PXA320) - Flash Type/Size - Memory Type/Size - Bootloader version/Windows CE OS and BSP version - Serial Debug Output (in the last 5 rows of the screen) This feature is enabled by defaut. To disable it set ss.dbginfo=0 in the bootloader command line mode, and save ss. 3.2 Release Data: 23 Jul 2008 MATING IMAGE 3.2 This bootloader Version does not work with older Image Versions !! (If you do an update, update Image and bootloader together without a reboot beween this two updates) Faster Ethernet Download Speed from bootloader when using Platform Builder 6.0 (added BlockSize TFTP option) Updated CPLD code to 1.4 (Fixed issue with external chip select asserting too early on pxa3xx, while still in adress latching phase) Splash Screens of 1024x768 or more are now working properly again (was broken since 3.1) It's now possible to set OutputEnable Polarity in SplashScreen LCD settings. Added Support for USB Download (RNDIS) Updated CPLD to 1.5 (added some more registers for external chips select timing configuration) Only Needed Clocks are enabled at boot to save power (Mem Controller, SRAM, NAND Controller, OSTimer) 3.1 Release Data: 7 Apr 2008 MATING IMAGE 3.1 Serial Port Clean Deinitialization before launching IMAGE (solves problems with serial port not working if there is serial input stream while booting) Patch for Hang when using big SplashScreens (1024x768), will not hang anymore, but not display yet, will be fixed completely in 3.2 Fixed Wakeup from DeepSleep (when powering OFF/ON with VCC_BATT), was broken in 3.0 Linux Boot Support (See Karg config block entry) Corrected DDR Timings forr PXA320 Fixed WarmBoot with Compressed IMAGE 3.0 Release Date: 13 Nov 2007 Mating IMAGE 3.0 Both Colibri PXA270 and Colibri PXA290/PXA320 are supported. Flushing cache before launching an image Added some SplashScreen configuration fields (see ss config section) Added free customizable multichar escape sequence for entering bootloader menu (see dl config section) Colibri PXA320 Specific: New HW version supported: Colibri PXA320 V1.2 (CPLD support and 1GByte Nand Flash, Samsung and Hynix) Warmboot is now supported (GPIO Reset) Colibri PXA270 Specific: Some improvement in the Ethernet chip BUS access speed (will allow much faster download speed with next version of ColibriLoader) 2.5 Release Date: 24 Feb 2007 Mating IMAGE 1.7 Support for P30 Flash and J3 Flash Added Flash type, Flash Size and SDRAM size indication to Serial Output Bootloader Update from Bootloader itself now works again (was broken since 2.4) GPIO Configurations are now set only according to GPIO config section. No setting of all chips selects alternate functions at early boot stage. (solves a problems when switching back a Chip Select alternate function to GPIO input which could cause a deadlock in some special cases) Slightly increased the wait for space press delay at startup to solve problems with some terminal programs such as Hyperterminal Clear Registy with following launch works now 2.4 Release Date: 26 Sep 2006 Mating IMAGE 1.6 Only shipped with Colibris with P30 Flash. Works only with P30 Flash Bootloader Command mode now also works with terminals that send CRLF (instead of only CR) Many Adjustments for Resume form Sleep AutoSleepMode on Powerdown (Sleep mode is automatically entered when poering down and a Backupbattery is used) (RTC Clock keeps running and is not lost on re-power) This feature only works on COlibri PCB revision 1.2 2.3 Release Date: 29 May 2006 Mating IMAGE 1.5 Changed SplashScreen Format to Compressed (to save space) Toradex Splash Screen is activated by default A tool to Create Custom Splash Screens is available on request Compressed IMAGE support (saves about 50% space) A tool to Create Compressed IMAGES is available on request Added Support for new Colibri PCB revision 1.2 2.2 Release Date: 24 Apr 2006 Mating IMAGE 1.3 configurations can now be cleared (restored to factory defaults) (with clearconfig command) better syntax cheching in commands Bootloader now supports Splash Screen (there will be a tool to set the splash screen in the software section) WarmBoot is much faster (no IMAGE copy or DebugOutput during WarmBoot) Memory Buffer Stength settings optimized for maximum system stability (can also be changed to fit custom basebaord memory bus loads, see setconfig mbs) New Configuration to enable Kernel Debug Output on Serial Port (See setconfig dbg.serial) Flash Registry Reads can now disabled. (Disabling Registry reads is useful when debugging with Platform Builder) (See setconfig dbg.regread) Fixed a BUG that prevented setting correct Static Chip Select Memory Timings under certain Frequency/Clocks settings 2.1 Release Date: 10 Dec 2005 Matinig IMAGE 1.2 Changed most of the UI of Bootloader (Only basic functions are now accessible from Menu interface, all the rest is implemented in the new command line mode) Added Command Line Mode (Entered with "X" Menu Point) Many Configuration Settings can be viewed/edited/saved (See "setconfig" and "saveconfig" commands) (use "setconifg xxx.yyy=value" syntax to set some value in a configuration structure) Special Boot/Download modes selectable (GPIO can be used to select Boot/Download and Silent mode is available if Serial port is used for logging) ("setconfig boot") Static Chip Select Memory Timings can be customized (Specify in nanoseconds and register settings are calculated based on Frequency settings) ("setconfig msc") CPU Frequency Multiplicators/Divisors can now be customized ("setconfig mult") GPIO boot default settings can be changed ("setconfig gpio") Memory Read and Write commands are available for debug purposes ("readmem" and "writemem") Any flash sector(s) can be erased to clear some wrong configuration setting(s) ("eraseflash") 2.0 Release Date: 11 Jul 2005 07:41 GMT Mating IMAGE 1.1 Chanaged the Registry Clear function to accomodate the Registry Implementation changes in the OS (See Image 1.1 ChangeLog). Fixed a Problem that caused a lockup when SW rebooting. Disabled TOUT on GPIO 10 All unused Colibri GPIOs are set as Inputs by default now. You can customize every unused GPIO. See "Colibri_Customization_Guide" for details. 1.9 Release Date: 16 May 2005 17:53 GMT Mating IMAGE 1.0 Initial Release 1.0-1.8 Internal pre-releases