summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* fdt: refactor fdt resize codeKumar Gala2008-08-263-28/+44
| | | | | | | Move the fdt resizing code out of ppc specific boot code and into common fdt support code. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* bootm: refactor image detection and os load stepsKumar Gala2008-08-263-108/+136
| | | | | | | | | | | | | | Created a bootm_start() that handles the parsing and detection of all the images that will be used by the bootm command (OS, ramdisk, fdt). As part of this we now tract all the relevant image offsets in the bootm_headers_t struct. This will allow us to have all the needed state for future sub-commands and lets us reduce a bit of arch specific code on SPARC. Created a bootm_load_os() that deals with decompression and loading the OS image. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* bootm: move lmb into the bootm_headers_t structureKumar Gala2008-08-265-11/+10
| | | | | | | | To allow for persistent state between future bootm subcommands we need the lmb to exist in a global state. Moving it into the bootm_headers_t allows us to do that. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* bootm: Set working fdt address as part of the bootm flowKumar Gala2008-08-264-1/+24
| | | | | | | | Set the fdt working address so "fdt FOO" commands can be used as part of the bootm flow. Also set an the environment variable "fdtaddr" with the value. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* bootm: refactor fdt locating and relocation codeKumar Gala2008-08-264-484/+533
| | | | | | | Move the code that handles finding a device tree blob and relocating it (if needed) into common code so all arch's have access to it. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* bootm: refactor ramdisk locating codeKumar Gala2008-08-269-67/+60
| | | | | | | | Move determing if we have a ramdisk and where its located into the common code. Keep track of the ramdisk start and end in the bootm_headers_t image struct. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* bootm: refactor entry point codeKumar Gala2008-08-2612-182/+37
| | | | | | | 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>
* mpc7448hpc2: Fix PCI I/O space mapping.Randy Vinson2008-08-261-2/+2
| | | | | | | | | | PCI I/O space is currently mapped 1:1 at 0xFA000000. Linux requires PCI I/O space to start at 0 on the PCI bus. This patch maps PCI I/O space such that 0xFA000000 in the processor's address space maps to 0 on the PCI I/O bus. Signed-off-by Randy Vinson <rvinson@mvista.com> Acked-by: Roy Zang <tie-fei.zang@freescale.com>
* Merge branch 'master' of git://git.denx.de/u-boot-mpc83xxWolfgang Denk2008-08-2619-354/+273
|\
| * change mvBL-M7 default env and move to vendor subdirAndre Schwarz2008-08-2510-30/+38
| | | | | | | | | | | | | | fix mvBL-M7 config and move to matrix_vision subdir Signed-off-by: Andre Schwarz <andre.schwarz@matrix-vision.de> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
| * MPC83XX: Add miscellaneous registers and #defines to support MPC83xx family ↵Nick Spence2008-08-252-1/+10
| | | | | | | | | | | | | | | | | | | | devices This patch adds elements to the 83xx sysconf structure and #define values that are used by mpc83xx family devices. Signed-off-by: Nick Spence <nick.spence@freescale.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
| * MPC8349EMDS: Add PCI Agent (PCISLAVE) supportIra W. Snyder2008-08-253-1/+79
| | | | | | | | | | | | | | | | Add the ability for the MPC8349EMDS to run in PCI Agent mode, acting as a PCI card rather than a host computer. Signed-off-by: Ira W. Snyder <iws@ovro.caltech.edu> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
| * mpc83xx: add PCISLAVE support to 83XX_GENERIC_PCI setup codeIra W. Snyder2008-08-251-0/+26
| | | | | | | | | | | | | | | | | | This adds a helper function to unlock the PCI configuration bit, so that any extra PCI setup (such as outbound windows, etc.) can be done after using the 83XX_GENERIC_PCI code to set up the PCI bus. Signed-off-by: Ira W. Snyder <iws@ovro.caltech.edu> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
| * MPC8349EMDS: use 83XX_GENERIC_PCI setup codeIra W. Snyder2008-08-252-318/+63
| | | | | | | | | | | | | | | | Change the MPC8349EMDS board to use the generic PCI initialization code for the mpc83xx cpu. Signed-off-by: Ira W. Snyder <iws@ovro.caltech.edu> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
| * fix out of tree buildingKim Phillips2008-08-251-1/+1
| | | | | | | | Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
| * Merge branch 'next'Kim Phillips2008-08-253-9/+62
| |\
| | * 83xx: mpc8315erdb: fix silly thinko in fdt_tsec1_fixupAnton Vorontsov2008-07-161-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The thinko was quite silly indeed, I messed with !ptr. Normally this would trigger some fault, but in U-Boot NULL pointer is equal to phys 0, so the code was working still, just didn't actually test mpc8315erdb environment variable value. Heh. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
| | * 83xx: mpc8315erdb: add support for switching between ULPI/UTMI USB PHYsAnton Vorontsov2008-07-162-2/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Freescale ships MPC8315E-RDB boards either with TSEC1 and USB UTMI support, or without TSEC1 but with USB ULPI PHY support in addition. With this patch user can specify desired USB PHY. Also, it seems that we can't distinguish the two boards in software, so user have to set `mpc8315erdb' environment variable to either 'tsec1' (TSEC1 enabled) or `ulpi' (board with ULPI PHY, TSEC1 disabled), so that Linux will not probe for TSEC1. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
| | * fdt_support: fdt_fixup_dr_usb: add support for phy_type fixupsAnton Vorontsov2008-07-161-7/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently U-Boot can only fixup the usb dr_mode, but some boards (namely MPC8315E-RDB) can use two PHY types: ULPI (stand-alone OTG port) or UTMI (connected to the four-ports hub, usb host only). This patch implements support for passing Dual-Role USB controller's device tree property phy_type through the usb_phy_type environment variable. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Acked-by: Gerald Van Baren <vanbaren@cideas.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
* | | i.MX31: Specify maintainers for i.MX31-based boardsGuennadi Liakhovetski2008-08-261-0/+9
| | | | | | | | | | | | | | | Signed-off-by: Guennadi Liakhovetski <lg@denx.de> Signed-off-by: Wolfgang Denk <wd@denx.de>
* | | ADS5121: adjust image addresses in RAM and flashWolfgang Denk2008-08-261-7/+9
| | | | | | | | | | | | | | | | | | Use the same mapping in flash as used by Linux Signed-off-by: Wolfgang Denk <wd@denx.de>
* | | cmd_mem.c: Fix help message alignmentWolfgang Denk2008-08-261-15/+15
|/ / | | | | | | | | | | Bug was introced by "Big white-space cleanup" (53677ef1) Signed-off-by: Wolfgang Denk <wd@denx.de>
* | Minor coding style cleanup, updte CHANGELOGWolfgang Denk2008-08-254-14/+927
| | | | | | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* | Merge branch 'master' of git://git.denx.de/u-boot-armWolfgang Denk2008-08-255-10/+162
|\ \
| * | MX31: fix bit masks in function mx31_decode_pll()Jens Gehrlein2008-08-251-2/+2
| | | | | | | | | | | | | | | | | | Bits MPCTL[MFN] and MPCTL[MFD] were not fully covered. Signed-off-by: Jens Gehrlein <sew_s@tqs.de>
| * | Correct ARM Versatile Timer InitializationGururaja Hebbar K R2008-08-251-4/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - According to ARM Dual-Timer Module (SP804) TRM (ARM DDI0271), -- Timer Value Register @ TIMER Base + 4 is Read-only. -- Prescale Value (Bits 3-2 of TIMER Control register) can only be one of 00,01,10. 11 is undefined. -- CFG_HZ for Versatile board is set to #define CFG_HZ (1000000 / 256) So Prescale bits is set to indicate - 8 Stages of Prescale, Clock divided by 256 - The Timer Control Register has one Undefined/Shouldn't Use Bit So we should do read/modify/write Operation Signed-off-by: Gururaja Hebbar <gururajakr@sanyo.co.in>
| * | Add ARM AMBA PL031 RTC SupportGururaja Hebbar K R2008-08-252-0/+124
| | | | | | | | | | | | Signed-off-by: Gururaja Hebbar K R <gururajakr@sanyo.co.in>
| * | ARM DaVinci: Removed redundant NAND initialization code.Hugo Villeneuve2008-08-251-2/+1
| | | | | | | | | | | | | | | | | | ARM DaVinci: Removed redundant NAND initialization code. Signed-off-by: Hugo Villeneuve <hugo.villeneuve@lyrtech.com>
| * | ARM DaVinci: Fix compilation error with new MTD code.Hugo Villeneuve2008-08-251-2/+0
| | | | | | | | | | | | | | | | | | ARM DaVinci: Fix compilation error with new MTD code. Signed-off-by: Hugo Villeneuve <hugo.villeneuve@lyrtech.com>
* | | RTC: Fix Makefile problem with COBJS-$(CONFIG_RTC_DS1307 || CONFIG_RTC_DS1338)Stefan Roese2008-08-251-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | This "||" doesn't seem to work. Now using the idea suggest by Scott Wood to combine both config options into one line. This even allows defining both options and not generating the target object twice. Signed-off-by: Stefan Roese <sr@denx.de>
* | | Add note on dereferencing /aliases pointersGerald Van Baren2008-08-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace the "must quote special characters" note with a hint on how to dereference /aliases pointers by omitting the leading "/". This feature was introduced by Kumar Gala as a libfdt enhancement in commit ed035708235332c3c117ee3bb1a426063f03cfcb. Example: => fdt print /aliases aliases { ethernet0 = "/qe@e0100000/ucc@2000"; ethernet1 = "/qe@e0100000/ucc@3000"; serial0 = "/soc8360@e0000000/serial@4500"; serial1 = "/soc8360@e0000000/serial@4600"; pci0 = "/pci@e0008500"; }; => fdt print ethernet0 ucc@2000 { device_type = "network"; compatible = "ucc_geth"; cell-index = <0x1>; reg = <0x2000 0x200>; interrupts = <0x20>; interrupt-parent = <0x2>; local-mac-address = [00 00 00 00 00 00]; rx-clock-name = "none"; tx-clock-name = "clk9"; phy-handle = <0x3>; phy-connection-type = "rgmii-id"; pio-handle = <0x4>; }; Signed-off-by: Gerald Van Baren <vanbaren@cideas.com>
* | | libfdt: Add support for using aliases in fdt_path_offset()Kumar Gala2008-08-241-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the path doesn't start with '/' check to see if it matches some alias under "/aliases" and substitute the matching alias value in the path and retry the lookup. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Acked-by: David Gibson <david@gibson.dropbear.id.au> Acked-by: Gerald Van Baren <vanbaren@cideas.com>
* | | libfdt: Implement fdt_get_property_namelen() and fdt_getprop_namelen()David Gibson2008-08-242-7/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As well as fdt_subnode_offset(), libfdt includes an fdt_subnode_offset_namelen() function that takes the subnode name to look up not as a NUL-terminated string, but as a string with an explicit length. This can be useful when the caller has the name as part of a longer string, such as a full path. However, we don't have corresponding 'namelen' versions for fdt_get_property() and fdt_getprop(). There are less obvious use cases for these variants on property names, but there are circumstances where they can be useful e.g. looking up property names which need to be parsed from a longer string buffer such as user input or a configuration file, or looking up an alias in a path with IEEE1275 style aliases. So, since it's very easy to implement such variants, this patch does so. The original NUL-terminated variants are, of course, implemented in terms of the namelen versions. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
* | | libfdt: Forgot one function when cleaning the namespaceDavid Gibson2008-08-241-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit b6d80a20fc293f3b995c3ce1a6744a5574192125, we renamed all libfdt functions to be prefixed with fdt_ or _fdt_ to minimise the chance of collisions with things from whatever package libfdt is embedded in, pulled into the libfdt build via that environment's libfdt_env.h. Except... I missed one. This patch applies the same treatment to _stringlist_contains(). While we're at it, also make it static since it's only used in the same file. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
* | | libfdt: Improve documentation in libfdt.hWolfram Sang2008-08-241-14/+14
| | | | | | | | | | | | | | | | | | | | | Fix a few typos and mistakes. Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> Acked-by: David Gibson <david@gibson.dropbear.id.au>
* | | libfdt: Increase namespace-pollution paranoiaDavid Gibson2008-08-247-122/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libfdt is supposed to easy to embed in projects all and sundry. Often, it won't be practical to separate the embedded libfdt's namespace from that of the surrounding project. Which means there can be namespace conflicts between even libfdt's internal/static functions and functions or macros coming from the surrounding project's headers via libfdt_env.h. This patch, therefore, renames a bunch of libfdt internal functions and macros and makes a few other chances to reduce the chances of namespace collisions with embedding projects. Specifically: - Internal functions (even static ones) are now named _fdt_*() - The type and (static) global for the error table in fdt_strerror() gain an fdt_ prefix - The unused macro PALIGN is removed - The memeq and streq macros are removed and open-coded in the users (they were only used once each) - Other macros gain an FDT_ prefix - To save some of the bulk from the previous change, an FDT_TAGALIGN() macro is introduced, where FDT_TAGALIGN(x) == FDT_ALIGN(x, FDT_TAGSIZE) Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
* | | dtc: Enable and fix -Wcast-qual warningsDavid Gibson2008-08-244-10/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enabling -Wcast-qual warnings in dtc shows up a number of places where we are incorrectly discarding a const qualification. There are also some places where we are intentionally discarding the 'const', and we need an ugly cast through uintptr_t to suppress the warning. However, most of these are pretty well isolated with the *_w() functions. So in the interests of maximum safety with const qualifications, this patch enables the warnings and fixes the existing complaints. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Acked-by: Gerald Van Baren <vanbaren@cideas.com>
* | | dtc: Enable and fix -Wpointer-arith warningsDavid Gibson2008-08-247-30/+47
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | This patch turns on the -Wpointer-arith option in the dtc Makefile, and fixes the resulting warnings due to using (void *) in pointer arithmetic. While convenient, pointer arithmetic on void * is not portable, so it's better that we avoid it, particularly in libfdt. Also add necessary definition of uintptr_t needed by David Gibson's changeset "dtc: Enable and fix -Wpointer-arith warnings" (the definition comes from stdint.h, which u-boot doesn't have). -- gvb Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Gerald Van Baren <vanbaren@cideas.com>
* | Merge branch 'master' of git://git.denx.de/u-boot-ppc4xxWolfgang Denk2008-08-236-73/+120
|\ \
| * | ppc4xx: AMCC PPC460GT/EX PCI-E de-emphasis adjustment fixTirumala R Marri2008-08-221-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During recent PCI-E tests it has been found that current driverl level and de-emphasis values are not set correctly. After sweeping throgh all de-ephasis values, it was found that 0x130 is a right value. Where 0x13 is driver level and 0 is de-emphasis. Signed-off-by: Tirumala R Marri <tmarri@amcc.com> Signed-off-by: Stefan Roese <sr@denx.de>
| * | ppc4xx: Cleanup of "ppc4xx: Optimize PLB4 Arbiter..." patchStefan Roese2008-08-213-36/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes some minor issues introduced with the patch: ppc4xx: Optimize PLB4 Arbiter... from Prodyut Hazarika: - Rework memory-queue and PLB arbiter optimization code, that the local variable is not needed anymore. This removes one #ifdef. - Use consistant spacing in ppc4xx.h header (XXX + 0x01 instead of XXX+ 0x01). This was not introduced by Prodyut, just a copy-paste problem. Signed-off-by: Stefan Roese <sr@denx.de>
| * | ppc4xx: Optimize PLB4 Arbiter and Memory Queue settings for PPC440SP/SPe,Prodyut Hazarika2008-08-215-69/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PPC405EX and PPC460EX/GT/SX - Read pipeline depth set to 4 for PPC440SP/SPE, PPC405EX, PPC460EX/GT/SX processors - Moved PLB4 Arbiter register definitions to ppc4xx.h since it is shared across processors (405 and 440/460) - Optimize Memory Queue settings for PPC440SP/SPE and PPC460EX/GT/SX processors - Add register bit definitions for Memory Queue Configuration registers Signed-off-by: Prodyut Hazarika <phazarika@amcc.com> Signed-off-by: Stefan Roese <sr@denx.de>
* | | Make the YAFFS filesystem workRemy Bohmer2008-08-211-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recently the YAFFS filesystem support has been added to U-boot. However, just enabling CONFIG_YAFFS2 is not enough to get it working. ymount will generate an exception (when dereferencing mtd->readoob()), because the genericDevice is a null pointer. Further, a lot of logging is produced while using YAFFS fs, so logging should also be disabled. Both issues are solved by this patch. With this patch and CONFIG_YAFFS2 enabled, I get a readable filesystem in U-boot, as well as in Linux. Tested on a Atmel AT91SAM9261EK board. Signed-off-by: Remy Bohmer <linux@bohmer.net> Acked-by: William Juul <william.juul@tandberg.com> Signed-off-by: Scott Wood <scottwood@freescale.com>
* | | Fix OneNAND read_oob/write_oob functions compatabilityKyungmin Park2008-08-217-228/+772
| | | | | | | | | | | | | | | | | | | | | Also sync with kernel OneNAND codes Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Scott Wood <scottwood@freescale.com>
* | | NAND: Remove delay from nand_boot_fsl_elbc.c.Scott Wood2008-08-211-2/+0
|/ / | | | | | | | | | | It was for debugging purposes, and shouldn't have been left in. Signed-off-by: Scott Wood <scottwood@freescale.com>
* | fdt: rework fdt_fixup_ethernet() to use env instead of bd_tKumar Gala2008-08-2110-50/+36
| | | | | | | | | | | | | | | | | | | | Move to using the environment variables 'ethaddr', 'eth1addr', etc.. instead of bd->bi_enetaddr, bi_enet1addr, etc. This makes the code a bit more flexible to the number of ethernet interfaces. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | hush: Fix printf debug macro in hush.c so that it usable in U-BootStefan Roese2008-08-211-2/+6
| | | | | | | | | | | | | | | | This patch changes the debug_printf() marco for U-Boot in hush.c and moves the definition of DEBUG_SHELL to a place that is actually compiled under U-Boot. Signed-off-by: Stefan Roese <sr@denx.de>
* | cfi: rename CFG_FLASH_CFI_DRIVER to CONFIG_FLASH_CFI_DRIVERHeiko Schocher2008-08-211-27/+27
| | | | | | | | | | | | | | | | | | | | | | | | Commit 00b1883a4cac59d97cd297b1a3a398db85982865 missed a few boards: include/configs/M5253DEMO.h include/configs/ml507.h include/configs/redwood.h This patch fixes this. Signed-off-by: Heiko Schocher <hs@denx.de>
* | Consolidate strmhz() implementationHaavard Skinnemoen2008-08-217-57/+40
| | | | | | | | | | | | | | | | | | | | ARM, i386, m68k and ppc all have identical implementations of strmhz(). Other architectures don't provide this function at all. This patch moves strmhz() into lib_generic, reducing code duplication and providing a more unified API across architectures. Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
* | fix mvbc_p board build warningsAndre Schwarz2008-08-211-6/+6
| | | | | | | | | | | | | | fix build warnings @ mvBC-P board by using correct types, i.e. change out_be32 to out_be16 and out_8 accordingly. Signed-off-by: Andre Schwarz <andre.schwarz@matrix-vision.de>
OpenPOWER on IntegriCloud