summaryrefslogtreecommitdiff
path: root/cpu
Commit message (Collapse)AuthorAgeLines
* 85xx: Reworked initial processor initKumar Gala2008-01-17-72/+115
| | | | | | | | | | | | | | | | | | | Reworked the initial processor initialzation sequence: * introduced cpu_early_init_f that is run in address space 1 (AS=1) * Moved TLB/LAW and CCSR init into cpu_early_init_f() * Reworked initial asm code to do most of the core init before TLBs The main reasons for these changes are to allow handling of 36-bit phys addresses in the future and some of the issues that will exist when we do that. There are a few caveats on what can be initialized via the LAW and TLB static tables: * TLB entry 14/15 can't be initialized via the TLB table * any LAW that covers the implicit boot window (4G-8M to 4G) must map to the code that is currently executing. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* 85xx: Introduce new tlb APIKumar Gala2008-01-17-14/+99
| | | | | | | | | | Add a set of functions to manipulate TLB entries: * set_tlb() - write a tlb entry * invalidate_tlb() - invalidate a tlb array * disable_tlb() - disable a variable size tlb entry * init_tlbs() - setup initial tlbs based on static table Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* 85xx: Remove old style of LAW initKumar Gala2008-01-16-28/+0
| | | | | | All boards are now using the new fsl_law code so we can drop the old version. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* 85xx: Move LAW init code into CKumar Gala2008-01-16-0/+18
| | | | | | | | | | | Move the initialization of the LAWs into C code and provide an API to allow modification of LAWs after init. Board code is responsible to provide a law_table and num_law_entries. We should be able to use the same code on 86xx as well. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* mpc83xx: add support for more system clock performance controlsKim Phillips2008-01-16-28/+57
| | | | | | | | | | System registers that are modified are the Arbiter Configuration Register (ACR), the System Priority Control Register (SPCR), and the System Clock Configuration Register (SCCR). Signed-off by: Michael F. Reiss <Michael.F.Reiss@freescale.com> Signed-off by: Joe D'Abbraccio <ljd015@freescale.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
* mpc83xx: Add config of eTSEC emergency priority in SPCRDave Liu2008-01-16-0/+5
| | | | | | | | | | | The TSEC emergency priority definition of 831x/837x is different than the definition of 834x in SPCR register. Add the other config of TSEC emergency priority into cpu_init.c Signed-off-by: Dave Liu <daveliu@freescale.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
* MPC8xx FEC driver: fix compiler warning.Wolfgang Denk2008-01-13-0/+2
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* MPC5200: don't use hardcoded MBAR address in Bestcomm firmwareOliver Weber2008-01-12-4/+4
| | | | Signed-off-by: Oliver Weber <almoeli@gmx.de>
* Fix linker scripts: add NOLOAD atribute to .bss/.sbss sectionsWolfgang Denk2008-01-12-7/+7
| | | | | | | | | | | | | | | | | | | With recent toolchain versions, some boards would not build because or errors like this one (here for ocotea board when building with ELDK 4.2 beta): ppc_4xx-ld: section .bootpg [fffff000 -> fffff23b] overlaps section .bss [fffee900 -> fffff8ab] For many boards, the .bss section is big enough that it wraps around at the end of the address space (0xFFFFFFFF), so the problem will not be visible unless you use a 64 bit tool chain for development. On some boards however, changes to the code size (due to different optimizations) we bail out with section overlaps like above. The fix is to add the NOLOAD attribute to the .bss and .sbss sections, telling the linker that .bss does not consume any space in the image. Signed-off-by: Wolfgang Denk <wd@denx.de>
* MPC512X: Cleanup bus clock names.Grzegorz Bernacki2008-01-12-10/+10
| | | | Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com>
* ads5121: Added support for FDT.Grzegorz Bernacki2008-01-12-0/+21
| | | | Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com>
* Fixed syntax error in function init_e300_core() of mpc83xx/start.S ifHeiko Schocher2008-01-12-1/+1
| | | | | Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Heiko Schocher <hs@denx.de>
* added basic support for the MUNICes board.Heiko Schocher2008-01-12-3/+4
| | | | Signed-off-by: Heiko Schocher <hs@denx.de>
* Added support for the mgcoge board from keymile.Heiko Schocher2008-01-12-4/+5
| | | | Signed-off-by: Heiko Schocher <hs@denx.de>
* Enable SMC microcode relocation patch for SMC1.Heiko Schocher2008-01-12-3/+118
| | | | Signed-off-by: Heiko Schocher <hs@denx.de>
* Added support for the mgsuvd board from keymile.Heiko Schocher2008-01-12-0/+16
| | | | Signed-off-by: Heiko Schocher <hs@denx.de>
* Merge branch 'master' of git://www.denx.de/git/u-boot-ppc4xxWolfgang Denk2008-01-12-0/+2
|\
| * ppc4xx: Fix dflush() to restore DVLIM registerLarry Johnson2008-01-10-0/+2
| | | | | | | | Signed-off-by: Larry Johnson <lrj@acm.org>
* | Merge branch 'master' of git://www.denx.de/git/u-boot-mpc83xxWolfgang Denk2008-01-12-3/+9
|\ \
| * | mpc83xx: Fix the bug of 266MHz data rate DDRDave Liu2008-01-10-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | The DDR doesn't work on the 266MHz data rate, the patch fix the bug. Signed-off-by: Dave Liu <daveliu@freescale.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
| * | mpc83xx: add "fsl, qe" compatible fixupsAnton Vorontsov2008-01-10-0/+6
| |/ | | | | | | | | | | | | New device trees will use "fsl,qe" compatible properties. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
* | Merge commit 'wd/master'Jon Loeliger2008-01-10-42/+63
|\ \ | |/
| * Fix Ethernet init() return codesBen Warren2008-01-10-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change return values of init() functions in all Ethernet drivers to conform to the following: >=0: Success <0: Failure All drivers going forward should return 0 on success. Current drivers that return 1 on success were left as-is to minimize changes. Signed-off-by: Ben Warren <biggerbadderben@gmail.com> Acked-by: Stefan Roese <sr@denx.de> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Acked-by: Kim Phillips <kim.phillips@freescale.com> Acked-by: Haavard Skinnemoen <hskinnemoen@atmel.com> Acked-By: Timur Tabi <timur@freescale.com>
| * Add QE brg freq and correct qe bus freq fdt update codeKim Phillips2008-01-09-1/+3
| | | | | | | | | | Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Signed-off-by: Andy Fleming <afleming@freescale.com>
| * 85xx: add ability to upload QE firmwareTimur Tabi2008-01-09-0/+1
| | | | | | | | | | | | | | | | | | | | | | Define the layout of a binary blob that contains a QE firmware and instructions on how to upload it. Add function qe_upload_firmware() to parse the blob and perform the actual upload. Add command-line command "qe fw" to take a firmware blob in memory and upload it. Update ft_cpu_setup() on 85xx to create the 'firmware' device tree node if U-Boot has uploaded a firmware. Fully define 'struct rsp' in immap_qe.h to include the actual RISC Special Registers. Signed-off-by: Timur Tabi <timur@freescale.com>
| * 85xx: Remove cache config from configs.hKumar Gala2008-01-09-2/+7
| | | | | | | | | | | | | | | | | | Either use the standard defines in asm/cache.h or grab the information at runtime from the L1CFG SPR. Also, minor cleanup in cache.h to make the code a bit more readable. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * Reworked FSL Book-E TLB macros to be more readableKumar Gala2008-01-09-13/+10
| | | | | | | | | | | | | | | | | | | | | | The old macros made it difficult to know what WIMGE and perm bits were set for a TLB entry. Actually use the bit masks for these items since they are only a single bit. Also moved the macros into mmu.h out of e500.h since they aren't specific to e500. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * Merge branch 'master' of git://www.denx.de/git/u-boot-usbWolfgang Denk2008-01-09-0/+16
| |\
| | * Merge git://www.denx.de/git/u-bootMarkus Klotzbuecher2008-01-09-2825/+5168
| | |\ | | | | | | | | | | | | | | | | | | | | Conflicts: board/tqm5200/tqm5200.c
| | * | PXA USB OHCI: "usb stop" implementation.Rodolfo Giometti2007-10-31-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some USB keys need to be switched off before loading the kernel otherwise they can remain in an undefined status which prevents them to be correctly recognized by the kernel. Signed-off-by: Rodolfo Giometti <giometti@linux.it> Signed-off-by: Markus Klotzbuecher <mk@denx.de>
| * | | fix various commentsMarcel Ziswiler2008-01-09-19/+19
| | | | | | | | | | | | | | | | Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
| * | | fix comments with new drivers organizationMarcel Ziswiler2008-01-09-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
* | | | 86xx: Support 2GB DIMMsBecky Bruce2008-01-10-1/+10
|/ / / | | | | | | | | | | | | | | | | | | | | | Configure the number of bits used to address the banks inside the SDRAM device. The default register value of 0 means 2 bits to address 4 banks. Higher capacity devices like a 2GB DIMM require 3 bits to address 8 banks. Signed-off-by: Becky Bruce <bgill@freescale.com>
* | | Fix and optimize MII operations on FEC (MPC8xx) controllersGuennadi Liakhovetski2008-01-09-54/+53
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes several issues at least on a MPC885 based system with two FEC interfaces used in MII mode. 1. PHY discovery should first read PHY_PHYIDR2 register and only then PHY_PHYIDR1 like cpu/mpc8xx/fec.c::mii_discover_phy() does it, otherwise the values read are wrong. Also notice, that PHY discovery cannot work on MPC88x / MPC87x in setups with both FECs active at all in its present form, because for both interfaces the registers from FEC 1 are used to communicate over MII. 2. Remove code duplication for resetting the FEC by isolating it into a separate function. 3. Initialize MII on FEC 1 when communicating over FEC 2 in fec_init(). 4. Optimize mii_init() to only reset the FEC 1 controller once. 5. Fix a typo in mii_init() using index i instead of j thus potentially leading to unpredictable results. Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
* | Coding Style clenaup; update CHANGELOGWolfgang Denk2008-01-09-2/+2
| | | | | | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* | IXP: Add full baud-rate support for ixp42x, ixp45x and ixp46xJean-Christophe PLAGNIOL-VILLARD2008-01-09-14/+10
| | | | | | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* | Merge branch 'master' of git://www.denx.de/git/u-boot-mpc83xxWolfgang Denk2008-01-09-399/+320
|\ \
| * | mpc83xx: convert to using do_fixup_*()Kim Phillips2008-01-08-480/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | convert to using simpler mpc85xx style fdt update code; streamline by eliminating macros OF_SOC, OF_CPU, etc. which allows us to rm the old school FLAT_TREE code from 83xx (since the sbc8349 was just converted over to using libfdt). Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
| * | Add support CONFIG_UEC_ETH3 in MPC83xxJoakim Tjernlund2008-01-08-1/+115
| | | | | | | | | | | | Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
| * | mpc83xx: Add the support of MPC837xEMDS boardDave Liu2008-01-08-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MPC837xEMDS board support: * DDR2 400MHz hardcoded and SPD init * Local bus NOR Flash * I2C, UART, MII and RTC * eTSEC RGMII * PCI host Signed-off-by: Dave Liu <daveliu@freescale.com>
| * | mpc83xx: Add the support of MPC8315E SoCDave Liu2008-01-08-3/+49
| | | | | | | | | | | | | | | | | | | | | The MPC8315E SoC including e300c3 core and new IP blocks, such as TDM, PCI Express and SATA controller. Signed-off-by: Dave Liu <daveliu@freescale.com>
| * | mpc83xx: Add the support of MPC837x SoCDave Liu2008-01-08-30/+161
| | | | | | | | | | | | | | | | | | | | | The MPC837x SoC including e300c4 core and new IP blocks, such as SDHC, PCI Express and SATA controller. Signed-off-by: Dave Liu <daveliu@freescale.com>
* | | Merge branch 'lwmon5-no-ocm'Stefan Roese2008-01-09-1/+65
|\ \ \
| * | | ppc4xx: Add CFG_POST_ALT_WORD_ADDR to support non OCM POST WORD storageStefan Roese2008-01-09-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The privious 4xx POST implementation only supported storing the POST WORD in OCM. Since we need to reserve the OCM on LWMON5 for the logbuffer we need to store the POST WORD in some other non volatile location. This patch adds CFG_POST_ALT_WORD_ADDR to specify an address for such a location. Signed-off-by: Stefan Roese <sr@denx.de>
| * | | ppc4xx: Add 44x cache locking to better support init-ram in d-cacheStefan Roese2008-01-09-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for locking the init-ram/stack in d-cache, so that other regions may use d-cache as well Note, that this current implementation locks exactly 4k of d-cache, so please make sure that you don't define a bigger init-ram area. Take a look at the lwmon5 440EPx implementation as a reference. Signed-off-by: Stefan Roese <sr@denx.de>
* | | | ppc4xx: Move cpu/ppc4xx/vecnum.h into include pathMatthias Fuchs2008-01-09-408/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch allows the use of 4xx interrupt vector number defines in board specific code outside cpu/ppc4xx. Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
* | | | ppc4xx: Fix UIC2 vector number baseMatthias Fuchs2008-01-09-16/+16
| | | | | | | | | | | | | | | | Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
* | | | ppc4xx: Return 0 on success in 4xx ethernet driverStefan Roese2008-01-08-2/+3
| |/ / |/| | | | | | | | Signed-off-by: Stefan Roese <sr@denx.de>
* | | ppc4xx: Remove weak binding from common Denali data-eye search codeLarry Johnson2008-01-05-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | Now that there are no board-specific versions of "denali_core_search_data_eye()", the weak binding on the common version can be removed. Signed-off-by: Larry Johnson <lrj@acm.org>
* | | Merge branch 'katmai-ddr-gda'Stefan Roese2008-01-05-59/+37
|\ \ \