aboutsummaryrefslogtreecommitdiff
path: root/cpu
AgeCommit message (Collapse)AuthorFilesLines
2008-11-01Merge branch 'master' of git://git.denx.de/u-boot-blackfinWolfgang Denk7-305/+128
2008-10-3174xx: use r4 instead of r2 in lock_ram_in_cache and unlock_ram_in_cacheDave Liu1-4/+4
The patch is following the commit 392438406041415fe64ab8748ec5ab5ad01d1cf7 mpc86xx: use r4 instead of r2 in lock_ram_in_cache and unlock_ram_in_cache This is needed in unlock_ram_in_cache() because it is called from C and will corrupt the small data area anchor that is kept in R2. lock_ram_in_cache() is modified similarly as good coding practice, but is not called from C. Signed-off-by: Nick Spence <nick.spence@freescale.com> also, the r2 is used as global data pointer. Signed-off-by: Dave Liu <daveliu@freescale.com>
2008-10-30Merge branch 'master' of git://git.denx.de/u-boot-mpc83xxWolfgang Denk1-1/+1
2008-10-30mpc83xx pci: Round up memory size in inbound window.Scott Wood1-1/+1
The current calculation will fail to cover all memory if its size is not a power of two. Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2008-10-30Merge branch 'master' of git://git.denx.de/u-boot-mpc86xxWolfgang Denk1-16/+4
2008-10-3086xx: remove the redundant r2 global data pointer saveDave Liu1-1/+0
The commit 67256678f00c09b0a7f19e862e5c1847553d31bc add the another global data pointer save, but in fact the global data pointer will be initialized in the board_init_r, so remove it such as the 85xx/83xx family. Signed-off-by: Dave Liu <daveliu@freescale.com> Acked-by: Kumar Gala <kumar.gala@freescale.com>
2008-10-3086xx: remove the unused code for 86xx familyDave Liu1-14/+0
I believe these code was copied from 74xx family, but for 86xx, it is unused. Signed-off-by: Dave Liu <daveliu@freescale.com> Acked-by: Kumar Gala <kumar.gala@freescale.com>
2008-10-3086xx: Move the clear_tlbs before MMU turn onDave Liu1-1/+4
We must invalidate TLBs before MMU turn on, but currently the code is not, if there are some stale TLB entry valid in the TLBs, it will cause strange issue. Signed-off-by: Dave Liu <daveliu@freescale.com> Acked-by: Becky Bruce <becky.bruce@freescale.com>
2008-10-29Make Freescale local bus registers available for both 83xx and 85xx.Haiying Wang1-1/+1
- Rename lbus83xx_t to fsl_lbus_t and move it to asm/fsl_lbc.h so that it can be shared by both 83xx and 85xx - Remove lbus83xx_t and replace it with fsl_lbus_t in all 83xx boards files which use lbus83xx_t. - Move FMR, FIR, FCR, FPAR, LTESR from mpc83xx.h to asm/fsl_lbc.h so that 85xx can share them. Signed-off-by: Jason Jin <Jason.Jin@freescale.com> Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com> Signed-off-by: Scott Wood <scottwood@freescale.com>
2008-10-28i386: Renamed show_boot_progress in assembler codeGraeme Russ1-10/+10
Renamed show_boot_progress in assembler init phase to show_boot_progress_asm to avoid link conflicts with C version Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
2008-10-27Merge branch 'master' of git://git.denx.de/u-boot-mpc85xxWolfgang Denk4-5/+22
2008-10-2485xx: Fix the incorrect register used for DDR erratum1Dave Liu1-3/+6
The 8572 DDR erratum1: DDR controller may enter an illegal state when operating in 32-bit bus mode with 4-beat bursts. Description: When operating with a 32-bit bus, it is recommended that DDR_SDRAM_CFG[8_BE] is cleared when DDR2 memories are used. This forces the DDR controller to use 4-beat bursts when communicating to the DRAMs. However, an issue exists that could lead to data corruption when the DDR controller is in 32-bit bus mode while using 4-beat bursts. Projected Impact: If the DDR controller is operating in 32-bit bus mode with 4-beat bursts, then the controller may enter into a bad state. All subsequent reads from memory is corrupted. Four-beat bursts with a 32-bit bus only is used with DDR2 memories. Therefore, this erratum does not affect DDR3 mode. Work Arounds: To work around this issue, software must set DEBUG_1[31] in DDR memory mapped space (CCSRBAR offset + 0x2f00 for DDR_1 and CCSRBAR offset + 0x6f00 for DDR_2). Currenlty, the code is using incorrect register DDR_SDRAM_CFG_2 as condition, but it should be DDR_SDRAM_CFG register. Signed-off-by: Dave Liu <daveliu@freescale.com>
2008-10-2485xx: Add basic e500mc core supportKumar Gala3-0/+14
Introduce CONFIG_E500MC to deal with the minor differences between e500v2 and e500mc. * Certain fields of HID0/1 don't exist anymore on e500mc * Cache line size is 64-bytes on e500mc * reset value of PIR is different Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-10-2485xx: Use CONFIG_SYS_CACHELINE_SIZE instead of magic numberKumar Gala1-2/+2
Using CONFIG_SYS_CACHELINE_SIZE instead of 31 means we can handle e500mc's 64-byte cacheline properly when it gets added. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-10-24ppc4xx: Generic architecture for xilinx ppc405(v3)Ricardo Ribalda Delgado1-1/+2
As "ppc44x: Unification of virtex5 pp440 boards" did for the xilinx ppc440 boards, this patch presents a common architecture for all the xilinx ppc405 boards. Any custom xilinx ppc405 board can be added very easily with no code duplicity. This patch also adds a simple generic board, that can be used on almost any design with xilinx ppc405 replacing the file ppc405-generic/xparameters.h This patch is prepared to work with the latest version of EDK (10.1) Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@uam.es> Signed-off-by: Stefan Roese <sr@denx.de>
2008-10-23Blackfin: fix up UART status bit handlingMike Frysinger1-12/+60
Some Blackfin UARTs are read-to-clear while others are write-to-clear. This can cause problems when we poll the LSR and then later try and handle any errors detected. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2008-10-23Blackfin: small cpu init optimization while setting interrupt maskMike Frysinger1-5/+2
Use the sti instruction to set the initial interrupt mask rather than banging on the core IMASK MMR to save both space and time. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2008-10-23Blackfin: set initial stack correctly according to Blackfin ABIMike Frysinger1-3/+3
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2008-10-23Blackfin: make baud calculation more accurateMike Frysinger1-4/+4
We should use the algorithm in the Linux kernel so that the UART divisor calculation is more accurate. It also fixes problems on some picky UARTs that have sampling anomalies. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2008-10-23Blackfin: decode hwerrcause/excause when crashingMike Frysinger1-2/+40
Having to decode hwerrcause/excause values is a pain, so automate it. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2008-10-23Blackfin: fix register dump messagesMike Frysinger1-1/+5
Make sure we report RETI/IPEND correctly. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2008-10-23Blackfin: don't bother displaying reboot msg when crashingMike Frysinger1-5/+1
The hang function already tells you to reboot, so no point in showing it twice. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2008-10-23Blackfin: enable support for nested interruptsMike Frysinger1-4/+10
During cpu init, make sure we initialize the CEC properly so that interrupts can fire and be handled while U-Boot is running. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2008-10-23Blackfin: drop unused cache flush codeMike Frysinger2-231/+1
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2008-10-23Blackfin: unify cache handling codeMike Frysinger1-35/+0
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2008-10-23Blackfin: only enable hardware error irq by defaultMike Frysinger1-3/+2
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2008-10-21mpc83xx: Removed #ifdef CONFIG_MPC834X dependency on upmconfig functionRichard Retanubun1-5/+0
This is done to allow other 83XX based platforms which also have UPM (e.g. 8360) to configure and use their UPM in u-boot. Signed-off-by: Richard Retanubun <RichardRetanubun@RuggedCom.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2008-10-21mpc83xx: serdes: add forgotten shifts for rfcksAnton Vorontsov1-1/+1
The rfcks should be shifted by 28 bits left. We didn't notice the bug because we were using only 100MHz clocks (for which rfcks == 0). Though, for SGMII we'll need 125MHz clocks. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2008-10-21Merge branch 'master' of git://git.denx.de/u-boot-ppc4xxWolfgang Denk3-36/+99
2008-10-21ppc4xx: Correctly setup ranges property in ebc nodeStefan Roese1-17/+28
Previously only the NOR flash mapping was written into the ranges property of the ebc node. This patch now writes all enabled chip select areas into the ranges property. Signed-off-by: Stefan Roese <sr@denx.de>
2008-10-21ppc4xx: Add routine to retrieve CPU numberAdam Graham1-1/+18
Provide a weak defined routine to retrieve the CPU number for reference boards that have multiple CPU's. Default behavior is the existing single CPU print output. Reference boards with multiple CPU's need to provide a board specific routine. See board/amcc/arches/arches.c for an example. Signed-off-by: Adam Graham <agraham@amcc.com> Signed-off-by: Victor Gallardo <vgallardo@amcc.com> Signed-off-by: Stefan Roese <sr@denx.de>
2008-10-21ppc4xx: Add static support for 44x IBM SDRAM ControllerAdam Graham1-18/+53
This patch add the capability to configure a PPC440 based IBM SDRAM Controller with static, compiled-in, values. PPC440 memory subsystem includes a Memory Queue core. Signed-off-by: Adam Graham <agraham@amcc.com> Signed-off-by: Victor Gallardo <vgallardo@amcc.com> Signed-off-by: Stefan Roese <sr@denx.de>
2008-10-21Cleanup: fix "MHz" spellingWolfgang Denk10-12/+12
Signed-off-by: Wolfgang Denk <wd@denx.de>
2008-10-21Use strmhz() to format clock frequenciesWolfgang Denk11-73/+99
Signed-off-by: Wolfgang Denk <wd@denx.de>
2008-10-21Merge git://git.denx.de/u-boot into x1Markus Klotzbuecher291-3657/+3816
Conflicts: drivers/usb/usb_ohci.c
2008-10-18Merge 'next' branchWolfgang Denk290-3476/+3673
Conflicts: board/freescale/mpc8536ds/mpc8536ds.c include/configs/mgcoge.h Signed-off-by: Wolfgang Denk <wd@denx.de>
2008-10-1885xx if NUM_CPUS>1, print cpu numberEd Swarthout1-0/+5
Signed-off-by: Ed Swarthout <Ed.Swarthout@freescale.com>
2008-10-18Have u-boot pass stashing parameters into device treeAndy Fleming1-0/+11
Some cores don't support ethernet stashing at all, and some instances have errata. Adds 3 properties to gianfar nodes which support stashing. For now, just add this support to 85xx SoCs. Signed-off-by: Andy Fleming <afleming@freescale.com>
2008-10-18Add debug information for DDR controller registersHaiying Wang1-0/+13
Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
2008-10-18Check DDR interleaving modeHaiying Wang2-5/+112
* Check DDR interleaving mode from environment by reading memctl_intlv_ctl and ba_intlv_ctl. * Print DDR interleaving mode information * Add doc/README.fsl-ddr to describe the interleaving setting Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
2008-10-18Pass dimm parameters to populate populate controller optionsHaiying Wang4-87/+7
Because some dimm parameters like n_ranks needs to be used with the board frequency to choose the board parameters like clk_adjust etc. in the board_specific_paramesters table of the board ddr file, we need to pass the dimm parameters to the board file. * move ddr dimm parameters header file from /cpu to /include directory. * add ddr dimm parameters to populate board specific options. * Fix fsl_ddr_board_options() for all the 8xxx boards which call this function. Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
2008-10-18Make DDR interleaving mode work correctlyHaiying Wang2-12/+54
Fix some bugs: 1. Correctly set intlv_ctl in cs_config. 2. Correctly set sa, ea in cs_bnds when bank interleaving mode is enabled. 3. Set base_address and total memory for each ddr controller in memory controller interleaving mode. Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
2008-10-1885xx: Export invalidate_{i,d}cache and add flush_dcacheKumar Gala1-0/+49
Added the ability for C code to invalidate the i/d-cache's and to flush the d-cache. This allows us to more efficient change mappings from cache-able to cache-inhibited. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-10-18rename CFG_ macros to CONFIG_SYSJean-Christophe PLAGNIOL-VILLARD286-3365/+3365
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2008-10-1874xx/7xx/86xx: Rename flush_data_cache to flush_dcache to match 85xx versionKumar Gala2-10/+10
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-10-18I2C: adding new "i2c bus" Command to the I2C Subsystem.Heiko Schocher1-1/+14
With this Command it is possible to add new I2C Busses, which are behind 1 .. n I2C Muxes. Details see README. Signed-off-by: Heiko Schocher <hs@denx.de>
2008-10-18i2c: add CONFIG_I2C_MULTI_BUS for soft_i2c and mpc8260 i2c driver.Heiko Schocher1-0/+36
Signed-off-by: Heiko Schocher <hs@denx.de>
2008-10-18Adds two more ethernet interface to 83xxrichardretanubun1-1/+2
Added as a convenience for other platforms that uses MPC8360 (has 8 UCC). Six eth interface is chosen because the platform I am using combines UCC1&2 and UCC3&4 as 1000 Eth and the other four UCCs as 10/100 Eth. Signed-off-by: Richard Retanubun <RichardRetanubun@RugggedCom.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2008-10-1783xx NAND boot: wait for LTESR[CC]Lepcha Suchit1-0/+12
At least some revisions of the 8313, and possibly other chips, do not wait for all pages of the initial 4K NAND region to be loaded before beginning execution; thus, we wait for it before branching out of the first NAND page. This fixes warm reset problems when booting from NAND on 8313erdb. Signed-off-by: Scott Wood <scottwood@freescale.com> Acked-by: Kim Phillips <kim.phillips@freescale.com>
2008-10-17ppc4xx: PPC44x MQ initializationYuri Tikhonov1-4/+6
Set the MQ Read Passing & MCIF Cycle limits to the recommended by AMCC values. This fixes the occasional 440SPe hard locking issues when the 440SPe's dedicated DMA engines are used (e.g. by the h/w accelerated RAID driver). Previously the appropriate initialization had been made in Linux, by the ppc440spe ADMA driver, which is wrong because modifying the MQ configuration registers after normal operation has begun is not supported and could have unpredictable results. Comment from Stefan: This patch doesn't change the resulting value of the MQ registers. It explicitly sets/clears all bits to the desired state which better documents the resulting register value instead of relying on pre-set default values. Signed-off-by: Yuri Tikhonov <yur@emcraft.com> Signed-off-by: Stefan Roese <sr@denx.de>