summaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAgeLines
* ppc: Add CFG_MEM_TOP_HIDE option to hide memory area that doesn't get "touched"Stefan Roese2008-03-27-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If CFG_MEM_TOP_HIDE is defined in the board config header, this specified memory area will get subtracted from the top (end) of ram and won't get "touched" at all by U-Boot. By fixing up gd->ram_size the Linux kernel should gets passed the now "corrected" memory size and won't touch it either. This should work for arch/ppc and arch/powerpc. Only Linux board ports in arch/powerpc with bootwrapper support, which recalculate the memory size from the SDRAM controller setup, will have to get fixed in Linux additionally. This patch enables this config option on some PPC440EPx boards as a workaround for the CHIP 11 errata. Here the description from the AMCC documentation: CHIP_11: End of memory range area restricted access. Category: 3 Overview: The 440EPx DDR controller does not acknowledge any transaction which is determined to be crossing over the end-of-memory-range boundary, even if the starting address is within valid memory space. Any such transaction from any PLB4 master will result in a PLB time-out on PLB4 bus. Impact: In case of such misaligned bursts, PLB4 masters will not retrieve any data at all, just the available data up to the end of memory, especially the 440 CPU. For example, if a CPU instruction required an operand located in memory within the last 7 words of memory, the DCU master would burst read 8 words to update the data cache and cross over the end-of-memory-range boundary. Such a DCU read would not be answered by the DDR controller, resulting in a PLB4 time-out and ultimately in a Machine Check interrupt. The data would be inaccessible to the CPU. Workaround: Forbid any application to access the last 256 bytes of DDR memory. For example, make your operating system believe that the last 256 bytes of DDR memory are absent. AMCC has a patch that does this, available for Linux. This patch sets CFG_MEM_TOP_HIDE for the following 440EPx boards: lwmon5, korat, sequoia The other remaining 440EPx board were intentionally not included since it is not clear to me, if they use the end of ram for some other purpose. This is unclear, since these boards have CONFIG_PRAM defined and even comments like this: PMC440.h: /* esd expects pram at end of physical memory. * So no logbuffer at the moment. */ It is strongly recommended to not use the last 256 bytes on those boards too. Patches from the board maintainers are welcome. Signed-off-by: Stefan Roese <sr@denx.de>
* ppc4xx: Add AMCC Glacier 406GT eval board supportStefan Roese2008-03-27-11/+122
| | | | | | | | | | | | | | This patch adds support for the AMCC Glacier 460GT eval board. The main difference to the Canyonlands board are listed here: - 4 ethernet ports instead of 2 - no SATA port - no USB port Currently EMAC2+3 are not working. This will be fixed in a later release. Signed-off-by: Stefan Roese <sr@denx.de>
* Merge branch 'master' of git://www.denx.de/git/u-boot-mpc85xxWolfgang Denk2008-03-27-18/+119
|\
| * 85xx: Update multicore boot mechanism to ePAPR v0.81 specKumar Gala2008-03-26-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The following changes are needed to be inline with ePAPR v0.81: * r4, r5 and now always set to 0 on boot release * r7 is used to pass the size of the initial map area (IMA) * EPAPR_MAGIC value changed for book-e processors * changes in the spin table layout * spin table supports a 64-bit physical release address Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * FSL: Clean up board/freescale/common/MakefileJon Loeliger2008-03-26-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each file that can be built here now follows some CONFIG_ option so that they are appropriately built or not, as needed. And CONFIG_ defines were added to various board config files to make sure that happens. The other board/freescale/*/Makefiles no longer need to reach up and over into ../common to build their individually needed files any more. Boards that are CDS specific were renamed with cds_ prefix. Signed-off-by: Jon Loeliger <jdl@freescale.com>
| * 85xx: Expand CCSR space with more DDR controller registers.James Yang2008-03-26-4/+21
| | | | | | | | | | | | Signed-off-by: James Yang <James.Yang@freescale.com> Signed-off-by: Jon Loeliger <jdl@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * 85xx: Speed up get_ddr_freq() and get_bus_freq()James Yang2008-03-26-2/+0
| | | | | | | | | | | | | | | | | | | | get_ddr_freq() and get_bus_freq() used get_sys_info() each time they were called. However, get_sys_info() recalculates extraneous information when called each time. Have get_ddr_freq() and get_bus_freq() return memoized values from global_data instead. Signed-off-by: James Yang <James.Yang@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * Update SVR numbers to expand supportAndy Fleming2008-03-26-12/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | FSL has taken to using SVR[16:23] as an SOC sub-version field. This is used to distinguish certain variants within an SOC family. To account for this, we add the SVR_SOC_VER() macro, and update the SVR_* constants to reflect the larger value. We also add SVR numbers for all of the current variants. Finally, to make things neater, rather than use an enormous switch statement to print out the CPU type, we create and array of SVR/name pairs (using a macro), and print out the CPU name that matches the SVR SOC version. Signed-off-by: Andy Fleming <afleming@freescale.com>
| * Add the Freescale PCI device IDsAndy Fleming2008-03-26-0/+23
| | | | | | | | Signed-off-by: Andy Fleming <afleming@freescale.com>
| * 85xx: Added support for multicore boot mechanismKumar Gala2008-03-26-0/+11
| | | | | | | | | | | | | | | | | | Added the cpu command that provides a generic mechanism to get status, reset, and release secondary cores in multicore processors. Added support for using the ePAPR defined spin-table mechanism on 85xx. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * 85xx: Add the concept of CFG_CCSRBAR_PHYSKumar Gala2008-03-26-0/+17
| | | | | | | | | | | | | | | | | | When we go to 36-bit physical addresses we need to keep the concept of the physical CCSRBAR address seperate from the virtual one. For the majority of boards CFG_CCSBAR_PHYS == CFG_CCSRBAR Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | Fix compilation error in cmd_usb.cAnatolij Gustschin2008-03-27-1/+1
| | | | | | | | | | | | | | | | This patch fixes compilation error cmd_usb.c: In function 'do_usb': cmd_usb.c:552: error: void value not ignored as it ought to be Signed-off-by: Anatolij Gustschin <agust@denx.de>
* | Coding style cleanup, update CHANGELOGWolfgang Denk2008-03-27-11/+11
| | | | | | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* | ata: add the fis struct for SATADave Liu2008-03-26-0/+156
| | | | | | | | Signed-off-by: Dave Liu <daveliu@freescale.com>
* | ata: add the libata supportDave Liu2008-03-26-0/+205
| | | | | | | | | | | | add simple libata support in u-boot Signed-off-by: Dave Liu <daveliu@freescale.com>
* | ata: make the ata_piix driver using new SATA frameworkDave Liu2008-03-26-24/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | original ata_piix driver is using IDE framework, not real SATA framework. For now, the ata_piix driver is only used by x86 sc520_cdp board. This patch makes the ata_piix driver use the new SATA framework, so - remove the duplicated command stuff - remove the CONFIG_CMD_IDE define in the sc520_cdp.h - add the CONFIG_CMD_SATA define to sc520_cdp.h Signed-off-by: Dave Liu <daveliu@freescale.com>
* | ata: add the support for SATA frameworkDave Liu2008-03-26-0/+9
| | | | | | | | | | | | | | - add the SATA framework - add the SATA command line Signed-off-by: Dave Liu <daveliu@freescale.com>
* | ata: merge the header of ata_piix driverDave Liu2008-03-26-92/+0
| | | | | | | | | | | | move the sata.h from include/ to drivers/block/ata_piix.h Signed-off-by: Dave Liu <daveliu@freescale.com>
* | ata: merge the ata_piix driverDave Liu2008-03-26-17/+0
|/ | | | | | | | move the cmd_sata.c from common/ to drivers/ata_piix.c, the cmd_sata.c have some part of ata_piix controller drivers. consolidate the driver to have better framework. Signed-off-by: Dave Liu <daveliu@freescale.com>
* Cleanup coding style, update CHANGELOGWolfgang Denk2008-03-26-1/+0
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* Merge branch 'new-image' of git://www.denx.de/git/u-boot-testingBartlomiej Sieka2008-03-26-26/+546
|\ | | | | | | | | | | | | | | | | Conflicts: common/cmd_bootm.c cpu/mpc8xx/cpu.c Signed-off-by: Bartlomiej Sieka <tur@semihalf.com>
| * [new uImage] Enable new uImage support for the pcs440ep board.Bartlomiej Sieka2008-03-20-0/+6
| | | | | | | | Signed-off-by: Bartlomiej Sieka <tur@semihalf.com>
| * [new uImage] Do not compile new uImage format support by defaultBartlomiej Sieka2008-03-20-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Disable default building of new uImage format support in preparation for merge with the master. Support for new format can be enabled on a per-board basis, by defining the following in the board's config file: #define CONFIG_FIT 1 #define CONFIG_OF_LIBFDT 1 This can be optionally defined to give more verbose output: #define CONFIG_FIT_VERBOSE 1 /* enable fit_format_{error,warning}() */ Signed-off-by: Bartlomiej Sieka <tur@semihalf.com>
| * Add MD5 support to the new uImage formatBartlomiej Sieka2008-03-14-0/+1
| | | | | | | | Signed-off-by: Bartlomiej Sieka <tur@semihalf.com>
| * Add the MD5 algorithmBartlomiej Sieka2008-03-14-0/+23
| | | | | | | | | | | | | | MD5 supoprt is turned on by defining CONFIG_MD5, the digest can be then calculated using the md5() function -- see include/md5.h for details. Signed-off-by: Bartlomiej Sieka <tur@semihalf.com>
| * Merge branch 'master' of git://www.denx.de/git/u-boot into new-imageMarian Balakowicz2008-03-12-261/+527
| |\
| * | [new uImage] Fix definition of common bootm_headers_t fieldsMarian Balakowicz2008-03-12-1/+2
| | | | | | | | | | | | | | | | | | | | | verify, autostart and lmb fields are used regardless of CONFIG_FIT setting, move their definitions to common section. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
| * | [new uImage] Add proper ramdisk/FDT handling when FIT configuration is usedMarian Balakowicz2008-03-12-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | 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 autoscript routineMarian Balakowicz2008-03-12-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | autoscript() routine is updated to accept second argument, which is only used for FIT images and provides a FIT subimage unit name. autoscript() routine callers must now pass two arguments. For non-interactive use (like in cmd_load.c, cmd_net.c), new environment variable 'autoscript_uname' is introduced and used as a FIT subimage unit name source. autoscript command accepts extended syntax of the addr argument: addr:<subimg_uname> Signed-off-by: Marian Balakowicz <m8@semihalf.com>
| * | [new uImage] Add node offsets for FIT images listed in struct bootm_headersMarian Balakowicz2008-03-12-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | 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] 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] Add support for new uImage format to mkimage toolBartlomiej Sieka2008-03-11-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support for the new uImage format (FIT) is added to mkimage tool. Commandline syntax is appropriately extended: mkimage [-D dtc_options] -f fit-image.its fit-image mkimage (together with dtc) takes fit-image.its and referenced therein binaries (like vmlinux.bin.gz) as inputs, and produces fit-image file -- the final image that can be transferred to the target (e.g., via tftp) and then booted using the bootm command in U-Boot. Signed-off-by: Bartlomiej Sieka <tur@semihalf.com>
| * | [new uImage] Make node unit names const in struct bootm_headersMarian Balakowicz2008-03-10-3/+3
| | | | | | | | | | | | Signed-off-by: Marian Balakowicz <m8@semihalf.com>
| * | [new uImage] New uImage low-level APIMarian Balakowicz2008-03-10-2/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add FDT-based functions for handling new format component images, configurations, node operations, property get/set, etc. fit_ - routines handling global new format uImage operations like get/set top level property, process all nodes, etc. fit_image_ - routines handling component images subnodes fit_conf_ - routines handling configurations node Signed-off-by: Bartlomiej Sieka <tur@semihalf.com> Signed-off-by: Marian Balakowicz <m8@semihalf.com>
| * | libfdt: Add and use a node iteration helper function.David Gibson2008-02-29-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds an fdt_next_node() function which can be used to iterate through nodes of the tree while keeping track of depth. This function is used to simplify the iteration code in a lot of other functions, and is also exported for use by library users. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
| * | [new uImage] Add libfdt support to mkimageBartlomiej Sieka2008-02-29-0/+4
| | | | | | | | | | | | Signed-off-by: Bartlomiej Sieka <tur@semihalf.com>
| * | [new uImage] Share common uImage code between mkimage and U-bootMarian Balakowicz2008-02-29-8/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the following common routines: 1) Dedicated mkimage print_header() is replaced with common image_print_contents() image_print_contents_noindent() 2) Common os/arch/type/comp fields name <--> id translation routines genimg_get_os_name() genimg_get_arch_name() genimg_get_type_name() genimg_get_comp_name() genimg_get_os_id() genimg_get_arch_id() genimg_get_type_id() genimg_get_comp_id() Signed-off-by: Marian Balakowicz <m8@semihalf.com>
| * | [new uImage] Update naming convention for bootm/uImage related codeMarian Balakowicz2008-02-29-33/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-41/+113
| |\ \
| * | | [new uImage] Provide ability to restrict region used for boot imagesKumar Gala2008-02-29-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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] Add autostart flag to bootm_headers structureKumar Gala2008-02-29-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The autostart env variable was dropped as part of the initial new uImage cleanup. Add it back here so the arch specific code can decide if it wants to really boot or not. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Acked-by: Marian Balakowicz <m8@semihalf.com>
| * | | [new uImage] Introduce lmb from linux kernel for memory mgmt of boot imagesKumar Gala2008-02-29-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce the LMB lib used on PPC in the kernel as a clean way to manage the memory spaces used by various boot images and structures. This code will allow us to simplify the code in bootm and its support functions. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * | | [new uImage] rework error handling so common functions don't resetKumar Gala2008-02-29-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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] Don't pass kdb to ramdisk_high since we may not have oneKumar Gala2008-02-29-1/+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-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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] Move image verify flag to bootm_headers structureMarian Balakowicz2008-02-27-5/+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>
| * | | [new uImage] Add dual format uImage support frameworkMarian Balakowicz2008-02-25-4/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-3/+1
| | | | | | | | | | | | | | | | Signed-off-by: Marian Balakowicz <m8@semihalf.com>
| * | | [new uImage] Add fit_parse_conf() and fit_parse_subimage() routinesMarian Balakowicz2008-02-21-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introducing routines for parsing new uImage format bootm arguments: [<addr>]#<conf> - configuration specification [<addr>]:<subimg> - subimage specification New format images can contain multiple subimages of the same type. For example a single new format image file can contain three kernels, two ramdisks and a couple of FDT blobs. Subimage and configuration specifications are extensions to bootm (and other image-related commands) arguments' syntax that allow to specify which particular subimage should be operated on. Subimage specification is used to denote a particular subimage. Configurations are a bit more complex -- they are used to define a particualr booting setup, for example a (kernel, fdt blob) pair, or a (kernel, ramdisk, fdt blob) tuple, etc. Signed-off-by: Marian Balakowicz <m8@semihalf.com>