summaryrefslogtreecommitdiff
path: root/lib_ppc
Commit message (Collapse)AuthorAgeLines
* [new uImage] Add proper ramdisk/FDT handling when FIT configuration is usedMarian Balakowicz2008-03-12-31/+73
| | | | | | | | Save FIT configuration provied in the first bootm argument and use it when to get ramdisk/FDT subimages when second and third (ramdisk/FDT) arguments are not specified. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* [new uImage] Add new uImage format support to arch specific do_bootm_linux() ↵Marian Balakowicz2008-03-12-2/+6
| | | | | | | | | | | 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] Add node offsets for FIT images listed in struct bootm_headersMarian Balakowicz2008-03-12-0/+1
| | | | | | | | This patch adds new node offset fields to struct bootm_headers and updates bootm_headers processing code to make use of them. Saved node offsets allow to avoid repeating fit_image_get_node() calls. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* [new uImage] ppc: Add new uImage format support to FDT handling routinesMarian Balakowicz2008-03-12-23/+151
| | | | | | | | Support for new (FIT) format uImages is added to powerpc specific boot_get_fdt() routine which now recognizes, sanity checks FIT image and is able to access data sections of the requested component image. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* [new uImage] Remove unnecessary arguments passed to ramdisk routinesMarian Balakowicz2008-03-12-3/+2
| | | | | | | 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] Fix FDT blob totalsize calculation in boot_relocate_fdt()Marian Balakowicz2008-02-29-1/+1
| | | | | | | Do not use global fdt blob pointer, calculate blob size from routine argument blob pointer. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* [new uImage] Update naming convention for bootm/uImage related codeMarian Balakowicz2008-02-29-12/+12
| | | | | | | | | | | | | | | 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-29-3/+11
|\
| * lwmon5: enable hardware watchdogYuri Tikhonov2008-02-22-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | Some boards (e.g. lwmon5) may use rather small watchdog intervals, so causing it to reboot the board if U-Boot does a long busy-wait with udelay(). Thus, for these boards we have to restart WD more frequently. This patch splits the busy-wait udelay() into smaller, predefined, intervals, so that the watchdog timer may be resetted with the configurable (CONFIG_WD_PERIOD) interval. Signed-off-by: Yuri Tikhonov <yur@emcraft.com>
| * ppc: Allow boards to specify effective amount of memoryKumar Gala2008-02-22-7/+15
| | | | | | | | | | | | | | | | For historical reasons we limited the stack to 256M because some boards could only map that much via BATS. However newer boards are capable of mapping more memory (for example 85xx is capable of doing up to 2G). Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | [new uImage] Respect autostart setting in linux bootmKumar Gala2008-02-29-1/+4
| | | | | | | | | | Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Acked-by: Marian Balakowicz <m8@semihalf.com>
* | [new uImage] Provide ability to restrict region used for boot imagesKumar Gala2008-02-29-2/+24
| | | | | | | | | | | | | | | | Allow the user to set 'bootm_low' and 'bootm_size' env vars as a way to restrict what memory range is used for bootm. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Acked-by: Marian Balakowicz <m8@semihalf.com>
* | [new uImage] Use lmb for bootm allocationsKumar Gala2008-02-29-25/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert generic ramdisk_high(), get_boot_cmdline(), get_boot_kbd() functions over to using lmb for allocation of the ramdisk, command line and kernel bd info. Convert PPC specific fdt_relocate() to use lmb for allocation of the device tree. Provided a weak function that board code can call to do additional lmb reserves if needed. Also introduce the concept of bootmap_base to specify the offset in physical memory that the bootmap is located at. This is used for allocations of the cmdline, kernel bd, and device tree as they should be contained within bootmap_base and bootmap_base + CFG_BOOTMAPSZ. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | [new uImage] ppc: Allow boards to specify effective amount of memoryKumar Gala2008-02-29-7/+15
| | | | | | | | | | | | | | | | | | For historical reasons we limited the stack to 256M because some boards could only map that much via BATS. However newer boards are capable of mapping more memory (for example 85xx is capable of doing up to 2G). Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Acked-by: Marian Balakowicz <m8@semihalf.com>
* | [new uImage] rework error handling so common functions don't resetKumar Gala2008-02-29-20/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | Changed image_get_ramdisk() to just return NULL on error and have get_ramdisk() propogate that error to the caller. It's left to the caller to call do_reset() if it wants to. Also moved calling do_reset() in get_fdt() and fdt_relocate() on ppc to a common location. In the future we will change get_fdt() and fdt_relocate() to return success/failure and not call do_reset() at all. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Acked-by: Marian Balakowicz <m8@semihalf.com>
* | [new uImage] ppc: Re-order ramdisk/fdt handling sequenceKumar Gala2008-02-29-4/+35
| | | | | | | | | | | | | | | | Doing the fdt before the ramdisk allows us to grow the fdt w/o concern however it does mean we have to go in and fixup the initrd info since we don't know where it will be. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | [new uImage] ppc: Determine if we are booting an OF styleKumar Gala2008-02-29-9/+13
| | | | | | | | | | | | | | | | If we are bootin OF style than we can skip setting up some things that are used for the old boot method. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Acked-by: Marian Balakowicz <m8@semihalf.com>
* | [new uImage] Don't pass kdb to ramdisk_high since we may not have oneKumar Gala2008-02-29-2/+1
| | | | | | | | | | | | | | | | | | We don't actually need the kdb param as we are just using it to get bd->bi_memsize which we can get from gd->bd->bi_memsize. Also, if we boot via OF we might not actually fill out a kdb. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Acked-by: Marian Balakowicz <m8@semihalf.com>
* | [new uImage] Correct raw FDT blob handlig when CONFIG_FIT is disabledMarian Balakowicz2008-02-27-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Dual format image code must properly handle all three FDT passing methods: - raw FDT blob passed - FDT blob embedded in the legacy uImage - FDT blob embedded in the new uImage This patch enables proper raw FDT handling when no FIT imaeg support is compiled in. This is a bit tricky as we must dected FIT format even when FIT uImage handling is not enabled as both FIT uImages and raw FDT blobs use tha same low level format (libfdt). Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* | [new uImage] POWERPC: Add image_get_fdt() routineMarian Balakowicz2008-02-27-32/+44
| | | | | | | | | | | | | | | | | | | | FDT blob may be passed either: (1) raw (2) or embedded in the legacy uImage (3) or embedded in the new uImage. For the (2) case embedding image must be verified before we get FDT from it. This patch factors out legacy image specific verification routine to the separate helper routine. Signed-off-by: Marian Balakowicz <m8@semihalf.com> Acked-by: Kumar Gala <galak@kernel.crashing.org>
* | [new uImage] Move image verify flag to bootm_headers structureMarian Balakowicz2008-02-27-5/+3
| | | | | | | | | | | | | | | | | | | | 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-27-8/+15
| | | | | | | | Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* | [new uImage] POWERPC: Split get_fdt() into get and relocate routinesMarian Balakowicz2008-02-27-18/+43
| | | | | | | | | | | | | | | | | | | | PPC specific FDT blob handling code is divided into two separate routines: get_fdt() - find and verify a FDT blob (either raw or image embedded) fdt_relocate() - move FDT blob to within BOOTMAP if needed Signed-off-by: Marian Balakowicz <m8@semihalf.com> Acked-by: Kumar Gala <galak@kernel.crashing.org>
* | [new uImage] Add dual format uImage support frameworkMarian Balakowicz2008-02-25-47/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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] Rename and move print_image_hdr() routineMarian Balakowicz2008-02-21-1/+1
| | | | | | | | Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* | [new uImage] Add gen_get_image() routineMarian Balakowicz2008-02-21-0/+5
| | | | | | | | | | | | | | | | | | This routine assures that image (whether legacy or FIT) is not in a special dataflash storage. If image address is a dataflash address image is moved to system RAM. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* | Merge branch 'master' of /home/git/u-bootMarian Balakowicz2008-02-21-1/+73
|\ \ | |/
| * ppc: Refactor cache routines, so there is only one common set.Rafal Jaworowski2008-02-14-1/+73
| | | | | | | | Signed-off-by: Rafal Jaworowski <raj@semihalf.com>
* | [new uImage] Cleanup FDT handling in PPC do_boot_linux()Marian Balakowicz2008-02-07-127/+158
| | | | | | | | | | | | | | | | Move FDT blob finding and relocation to a dedicated get_fdt() routine. It increases code readability and will make adding support for new uImage format easier. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* | [new uImage] Cleanup do_botm_linux() boot allocationsMarian Balakowicz2008-02-07-62/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch moves common pre-boot allocation steps shared between PPC and M68K to a helper routines: common: - get_boot_sp_limit() - get_boot_cmline() - get_boot_kbd() platform: - set_clocks_in_mhz() Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* | [new uImage] Move ramdisk loading to a common routineMarian Balakowicz2008-02-07-86/+26
| | | | | | | | | | | | | | | | | | Ramdisk loading code, including initrd_high variable handling, was duplicated for PPC and M68K platforms. This patch creates common helper routine that is being called from both platform do_bootm_linux() routines. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* | [new uImage] Factor out common image_get_ramdisk() routineMarian Balakowicz2008-02-07-85/+9
| | | | | | | | | | | | | | | | 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] Move FDT error printing to common fdt_error() routineMarian Balakowicz2008-02-07-26/+24
| | | | | | | | | | | | | | | | FDT error handling in PPC do_bootm_linux() shares the same message format. This patch moves error message printing to a helper fdt_error() routine. Signed-off-by: Marian Balakowicz <m8@semihalf.com> Acked-by: Gerald Van Baren <vanbaren@cideas.com>
* | [new uImage] Remove OF_FLAT_TREE support from PPC bootm codeMarian Balakowicz2008-02-07-59/+6
| | | | | | | | | | | | | | Support for OF_FLAT_TREE is to be obsoleted in the near future, remove related code from the bootm routines. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* | [new uImage] Rename architecture specific bootm code filesMarian Balakowicz2008-02-07-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] Return error on image move/uncompress overwritesMarian Balakowicz2008-02-07-2/+12
| | | | | | | | | | | | | | | | | | Check for overwrites during image move/uncompress, return with error when the original image gets corrupted. Report clear message to the user and prevent further troubles when pointer to the corrupted images is passed to do_bootm_linux routine. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* | [new uImage] Cleanup image header pointer use in bootm codeMarian Balakowicz2008-02-07-104/+73
| | | | | | | | | | | | | | - 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] Add memmove_wd() common routineMarian Balakowicz2008-02-07-18/+4
| | | | | | | | | | | | Move common, watchdog sensible memmove code to a helper memmmove_wd() routine. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* | [new uImage] Fix FDT header verification in PPC do_boot_linux() routineMarian Balakowicz2008-02-07-2/+2
| | | | | | | | Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* | [new uImage] Move CHUNKSZ definition to image.hMarian Balakowicz2008-02-07-2/+0
| | | | | | | | | | | | | | CHUNKSZ defined for PPC and M68K is set to the same value of 64K, move this definition to a common header. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* | [new uImage] Cleanup OF/FDT #if/#elif/#endif use in do_bootm_linux()Marian Balakowicz2008-02-07-9/+11
| | | | | | | | | | | | | | Make CONFIG_OF_LIBFDT and CONFIG_OF_FLAT_TREE use more readable in PPC variant of do_bootm_linux() routine. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* | [new uImage] Move PPC do_bootm_linux() to lib_ppc/ppc_linux.cMarian Balakowicz2008-02-07-1/+591
|/ | | | | | | PPC implementation of do_bootm_linux() routine is moved to a dedicated file lib_ppc/ppc_linux.c Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* Merge branch 'master' of git://www.denx.de/git/u-boot-mpc86xxWolfgang Denk2008-01-23-4/+5
|\
| * FSL: Fix common EEPROM_data structure definitionHaiying Wang2008-01-17-4/+5
| | | | | | | | | | | | | | | | - Fix EEPROM_data structure definition according to System EEPROM Data Format. - Read MAC addresses from EEPROM to ethXaddr before saving ethXaddr to bd->bi_ethaddr. Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
* | Add support for a Freescale non-CPM SPI controllerBen Warren2008-01-17-0/+16
|/ | | | | | | | | This patch adds support for the SPI controller found on Freescale PowerPC processors such as the MCP834x family. Additionally, a new config option, CONFIG_HARD_SPI, is added for general purpose SPI controller use. Signed-off-by: Ben Warren <biggerbadderben@gmail.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
* MPC512X: Cleanup bus clock names.Grzegorz Bernacki2008-01-12-1/+1
| | | | Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com>
* ads5121: Added support for FDT.Grzegorz Bernacki2008-01-12-0/+3
| | | | Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com>
* API for external applications.Rafal Jaworowski2008-01-09-0/+5
| | | | | | | | | | | | | | This is an API for external (standalone) applications running on top of U-Boot, and is meant to be more extensible and robust than the existing jumptable mechanism. It is similar to UNIX syscall approach. See api/README for more details. Included is the demo application using this new framework (api_examples). Please note this is still an experimental feature, and is turned off by default. Signed-off-by: Rafal Jaworowski <raj@semihalf.com>
* ppc4xx: Rework 4xx cache supportStefan Roese2007-10-31-1/+1
| | | | | | | New cache handling functions added and all existing functions moved from start.S into seperate cache.S. Signed-off-by: Stefan Roese <sr@denx.de>
* lib_ppc: make board_add_ram_info weakKim Phillips2007-08-18-5/+6
| | | | | | | | | | | | platforms wishing to display RAM diagnostics in addition to size, can do so, on one line, in their own board_add_ram_info() implementation. this consequently eliminates CONFIG_ADD_RAM_INFO. Thanks to Stefan for the hint. Signed-off-by: Kim Phillips <kim.phillips@freescale.com>