summaryrefslogtreecommitdiffstats
path: root/lib_mips
Commit message (Collapse)AuthorAgeFilesLines
* bootm: refactor entry point codeKumar Gala2008-08-261-17/+1
| | | | | | | Move entry point code out of each arch and into common code. Keep the entry point in the bootm_headers_t images struct. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* Fix fallout from autostart revertKumar Gala2008-08-121-5/+1
| | | | | | | | The autostart revert caused a bit of duplicated code as well as code that was using images->autostart that needs to get removed so we can build again. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* Fix printf() format issues with sizeof_t types by using %zuWolfgang Denk2008-07-141-2/+2
| | | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Wolfgang Denk <wd@denx.de>
* Fix some more printf() format issues.Wolfgang Denk2008-07-131-9/+5
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* mips: When booting Linux images, add 'ethaddr' and 'eth1addr' to the environmentJason McMullan2008-07-081-0/+11
| | | | | | | | Add 'ethaddr' and 'eth1addr' to the Linux kernel environment if they are set in the U-Boot environment. Signed-off-by: Jason McMullan <mcmullan@netapp.com> Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
* [MIPS] lib_mips/time.c: Fix CP0 count register usage and timer routinesShinya Kuribayashi2008-06-051-6/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MIPS port has two problems in timer routines. One is now we assume CFG_HZ equals to CP0 counter frequency, but this is wrong. CFG_HZ has to be 1000 in the U-Boot system. The other is we don't have a proper time management counter like timestamp other ARCHs have. We need the 32-bit millisecond clock counter. This patch introduces timestamp and CYCLES_PER_JIFFY. timestamp is a 32-bit non-overflowing CFG_HZ counter, and CYCLES_PER_JIFFY is the number of calculated CP0 counter cycles in a CFG_HZ. STRATEGY: * Fix improper CFG_HZ value to have 1000 * Use CFG_MIPS_TIMER_FREQ for timer counter frequency, instead. * timer_init: initialize timestamp and set up the first timer expiration. Note that we don't need to initialize CP0 count/compare registers here as they have been already zeroed out on the system reset. Leave them as they are. * get_timer: calculate how many timestamps have been passed, then return base-relative timestamp. Make sure we can easily count missed timestamps regardless of CP0 count/compare value. * get_ticks: return the current timestamp, that is get_timer(0). Most parts are from good old Linux v2.6.16 kernel. v2: - Remove FIXME comments as they turned out to be trivial. - Use CP0 compare register as a global variable for expirelo. - Kill a global variable 'cycles_per_jiffy'. Use #define CYCLES_PER_JIFFY instead. Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
* [MIPS] lib_mips/time.c: Fix udelayShinya Kuribayashi2008-06-051-5/+4
| | | | | | | What we have to do is just to wait for given micro-seconds. No need to take into account current time, get_timer and CFG_HZ. Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
* [MIPS] lib_mips/time.c: Replace CP0 access functions with existing macrosShinya Kuribayashi2008-06-051-27/+8
| | | | | | | | We already have many pre-defined CP0 access macros in <asm/mipsregs.h>. This patch replaces mips_{compare,count}_set and mips_count_get with existing macros. Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
* mips: If CONFIG_CMD_SPI is defined, call spi_init()Jason McMullan2008-05-301-0/+7
| | | | | | | | | | The mips architecture currently does not call 'spi_init()' in the generic board initialization routine is CONFIG_CMD_SPI is defined. This patch rectifies that problem. Signed-off-by: Jason McMullan <mcmullan@netapp.com> Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
* [MIPS] lib_mips/board.c: Add nand_initJason McMullan2008-05-301-0/+6
| | | | | | | | This patch adds the standard 'nand_init()' call to the mips generic 'board_init_r()' call, bringing MIPS in line with the other architectures. Signed-off-by: Jason McMullan <mcmullan@netapp.com> Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
* Big white-space cleanup.Wolfgang Denk2008-05-211-1/+1
| | | | | | | | | | | This commit gets rid of a huge amount of silly white-space issues. Especially, all sequences of SPACEs followed by TAB characters get removed (unless they appear in print statements). Also remove all embedded "vim:" and "vi:" statements which hide indentation problems. Signed-off-by: Wolfgang Denk <wd@denx.de>
* Restore the ability to continue booting after legacy image overwriteMarian Balakowicz2008-04-171-1/+1
| | | | | | | | | | | Before new uImage code was merged, bootm code allowed for the kernel image to get overwritten during decompresion. new uImage introduced a check for image overwrites and refused to boot the image that got overwritten. This patch restores the old behavior. It also adds a warning when the image overwriten is a multi-image file, because in such case accessing componentes other than the first one will fail. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* [new uImage] Add new uImage format support to arch specific do_bootm_linux() ↵Marian Balakowicz2008-03-121-4/+15
| | | | | | | | | | | routines This patch updates architecture specific implementations of do_bootm_linux() adding new uImage format handling for operations like get kernel entry point address, get kernel image data start address. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* [new uImage] Remove unnecessary arguments passed to ramdisk routinesMarian Balakowicz2008-03-121-2/+5
| | | | | | | boot_get_ramdisk() and image_get_ramdisk() do not need all cmdtp, flag, argc and argv arguments. Simplify routines definition. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* [new uImage] Update naming convention for bootm/uImage related codeMarian Balakowicz2008-02-291-1/+1
| | | | | | | | | | | | | | | This patch introduces the following prefix convention for the image format handling and bootm related code: genimg_ - dual format shared code image_ - legacy uImage format specific code fit_ - new uImage format specific code boot_ - booting process related code Related routines are renamed and a few pieces of code are moved around and re-grouped. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* Merge branch 'master' of git://www.denx.de/git/u-boot into new-imageMarian Balakowicz2008-02-291-5/+11
|\
| * MIPS: Fix CFG_NO_FLASH supportJean-Christophe PLAGNIOL-VILLARD2008-02-221-5/+11
| | | | | | | | | | | | | | - Fix flash_init call when CFG_NO_FLASH is used - Remove no more needed flash.c for qemu-mips Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* | [new uImage] Respect autostart setting in linux bootmKumar Gala2008-02-291-0/+3
| | | | | | | | | | Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Acked-by: Marian Balakowicz <m8@semihalf.com>
* | [new uImage] Move image verify flag to bootm_headers structureMarian Balakowicz2008-02-271-2/+2
| | | | | | | | | | | | | | | | | | | | Do not pass image verification flag directly to related routines. Simplify argument passing and move it to the bootm_header structure which contains curently processed image specific data and is already being passed on the argument list. Signed-off-by: Marian Balakowicz <m8@semihalf.com> Acked-by: Kumar Gala <galak@kernel.crashing.org>
* | [Makefile] Sort COBJS in lib_<arch> MakefilesMarian Balakowicz2008-02-271-4/+6
| | | | | | | | Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* | [new uImage] Add dual format uImage support frameworkMarian Balakowicz2008-02-251-10/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds framework for dual format images. Format detection is added and the bootm controll flow is updated to include cases for new FIT format uImages. When the legacy (image_header based) format is detected appropriate legacy specific handling is invoked. For the new (FIT based) format uImages dual boot framework has a minial support, that will only print out a corresponding debug messages. Implementation of the FIT specific handling will be added in following patches. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* | [new uImage] Factor out common image_get_ramdisk() routineMarian Balakowicz2008-02-071-82/+2
| | | | | | | | | | | | | | | | Architecture specific do_bootm_linux() routines share common ramdisk image processing code. Move this code to a common helper routine. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* | [new uImage] Rename architecture specific bootm code filesMarian Balakowicz2008-02-072-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implementation of the do_bootm_linux() and other bootm helper routines is architecture specific code. As such it resides in lib_<arch> directories in files named <arch>_linux.c This patch renames those files to a more clear and accurate lib_<arch>/bootm.c form. List of the renamed files: lib_arm/armlinux.c -> lib_arm/bootm.c lib_avr32/avr32_linux.c -> lib_avr32/bootm.c lib_blackfin/bf533_linux.c -> lib_blackfin/bootm.c lib_i386/i386_linux.c -> lib_i386/bootm.c lib_m68k/m68k_linux.c -> lib_m68k/bootm.c lib_microblaze/microblaze_linux.c -> lib_microblaze/bootm.c lib_mips/mips_linux.c -> lib_mips/bootm.c lib_nios/nios_linux.c -> lib_nios/bootm.c lib_nios2/nios_linux.c -> lib_nios2/bootm.c lib_ppc/ppc_linux.c -> lib_ppc/bootm.c lib_sh/sh_linux.c -> lib_sh/bootm.c Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* | [new uImage] Cleanup image header pointer use in bootm codeMarian Balakowicz2008-02-071-43/+25
| | | | | | | | | | | | | | - use single image header pointer instead of a set of auxilliary variables. - add multi component image helper routines: get component size/data address Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* | [new uImage] Define a API for image handling operationsMarian Balakowicz2008-02-071-26/+15
|/ | | | | | | | | - Add inline helper macros for basic header processing - Move common non inline code common/image.c - Replace direct header access with the API routines - Rename IH_CPU_* to IH_ARCH_* Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* Fixed mips_io_port_base build errors.Jean-Christophe PLAGNIOL-VILLARD2007-11-171-0/+5
| | | | | | | | | | | | | | | | | | | | This patch has been sent on: - 29 Sep 2007 Although mips_io_port_base is currently a part of IDE command, it is quite fundamental for MIPS I/O port access such as in[bwl] and out[bwl]. So move it to MIPS general part, and introduce `set_io_port_base()' from Linux. This patch is triggered by multiple definition of `mips_io_port_base' build error on gth2 (and tb0229 also needs this fix.) board/gth2/libgth2.a(gth2.o): In function `log_serial_char': /home/skuribay/devel/u-boot.git/board/gth2/gth2.c:47: multiple definition of `mips_io_port_base' common/libcommon.a(cmd_ide.o):/home/skuribay/devel/u-boot.git/common/cmd_ide.c:712: first defined here make: *** [u-boot] Error 1 Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* Merge with /home/wd/git/u-boot/custodian/u-boot-testingWolfgang Denk2007-08-061-3/+3
|\
| * disk/ doc/ lib_*/ and tools/: Remove lingering references to CFG_CMD_* symbols.Jon Loeliger2007-07-101-1/+1
| | | | | | | | | | | | | | | | Fixed some broken instances of "#ifdef CMD_CFG_IDE" too. Those always evaluated TRUE, and thus were always compiled even when IDE really wasn't defined/wanted. Signed-off-by: Jon Loeliger <jdl@freescale.com>
| * lib_{m68k,microblaze,mips,ppc}/: Remove obsolete references to CONFIG_COMMANDSJon Loeliger2007-07-091-2/+2
| | | | | | | | Signed-off-by: Jon Loeliger <jdl@freescale.com>
| * lib_*/: Augment CONFIG_COMMANDS tests with defined(CONFIG_CMD_*).Jon Loeliger2007-07-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a compatibility step that allows both the older form and the new form to co-exist for a while until the older can be removed entirely. All transformations are of the form: Before: #if (CONFIG_COMMANDS & CFG_CMD_AUTOSCRIPT) After: #if (CONFIG_COMMANDS & CFG_CMD_AUTOSCRIPT) || defined(CONFIG_CMD_AUTOSCRIPT) Signed-off-by: Jon Loeliger <jdl@freescale.com>
* | make show_boot_progress () weak.Heiko Schocher2007-07-131-17/+10
|/ | | | Signed-off-by: Heiko Schocher <hs@denx.de>
* Move "ar" flags to config.mk to allow for silent "make -s"Wolfgang Denk2006-10-091-1/+1
| | | | Based on patch by Mike Frysinger, 20 Jun 2006
* Add support for a saving build objects in a separate directory.Marian Balakowicz2006-09-011-8/+9
| | | | | | | | | | | | | | | | | | | | | Modifications are based on the linux kernel approach and support two use cases: 1) Add O= to the make command line 'make O=/tmp/build all' 2) Set environement variable BUILD_DIR to point to the desired location 'export BUILD_DIR=/tmp/build' 'make' The second approach can also be used with a MAKEALL script 'export BUILD_DIR=/tmp/build' './MAKEALL' Command line 'O=' setting overrides BUILD_DIR environent variable. When none of the above methods is used the local build is performed and the object files are placed in the source directory.
* GCC-4.x fixes: clean up global data pointer initialization for all boards.Wolfgang Denk2006-03-311-2/+2
|
* Code cleanup, especially MIPS for GCC 4.xWolfgang Denk2005-12-042-3/+3
|
* Fix U-Boot compilation for MIPS boards using ELDK 4.0Wolfgang Denk2005-12-011-11/+7
|
* Add support for multiple PHYs.Marian Balakowicz2005-10-281-1/+3
|
* * Patches by Richard Woodruff, 10 Jun 2004:wdenk2004-07-011-0/+3
| | | | | | | - fix problems with examples/stubs.c for GCC >= 3.4 - fix problems with gd initialization * Enable FAT filesystem support for HMI10 board
* Fix CONFIG_ETH*ADDR for Ocotea board.wdenk2004-05-291-37/+23
| | | | | Sort Makefile. Update docs.
* * Patch by liang a lei, 9 Jan 2004:wdenk2004-02-071-0/+7
| | | | | | | | | | | Fix Intel 28F128J3 ID in include/flash.h * Patch by Masami Komiya, 09 Jan 2004: add support for TB0229 board (NEC VR4131 MIPS processor) * Patch by Leon Kukovec, 12 Dec 2003: changed extern __inline__ into static __inline__ in include/linux/byteorder/swab.h
* * Make CPU clock on ICA-IP board controllable by a "cpuclk"wdenk2003-12-271-0/+5
| | | | | | | | | | | | | | environment variable which can set to "100", "133", or "150". The CPU clock will be configured accordingly upon next reboot. Other values are ignored. In case of an invalid or undefined "cpuclk" value, the compile-time default CPU clock speed will be used. * Enable Quad-UART on BMS2003 board (initialize the PCMCIA memory window that is used to access the UART registers by the Linux driver) * Patch by Reinhard Meyer, 20 Dec 2003: Fix clock calculation for the MPC5200 for higher clock frequencies (above 2**32 / 10 = 429.5 MHz).
* * Patches by David Müller, 14 Nov 2003:wdenk2003-12-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - board/mpl/common/common_util.c * implement support for BZIP2 compressed images * various cleanups (printf -> puts, ...) - board/mpl/common/flash.c * report correct errors to upper layers * check the erase fail and VPP low bits in status reg - board/mpl/vcma9/cmd_vcma9.c - board/mpl/vcma9/flash.c * various cleanups (printf -> puts, ...) - common/cmd_usb.c * fix typo in comment - cpu/arm920t/usb_ohci.c * support for S3C2410 is missing in #if line - drivers/cs8900.c * reinit some registers in case of error (cable missing, ...) - fs/fat/fat.c * support for USB/MMC devices is missing in #if line - include/configs/MIP405.h - include/configs/PIP405.h * enable BZIP2 support * enlarge malloc space to 1MiB because of BZIP2 support - include/configs/VCMA9.h * enable BZIP2 support * enlarge malloc space to 1MiB because of BZIP2 support * enable USB support - lib_arm/armlinux.c * change calling convention of ARM Linux kernel as described on http://www.arm.linux.org.uk/developer/booting.php * Patch by Thomas Lange, 14 Nov 2003: Split dbau1x00 into dbau1000, dbau1100 and dbau1500 configs to support all these AMD boards. * Patch by Thomas Lange, 14 Nov 2003: Workaround for mips au1x00 physical memory accesses (the au1x00 uses a 36 bit bus internally and cannot access physical memory directly. Use the uncached SDRAM address instead of the physical one.)
* * Patch by Steven Scholz, 10 Oct 2003wdenk2003-10-091-182/+190
| | | | | | | | | | - Add support for Altera FPGA ACEX1K * Patches by Thomas Lange, 09 Oct 2003: - Endian swap ATA identity for all big endian CPUs, not just PPC - MIPS only: New option CONFIG_MEMSIZE_IN_BYTES for passing memsize args to linux - add support for dbau1x00 board (MIPS32)
* * Make Ethernet autonegotiation on INCA-IP work for all clock rates;wdenk2003-08-171-3/+1
| | | | | | | | | | | | | allow selection of clock frequency as "make" target * Implement memory autosizing code for IceCube boards * Configure network port on INCA-IP for autonegotiation * Fix overflow problem in network timeout code * Patch by Richard Woodruff, 8 Aug 2003: Allow crc32 to be used at address 0x000 (crc32_no_comp, too).
* * Implement new mechanism to export U-Boot's functions to standalonewdenk2003-07-241-5/+3
| | | | | | | | applications: instead of using (PPC-specific) system calls we now use a jump table; please see doc/README.standalone for details * Patch by Dave Westwood, 24 Jul 2003: added support for Unity OS (a proprietary OS)
* * Code cleanup:wdenk2003-06-274-24/+21
| | | | | | | | | - remove trailing white space, trailing empty lines, C++ comments, etc. - split cmd_boot.c (separate cmd_bdinfo.c and cmd_load.c) * Patches by Kenneth Johansson, 25 Jun 2003: - major rework of command structure (work done mostly by Michal Cendrowski and Joakim Kristiansen)
* * Get (mostly) rid of CFG_MONITOR_LEN definition; compute real lengthwdenk2003-05-301-4/+11
| | | | | | | | instead CFG_MONITOR_LEN is now only used to determine _at_compile_ _time_ (!) if the environment is embedded within the U-Boot image, or in a separate flash sector. * Cleanup CFG_DER #defines in config files (wd maintained only)
* * Patch by Arun Dharankar, 4 Apr 2003:wdenk2003-04-051-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add IDMA example code (tested on 8260 only) * Add support for Purple Board (MIPS64 5Kc) * Add support for MIPS64 5Kc CPUs * Fix missing setting of "loadaddr" and "bootfile" on ARM and MIPS * Patch by Denis Peter, 04 Apr 2003: - update MIP405-4 board * Patches by Denis Peter, 03 April 2003: - fix PCI IRQs on MPL boards - fix two more un-relocated pointer problems * Fix behaviour of "run" command: - print error message iv variable does not exist - terminate processing of arguments in case of error * Patches by Peter Figuli, 10 Mar 2003 - Add support for BTUART on PXA platform - Add support for WEP EP250 (PXA) board * Fix flash problems on INCA-IP; add tool to allow bruning images to flash using a BDI2000 * Implement fix for I2C Edge Conditions problem for all boards that use the bit-banging driver (common/soft_i2c.c) * Add patches by Robert Schwebel, 31 Mar 2003: - csb226 board: bring in sync with innokom/memsetup.S - csb226 board: fix MDREFR handling - misc doc fixes / extensions - innokom board: cleanup, MDREFR fix in memsetup.S, config update - add BOOT_PROGRESS to armlinux.c
* * Patch by Arun Dharankar, 24 Mar 2003:wdenk2003-03-311-0/+1
| | | | | | | | | | - add threads / scheduler example code * Add patches by Robert Schwebel, 31 Mar 2003: - add ctrl-c support for kermit download - align bdinfo output on ARM * Add CPU ID, version, and clock speed for INCA-IP
* * Add support for MIPS32 4Kc CPUswdenk2003-03-274-0/+826
* Add support for INCA-IP Board