summaryrefslogtreecommitdiff
path: root/lib_ppc/board.c
AgeCommit message (Collapse)Author
2008-05-10ppc: Cleanup get_effective_memsize() useMarian Balakowicz
Removed duplicated effective memory size calculation code. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
2008-04-25lib_ppc: Revert "Make MPC83xx one step closer to full relocation."Kim Phillips
This reverts commit 70431e8a7393b6b793f77957f95b999fc9a269b8 which has proven problematic getting right from the start at least on 83xx and 4xx. Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2008-04-09ppc: Revert patch 70431e8a that used _start instead of CFG_MONITOR_BASEStefan Roese
The patch 70431e8a7393b6b793f77957f95b999fc9a269b8 (Make MPC83xx one step closer to full relocation.) doesn't use CFG_MONITOR_BASE anymore. But on 4xx systems _start currently cannot be used for this calculation. So revert back to the original version for now. Signed-off-by: Stefan Roese <sr@denx.de>
2008-04-07Merge branch 'master' of git://www.denx.de/git/u-boot-mpc83xxWolfgang Denk
Conflicts: lib_ppc/board.c Signed-off-by: Wolfgang Denk <wd@denx.de>
2008-03-28Make MPC83xx one step closer to full relocation.Joakim Tjernlund
Remove a few absolute references to CFG_MONITOR_BASE for ppc/mpc83xx and use GOT relative reference. Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2008-03-28mpc8323erdb: fix EEPROM page size and get MAC from EEPROMMichael Barkowski
This patch fixes eeprom page size so that you can now write more than 64 bytes at a time. It also makes the board take MAC addresses, if found, from EEPROM. User should place up to 4 addresses at offset 0x7f00, for eth{,1,2,3}addr. Any unused addresses should be zero. This group of four six-byte values should have it's CRC at the end. crc32 and eeprom commands can be used to accomplish this. If CRC fails, MAC addresses come from the environment. If CRC succeeds, the environment is overwritten at startup. Signed-off-by: Michael Barkowski <michael.barkowski@freescale.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2008-03-27ppc: Set CFG_MEM_TOP_HIDE to 0 if not already definedStefan Roese
Signed-off-by: Stefan Roese <sr@denx.de>
2008-03-27ppc: Add CFG_MEM_TOP_HIDE option to hide memory area that doesn't get "touched"Stefan Roese
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>
2008-03-26ata: enable the sata initialize on boot upDave Liu
Signed-off-by: Dave Liu <daveliu@freescale.com>
2008-03-25ppc: Allow boards to specify how much memory they can mapKumar Gala
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 capble of doing up to 2G). Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-03-18The patch introduces the alternative configuration of the log buffer for the ↵Yuri Tikhonov
lwmon5 board: the storage for the log-buffer itself is OCM(on-chip memory), the log-buffer header is moved to six GPT registers (PPC440EPX_GPT0_COMP1, ..., PPC440EPX_GPT0_COMP5). To enable this, alternative, configuration the U-Boot board configuration file for lwmon5 includes the definitions of alternative addresses for header (CONFIG_ALT_LH_ADDR) and buffer (CONFIG_ALT_LB_ADDR). The Linux shall be configured with the CONFIG_ALT_LB_LOCATION option set, and has the BOARD_ALT_LH_ADDR and BOARD_ALT_LB_ADDR constants defined in the lwmon5 board-specific header (arch/ppc/platforms/4xx/lwmon5.h). Signed-off-by: Yuri Tikhonov <yur@emcraft.com>
2008-02-22ppc: Allow boards to specify effective amount of memoryKumar Gala
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>
2008-01-23Merge branch 'master' of git://www.denx.de/git/u-boot-mpc86xxWolfgang Denk
2008-01-17FSL: Fix common EEPROM_data structure definitionHaiying Wang
- 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>
2008-01-17Add support for a Freescale non-CPM SPI controllerBen Warren
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>
2008-01-12MPC512X: Cleanup bus clock names.Grzegorz Bernacki
Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com>
2008-01-12ads5121: Added support for FDT.Grzegorz Bernacki
Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com>
2008-01-09API for external applications.Rafal Jaworowski
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>
2007-08-18lib_ppc: make board_add_ram_info weakKim Phillips
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>
2007-08-10mpc83xx: Add support for the display of reset statusDave Liu
83xx processor family has many reset sources, such as power on reset, software hard reset, software soft reset, JTAG, bus monitor, software watchdog, check stop reset, external hard reset, external software reset. sometimes, to figure out the fault of system, we need to know the cause of reset early before the prompt of u-boot present. Signed-off-by: Dave Liu <daveliu@freescale.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2007-08-06Merge with /home/wd/git/u-boot/custodian/u-boot-testingWolfgang Denk
2007-08-03Merge branch 'testing' into workingAndy Fleming
Conflicts: CHANGELOG fs/fat/fat.c include/configs/MPC8560ADS.h include/configs/pcs440ep.h net/eth.c
2007-07-13make show_boot_progress () weak.Heiko Schocher
Signed-off-by: Heiko Schocher <hs@denx.de>
2007-07-11Fix malloc problem introduced with the relocation fixup for the PPC platformStefan Roese
The relocation fixup didn't handle the malloc pointer initialization correctly. This patch fixes this problem. Tested successfully on 4xx. The relocation fixup patches for 4xx will follow soon. Signed-off-by: Stefan Roese <sr@denx.de>
2007-07-10disk/ doc/ lib_*/ and tools/: Remove lingering references to CFG_CMD_* symbols.Jon Loeliger
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>
2007-07-09lib_{m68k,microblaze,mips,ppc}/: Remove obsolete references to CONFIG_COMMANDSJon Loeliger
Signed-off-by: Jon Loeliger <jdl@freescale.com>
2007-07-04Don't set gd->reloc_off if relocation of .fixup works correctlyGrant Likely
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2007-07-04lib_ppc/: Augment CONFIG_COMMANDS tests with defined(CONFIG_CMD_*).Jon Loeliger
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>
2007-06-22[PCS440EP] upgrade the PCS440EP board:Heiko Schocher
- Show on the Status LEDs, some States of the board. - Get the MAC addresses from the EEProm - use PREBOOT - use the CF on the board. - check the U-Boot image in the Flash with a SHA1 checksum. - use dynamic TLB entries generation for the SDRAM Signed-off-by: Heiko Schocher <hs@denx.de>
2007-06-08Fix config problems on SC3 board; make ide_reset_timeout work.Wolfgang Denk
2007-05-18Merge with git://www.denx.de/git/u-boot.gitStefan Roese
2007-05-11ppc4xx: Set bd->bi_pci_busfreq on 440EPx/GRx tooStefan Roese
Signed-off-by: Stefan Roese <sr@denx.de>
2007-05-01mpc83xx: replace elaborate boottime verbosity with 'clocks' commandKim Phillips
and fix CPU: to align with Board: display text. Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2007-01-11 Added support for the SOLIDCARD III board from EurodesignHeiko Schocher
Signed-off-by: Heiko Schocher <hs@denx.de>
2006-12-24Merge with /home/hs/TQ/u-boot-devWolfgang Denk
2006-12-21Added support for the TQM8272 board from TQHeiko Schocher
Signed-off-by: Heiko Schocher <hs@denx.de>
2006-11-30Code cleanup.Wolfgang Denk
2006-11-03mpc83xx: Replace CFG_IMMRBAR with CFG_IMMRTimur Tabi
Replace all instances of CFG_IMMRBAR with CFG_IMMR, so that the 83xx tree matches the other 8xxx trees. Signed-off-by: Timur Tabi <timur@freescale.com>
2006-10-19Merge branch 'master' of http://www.denx.de/git/u-bootJon Loeliger
2006-10-13Preliminary patch adding support for the MarelV38B board.Bartlomiej Sieka
2006-09-19Merge branch 'master' of http://www.denx.de/git/u-bootJon Loeliger
Conflicts: board/stxxtc/Makefile
2006-09-07Add support for AMCC Sequoia PPC440EPx eval boardStefan Roese
- Add support for PPC440EPx & PPC440GRx - Add support for PPC440EP(x)/GR(x) NAND controller in cpu/ppc4xx directory - Add NAND boot functionality for Sequoia board, please see doc/README.nand-boot-ppc440 for details - This Sequoia NAND image doesn't support environment in NAND for now. This will be added in a short while. Patch by Stefan Roese, 07 Sep 2006
2006-08-17Unlock cache before kernel starts up for MPC86xxHaiying Wang
2006-08-09Merge branch 'wd'Jon Loeliger
2006-07-13Add support for reading and writing mac addresses to or from ID EEPROM.Haiying Wang
Added code for reading and writing Mac addresses to/from ID EEPROM(0x57). With attached patch, we can use command "mac/mac read/mac save/" to read and write EEPROM under u-boot prompt. U-boot will calculate the checksum of EEPROM while bootup, if it is right, then u-boot will check whether the mac address of eTSEC0/1/2/3 is availalbe (non-zero). If there is mac address availabe in EEPROM, u-boot will use it, otherewise, u-boot will use the mac address defined in MPC8641HPCN.h. This matches the requirement to set unique mac address for each TSEC port. Signed-off-by: Haiying Wang <haiying.wang@freescale.com> Signed-off-by: York Sun <yorksun@freescale.com>
2006-07-12Add support for TQM885D board.Markus Klotzbuecher
Patch by Martin Krause, 20 Mar 2006 Signed-off-by: Martin Krause <martin.krause@tqs.de>
2006-06-30Merge: Add support for AMCC 440SPe CPU based eval board (Yucca).Marian Balakowicz
2006-06-30Call serial_initialize() before first debug() is used.Marian Balakowicz
2006-05-10Remove unneeded INIT_RAM_LOCK cache twiddling.Haiying Wang
Correctly tracks r29 as global data pointer now. Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
2006-04-26Initial support for MPC8641 HPCN board.Jon Loeliger