summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-05-06x86: Move GDT to a safe location in RAMGraeme Russ
Currently, the GDT is either located in FLASH or in the non-relocated U-Boot image in RAM. Both of these locations are unsafe as those locations can be erased during a U-Boot update. Move the GDT into the highest available memory location and relocate U-Boot to just below it Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
2010-05-06x86: Add RAM bootstrap functionalityGraeme Russ
Add a parameter to the 32-bit entry to indicate if entry is from Real Mode or not. If entry is from Real Mode, execute the destructive 'sizer' routine to determine memory size as we are booting cold and running in Flash. If not entering from Real Mode, we are executing a U-Boot image from RAM and therefore the memory size is already known (and running 'sizer' will destroy the running image) There are now two 32-bit entry points. The first is the 'in RAM' entry point which exists at the start of the U-Boot binary image. As such, you can load u-boot.bin in RAM and jump directly to the load address without needing to calculate any offsets. The second entry point is used by the real-to-protected mode switch This patch also changes TEXT_BASE to 0x6000000 (in RAM). You can load the resulting image at 0x6000000 and simple go 0x6000000 from the u-boot prompt Hopefully a later patch will completely elliminate any dependency on TEXT_BASE like a relocatable linux kernel (perfect world) Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
2010-05-06x86: Split sc520 memory sizing versus reportingGraeme Russ
This patch allows the low-level assembler boot-strap to obtain the RAM size without calling the destructive 'sizer' routine. This allows boot-strapping from a U-Boot image loaded in RAM Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
2010-05-06x86: Fix sc520 memory size reportingGraeme Russ
There is an error in how the assembler version of the sc520 memory size reporting code works. As a result, it will only ever report at most the size of one bank of RAM Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
2010-05-06x86: Fix do_go_exec()Graeme Russ
This was broken a long time ago by a49864593e083a5d0779fb9ca98e5a0f2053183d which munged the NIOS and x86 do_go_exec() Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
2010-05-06x86: Add register dump to crash handlersGraeme Russ
Shamelessly steal the Linux x86 crash handling code and shove it into U-Boot (cool - it fits). Be sure to include suitable attribution to Linus Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
2010-05-06x86: Fix MMCR AccessGraeme Russ
Change sc520 MMCR Access to use memory accessor functions Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
2010-05-06x86: #ifdef out getenv_IPaddr()Graeme Russ
Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
2010-05-06x86: Add unaligned.hGraeme Russ
Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
2010-05-06POST: Added ECC memory test for mpc83xx.Michael Zaidman
Signed-off-by: Michael Zaidman <michael.zaidman@gmail.com> Fixed minor coding style issue. Signed-off-by: Wolfgang Denk <wd@denx.de>
2010-05-05cmd_onenand.c: moved to standard subcommand handlingFrans Meulenbroeks
On the fly also fixed the following things: - write help talked about a parameter oob, but that one was not used, so removed it from the help message. - the test command also allowed a force subcommand but didn't use it. eliminated the code. - do_onenand made static - do_onenand contained int blocksize; ... mtd = &onenand_mtd; this = mtd->priv; blocksize = (1 << this->erase_shift); As blocksize was not used the last two statements were unneeded so removed them. The first statement (mtd = ....) assigns to a global. Not sure if it is needed, and since I could not test this, left the line for now Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
2010-05-05ppc: unused memory region too close to current stack pointerNorbert van Bolhuis
This avoids a possible overwrite of the (end of) ramdisk by u-boot. The unused memory region for ppc boot currently starts 1k below the do_bootm->bootm_start->arch_lmb_reserve stack ptr. This isn't enough since do_bootm->do_bootm_linux->boot_relocate_fdt calls printf which may very well use more than 1k stack space. Signed-off-by: Norbert van Bolhuis <nvbolhuis@aimvalley.nl>
2010-05-05allow print_size to print large numbers on 32-bit systemsTimur Tabi
Modify print_size() so that it can accept numbers larger than 4GB on 32-bit systems. Add support for display terabyte, petabyte, and exabyte sizes. Change the output to use International Electrotechnical Commission binary prefix standard. Signed-off-by: Timur Tabi <timur@freescale.com>
2010-05-05fix print_size printing fractional gigabyte numbers on 32-bit platformsTimur Tabi
In print_size(), the math that calculates the fractional remainder of a number used the same integer size as a physical address. However, the "10 *" factor of the algorithm means that a large number (e.g. 1.5GB) can overflow the integer if we're running on a 32-bit system. Therefore, we need to disassociate this function from the size of a physical address. Signed-off-by: Timur Tabi <timur@freescale.com>
2010-05-04configs: remove unused CONFIG_COMMAND_HISTORYKim Phillips
$ git grep CONFIG_COMMAND_HISTORY CHANGELOG: CONFIG_COMMAND_HISTORY include/configs/AP1000.h:#define CONFIG_COMMAND_HISTORY 1 include/configs/keymile-common.h:#define CONFIG_COMMAND_HISTORY 1 include/configs/manroland/common.h:#define CONFIG_COMMAND_HISTORY 1 $ Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Acked-by: Heiko Schocher <hs@denx.de>
2010-05-04mvsmr: fix link errorAnatolij Gustschin
MVSMR board support doesn't link since recent rework of U-Boot directory structure. Fix it now. Signed-off-by: Anatolij Gustschin <agust@denx.de> Cc: Andre Schwarz <andre.schwarz@matrix-vision.de> Acked-by: Andre Schwarz <andre.schwarz@matrix-vision.de> Fixed merge conflict Signed-off-by: Wolfgang Denk <wd@denx.de>
2010-05-04Merge branch 'master' of git://git.denx.de/u-boot-netWolfgang Denk
2010-05-04Merge branch 'master' of git://git.denx.de/u-boot-armWolfgang Denk
2010-05-03Blackfin: bfin_mac: hook up new write_hwaddr functionMike Frysinger
Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-05-03net: ethoc: add write_hwaddr supportThomas Chou
Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-05-03net: altera_tse: add write_hwaddr supportThomas Chou
Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-05-03net: fec_mxc: add write_hwaddr supportHeiko Schocher
tested on the magnesium board. Signed-off-by: Heiko Schocher <hs@denx.de> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-05-03net:kirkwood_egiga.c: MAC addresses programming using write_hwaddrPrafulla Wadaskar
Added a new function kwgbe_write_hwaddr for programming egiga controller's hardware address. This function will be called for each egiga port being used Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-05-03Program net device MAC addresses after initializingBen Warren
Add a new function to the eth_device struct for programming a network controller's hardware address. After all network devices have been initialized and the proper MAC address for each has been determined, make a device driver call to program the address into the device. Only device instances with valid unicast addresses will be programmed. Signed-off-by: Ben Warren <biggerbadderben@gmail.com> Acked-by: Detlev Zundel <dzu@denx.de> Tested-by: Prafulla Wadaskar <prafulla@marvell.com> Tested-by: Heiko Schocher <hs@denx.de> Tested-by: Thomas Chou <thomas@wytron.com.tw>
2010-05-03net: add altera triple speeds ethernet mac driverThomas Chou
This driver supports the Altera triple speeds 10/100/1000 ethernet mac. Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-05-03net: add opencore 10/100 ethernet mac driverThomas Chou
This patch ports the opencore 10/100 ethernet mac driver ethoc.c from linux kernel to u-boot. Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-05-03smc911x driver frame alignment patchValentin Yakovenkov
SMSC911x chips have alignment function to allow frame payload data (which comes after 14-bytes ethernet header) to be aligned at some boundary when reading it from fifo (usually - 4 bytes boundary). This is done by inserting fake zeros bytes BEFORE actual frame data when reading from SMSC's fifo. This function controlled by RX_CFG register. There are bits that represents amount of fake bytes to be inserted. Linux uses alignment of 4 bytes. Ethernet frame header is 14 bytes long, so we need to add 2 fake bytes to get payload data aligned at 4-bytes boundary. Linux driver does this by adding IP_ALIGNMENT constant (defined at skb.h) when calculating fifo data length. All network subsystem of Linux uses this constant too when calculating different offsets. But u-boot does not use any packet data alignment, so we don't need to add anything when calculating fifo data length. Moreover, driver zeros the RX_CFG register just one line up, so chip does not insert any fake data at the beginig. So calculated data length is always bigger by 1 word. It seems that at almost every packet read we get an underflow condition at fifo and possible corruption of data. Especially at continuous transfers, such as tftp. Just after removing this magic addition, I've got tftp transfer speed as it aught to be at 100Mbps. It was really slow before. It seems that fifo underflow occurs only when using byte packing on 32-bit blackfin bus (may be because of very small delay between reads). Signed-off-by: Valentin Yakovenkov <yakovenkov@niistt.ru> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-05-03net: Kirkwood_egiga.c bugfixes for rx pathPrafulla Wadaskar
Cosmetic changes: Few comments updated Functionality: Rx packet frame size is programming should be done when port is in disabled state. this is corrected Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-05-03fec_mxc.c: Fix MX27 FEC MAC validity checkEric Jarrige
Fix MX27 FEC logic to check validity of the MAC address in fuse. Only null (empty fuse) or invalid MAC address was retrieved from mx27 fuses before this change. Signed-off-by: Eric Jarrige <jorasse@armadeus.org> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-05-03tsec: Wait for both RX and TX to stopAndy Fleming
When gracefully stopping the controller, the driver was continuing if *either* RX or TX had stopped. We need to wait for both, or the controller could get into an invalid state. Signed-off-by: Andy Fleming <afleming@freescale.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-05-03net: dm9000x: use standard I/O accessorsMike Frysinger
The current dm9000x driver accesses its memory mapped registers directly instead of using the standard I/O accessors. This can cause problems on Blackfin systems as the accesses can get out of order. So convert the direct volatile dereferences to use the normal in/out macros. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-05-03mpc512x_fec: Move PHY initialization from probe into init routine.Detlev Zundel
This saves the autonegotation delay when not using ethernet in U-Boot Signed-off-by: Detlev Zundel <dzu@denx.de> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-05-03fec_mxc don't use internal eeprom on MX25John Rigby
Avoid using the internal eeprom on MX25 like MX51 already does. Signed-off-by: John Rigby <jcrigby@gmail.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-05-03fix lockup in mcfmii/mii_discover_phy() in case communication failsWolfgang Wegner
Signed-off-by: Wolfgang Wegner <w.wegner@astro-kom.de> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-05-0383xx: UEC: Added support for bitBang MII driver access to PHYsRichard Retanubun
This patch enabled support for having PHYs on bitBang MII and uec MII operating at the same time. Modeled after the MPC8360ADS implementation. Added the ability to specify which ethernet interfaces have bitbang SMI on the board header file. Signed-off-by: Richard Retanubun <RichardRetanubun@RuggedCom.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-05-03./net/net.c - make Microsoft dns servers happy with random_port() numbersRobin Getz
For some reason, (which I can't find any documentation on), if U-Boot gives a port number higher than 17500 to a Microsoft DNS server, the server will reply to port 17500, and U-Boot will ignore things (since that isn't the port it asked the DNS server to reply to). This fixes that by ensuring the random port number is less than 17500. Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-05-03Remove unused "local_crc32" function.Detlev Zundel
For code archeologists, this is a nice example of copy and paste history. Signed-off-by: Detlev Zundel <dzu@denx.de> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-05-03net: Trivial coding style issue with empty for statementDetlev Zundel
Signed-off-by: Detlev Zundel <dzu@denx.de> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-05-03net: Kirkwood_egiga.c: fixed build warningsPrafulla Wadaskar
This patch fixes following build warnings for kirkwood_egiga.c kirkwood_egiga.c: In function "kwgbe_init": kirkwood_egiga.c:448: warning: dereferencing type-punned pointer will break strict-aliasing rules kirkwood_egiga.c: In function "kwgbe_recv": kirkwood_egiga.c:609: warning: dereferencing type-punned pointer will break strict-aliasing rules Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-05-01Merge branch 'master' of ssh://gemini/home/wd/git/u-boot/masterWolfgang Denk
2010-05-01Merge branch 'master' of git://git.denx.de/u-boot-ppc4xxWolfgang Denk
2010-04-30pm9263 converted to at91 soc accessAsen Dimov
Signed-off-by: Asen Dimov <dimov@ronetix.at>
2010-04-30at91: define matrix registers bit fieldsAsen Dimov
Signed-off-by: Asen Dimov <dimov@ronetix.at>
2010-04-30MX31: Removed erroneous board name from QONGStefano Babic
QONG is a module that can be installed on several boards, not only on the QONG-EVB manufactured by Dave srl. Signed-off-by: Stefano Babic <sbabic@denx.de>
2010-04-30MX31: Add UBI support to QONG moduleStefano Babic
The UBI/UBIFS support is added to the QONG module. Signed-off-by: Stefano Babic <sbabic@denx.de>
2010-04-30MX31: Support 128MB RAM on QONG moduleStefano Babic
The QONG module can be downsized and delivered with 128MB instead of 256MB. The patch adds run time support for the two different memory configurations. Signed-off-by: Stefano Babic <sbabic@denx.de>
2010-04-30MX31: Add support for NAND to QONG boardStefano Babic
The NAND device is connected to the FPGA of the QONG board and not to the NFC controller. For this reason, the FPGA must be set and initialized before accessing to the NAND itself. Signed-off-by: Stefano Babic <sbabic@denx.de>
2010-04-30MX31: add pin definitions for NAND controllerStefano Babic
Add pin definitions ralted to the NAND controller to be used to set up the pin multiplexer. Signed-off-by: Stefano Babic <sbabic@denx.de>
2010-04-30MX31: add accessor function to get a gpioStefano Babic
The patch adds an accessor function to get the value of a gpio. Signed-off-by: Stefano Babic <sbabic@denx.de>
2010-04-30mx51evk: correct list of possible BOOT_FROM valuesStefano Babic
Signed-off-by: Stefano Babic <sbabic@denx.de>