summaryrefslogtreecommitdiff
path: root/cpu
AgeCommit message (Collapse)Author
2009-03-20Implement SC520 timersGraeme Russ
Signed-off-by: Graeme Russ <graeme.russ at gmail.com>
2009-03-20Factor out SC520 sub-featuresGraeme Russ
Moved sub-features of the SC520 code which is currently selectively compiled using #ifdef out of sc520.c into individual files selectively compiled via the makefile Signed-off-by: Graeme Russ <graeme.russ at gmail.com>
2009-03-20Rewrite i386 interrupt handlingGraeme Russ
Rewrite interrupt handling functionality for the i386 port. Separated functionality into separate CPU and Architecture components. It appears as if the i386 interrupt handler functionality was intended to allow multiple handlers to be installed for a given interrupt. Unfortunately, this functionality was not fully implemented and also had the problem that irq_free_handler() does not allow the passing of the handler function pointer and therefore could never be used to free specific handlers that had been installed for a given IRQ. There were also various issues with array bounds not being fully tested. I had two objectives in mind for the new implementation: 1) Keep the implementation as similar as possible to existing implementations. To that end, I have used the leon2/3 implementations as the reference 2) Seperate CPU and Architecture specific elements. All specific i386 interrupt functionality is now in cpu/i386/ with the high level API and architecture specific code in lib_i386. Functionality specific to the PC/AT architecture (i.e. cascaded i8259 PICs) has been further split out into an individual file to allow for the implementation of the PIC architecture of the SC520 CPU (supports more IRQs) Signed-off-by: Graeme Russ <graeme.russ at gmail.com>
2009-03-20Rename SC520 Configuration OptionsGraeme Russ
Options are now all uniformly CONFIG_SYS_SC520_<option> Signed-off-by: Graeme Russ <graeme.russ at gmail.com>
2009-03-20Fix all linker script to handle all rodata sectionsTrent Piepho
A recent gcc added a new unaligned rodata section called '.rodata.str1.1', which needs to be added the the linker script. Instead of just adding this one section, we use a wildcard ".rodata*" to get all rodata linker section gcc has now and might add in the future. However, '*(.rodata*)' by itself will result in sub-optimal section ordering. The sections will be sorted by object file, which causes extra padding between the unaligned rodata.str.1.1 of one object file and the aligned rodata of the next object file. This is easy to fix by using the SORT_BY_ALIGNMENT command. This patch has not be tested one most of the boards modified. Some boards have a linker script that looks something like this: *(.text) . = ALIGN(16); *(.rodata) *(.rodata.str1.4) *(.eh_frame) I change this to: *(.text) . = ALIGN(16); *(.eh_frame) *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) This means the start of rodata will no longer be 16 bytes aligned. However, the boundary between text and rodata/eh_frame is still aligned to 16 bytes, which is what I think the real purpose of the ALIGN call is. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2009-03-20npe: get mac address from environmentMike Frysinger
The environment is the canonical storage location of the mac address, so we're killing off the global data location and moving everything to querying the env directly. The resulting code can also be simplified even further. Signed-off-by: Mike Frysinger <vapier@gentoo.org> CC: Stefan Roese <sr@denx.de> CC: Ben Warren <biggerbadderben@gmail.com>
2009-03-20cpu/: get mac address from environmentMike Frysinger
The environment is the canonical storage location of the mac address, so we're killing off the global data location and moving everything to querying the env directly. The cpus that get converted here: at91rm9200 mpc512x mpc5xxx mpc8260 mpc8xx ppc4xx Signed-off-by: Mike Frysinger <vapier@gentoo.org> CC: Ben Warren <biggerbadderben@gmail.com> CC: John Rigby <jrigby@freescale.com> CC: Stefan Roese <sr@denx.de>
2009-03-20ppc4xx: Fix bug in PCI outbound map configuration for canyonlandsAnatolij Gustschin
PCI outbound address map configuration doesn't match the PCI memory address range covered by appropriate TLB entry configuration for canyonlands causing machine check exceptions while accessing PCI memory regions. This patch provides a fix for this issue. Kazuaki Ichinohe observed and reported this issue while testing display output with PCI ATI video card on canyonlands. Signed-off-by: Anatolij Gustschin <agust@denx.de> Signed-off-by: Stefan Roese <sr@denx.de>
2009-03-18mpc52xx: Get rid of board-specific #ifdef's in cpu/mpc5xxx/ide.cGrzegorz Bernacki
Total5200 and digsy MTC use I2C port 2 pins as a ATA chip select. To avoid adding board-specific ifdefs to cpu/mpc5xxx/ide.c new define CONFIG_SYS_ATA_CS_ON_I2C2 was introduced. It is used by Total5200 and will be used by digsy MTC and other boards with ATA CS on I2C pins. Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com>
2009-03-188xx, icache: enabling ICache not before running from RAMHeiko Schocher
with the new CONFIG_SYS_DELAYED_ICACHE config option, ICache is not enabled before code runs from RAM. Signed-off-by: Heiko Schocher <hs@denx.de>
2009-03-17ColdFire: PLATFORM_CPPFLAGS updates for new compilerTsiChung Liew
Update PLATFORM_CPPFLAGS to accept 4.3.x version of ColdFire compiler. Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
2009-03-17ColdFire: Fix M54451 serial boot dram setupTsiChung Liew
The serial boot dram extended/standard mode register was not setup and was using default DRAM setup causing the U-boot was unstable to boot up in serial mode. Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
2009-03-17Coldfire: XL Bus minor fixesarun c
According to coldfire manual data timeout > address time out also use correct macro to program XARB_CFG Signed-off-by: Arun C <arunedarath@mistralsolutions.com>
2009-03-15Merge branch 'master' of git://git.denx.de/u-boot-shWolfgang Denk
2009-03-15Merge branch 'master' of git://git.denx.de/u-boot-mpc83xxWolfgang Denk
2009-03-15Merge branch 'master' of git://git.denx.de/u-boot-armWolfgang Denk
2009-03-15Merge branch 'master' of git://git.denx.de/u-boot-pxaWolfgang Denk
2009-03-14mpc83xx: Add bank configuration to FSL spd_sdram.cJerry Van Baren
The routine assumed 4 bank SDRAMs, enhance to configure for 4 or 8 bank SDRAMs. Signed-off-by: Gerald Van Baren <vanbaren@cideas.com> Acked-by: Dave Liu <daveliu@freescale.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2009-03-14mpc83xx: correctly set encryption and I2C bus 0 clockNorbert van Bolhuis
This patch makes sure the correct mask is applied when setting the encryption and I2C bus 0 clock in SCCR. Failing to do so may lead to ENCCM being 0 in which case I2C bus 0 won't function. Signed-off-by: Norbert van Bolhuis <nvbolhuis@aimvalley.nl> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2009-03-13OMAP3: Add support for OMAP3 die IDDirk Behme
Read and store OMAP3 die ID in U-Boot environment. Signed-off-by: Dirk Behme <dirk.behme@googlemail.com>
2009-03-12sh: Add netdev header fixing of warning/buildNobuhiro Iwamatsu
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
2009-03-09Fix mpc85xx ddr-gen3 ddr_sdram_cfg.Ed Swarthout
Commit e1be0d25, "32bit BUg fix for DDR2 on 8572" prevented other sdram_cfg bits (such as ecc and self_refresh_in_sleep) from being set. Signed-off-by: Ed Swarthout <Ed.Swarthout@freescale.com>
2009-03-09PXA: timer use do_div and simplify itJean-Christophe PLAGNIOL-VILLARD
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2009-03-09Merge branch 'master' of git://git.denx.de/u-boot-mpc83xxWolfgang Denk
Conflicts: lib_ppc/board.c Signed-off-by: Wolfgang Denk <wd@denx.de>
2009-03-058360, kmeter1: added bootcount feature.Heiko Schocher
add CONFIG_BOOTCOUNT_LIMIT feature for 8360 CPU. The bootcounter uses 8 bytes from the muram, because no other memory was found on this CPU for the bootcount feature. So we must correct the muram size in DTS before booting Linux. This feature is actual only implemented for MPC8360, because not all 83xx CPU have qe, and therefore no muram, which this feature uses. Signed-off-by: Heiko Schocher <hs@denx.de> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2009-03-0583xx: Fix some bugs in spd sdram codeDave Liu
1. RD_TO_PRE missed to add the AL, and need min 2 clocks for tRTP according to DDR2 JEDEC spec. 2. WRTORD - tWTR need min 2 clocks according to DDR2 JEDEC spec. 3. add the support of DDR2-533,667,800 DIMMs 4. cpo 5. make the AL to min to gain better performance. The Micron MT9HTF6472CHY-667D1 DIMMs test passed on MPC837xEMDS platform at 266MHz/333MHz/400MHz data rate. items 1, 2 and 5: Acked-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se> Reported-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se> Signed-off-by: Dave Liu <daveliu@freescale.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2009-02-25Moved SC520 Files (fix commit 407976185e0dda2c90e89027121a1071b9c77bfb)Graeme Russ
Fixes commit 407976185e0dda2c90e89027121a1071b9c77bfb Signed-off-by: Graeme Russ <graeme.russ at gmail.com>
2009-02-23mpc83xx: PCI: Fix hard-coded first_busno valueAnton Vorontsov
We should use pci_last_busno() in pci_init_bus(), otherwise we'll erroneously re-use PCI0's first_busno for PCI1 hoses. NOTE: The patch is untested. All MPC83xx FSL boards I have have PCI1 in miniPCI form, for which I don't have any cards handy. But looking in cpu/mpc85xx/pci.c: ... #ifdef CONFIG_MPC85XX_PCI2 hose = &pci_hose[1]; hose->first_busno = pci_hose[0].last_busno + 1; And considering that we do the same for MPC83xx PCI-E support, I think this patch is correct. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2009-02-23mpc83xx: PCI: Fix bus-range fdt fixups for PCI1 controllersAnton Vorontsov
This patch fixes copy-paste issue: pci_hose[0]'s first and last busnos were used to fixup pci1's nodes. We don't see this bug triggering only because Linux reenumerate buses anyway. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2009-02-23mpc83xx: PCIe: Fix CONFIG_PCI_SCAN_SHOW reporting bogus valuesAnton Vorontsov
This patch fixes an issue in config space read accessors: we should fill-in the value even if we fail (e.g. skipping devices), otherwise CONFIG_PCI_SCAN_SHOW reports bogus values during boot up. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2009-02-23mpc83xx: PCIe: Don't start bus enumeration at 0Anton Vorontsov
Currently we assign first_busno = 0 for the first PCIe hose, but this scheme won't work if we have ordinary PCI hose already registered (its first_busno value is 0 too). The old code worked fine only because we have PCI disabled on MPC837XEMDS boards in stand-alone mode (see commit 00f7bbae92e3b13f2b3 "mpc83xx: fix PCI scan hang on the standalone MPC837xE-MDS boards"). But on MPC837XERDB boards we have PCI and PCIe, so the bug actually triggers. So, to fix the issue, we should use pci_last_busno() + 1 for the first_busno (i.e. last available busno). Reported-by: Huang Changming <Chang-Ming.Huang@freescale.com> Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2009-02-22Merge branch 'master' of git://git.denx.de/u-boot-armWolfgang Denk
2009-02-22OMAP3: Add OMAP3 auto detectionDirk Behme
This patch adds OMAP3 cpu type auto detection based on OMAP3 register and removes hardcoded values. Signed-off-by: Steve Sakoman <sakoman@gmail.com> Signed-off-by: Dirk Behme <dirk.behme@googlemail.com>
2009-02-21Blackfin: disable syscontrol code for nowMike Frysinger
Looks like the initcode updates fell out of order during my merges. The patch that really fixes up this code is part of power-on overhaul and so is too large for merging at this point. Instead, we can disable the code as no currently in-tree board depends on it. The next merge window will fix things up properly. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-02-21MIPS: cpu/mips/Makefile: Add a missing START lineShinya Kuribayashi
In the commit 79b51ff8205f0354d5300570614c1d2db499679c ([MIPS] cpu/mips/ Makefile: Split [CS]OBJS onto separate lines), I wrongly deleted a START line. This patch puts it back. Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi@necel.com>
2009-02-20pxa: move mmc drivers to drivers/mmcJean-Christophe PLAGNIOL-VILLARD
introduce new macro CONFIG_PXA_MMC to activate it Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2009-02-20ARM:PXA Remove redefinition of mmc_cid and mmc_csd.Tom Rix
These structures are defined in the common mmc.h This was compile checked on cerf250.
2009-02-20pxa: fixing get_timer to return time in miliseconds.Micha Kalfon
Fixing the get_timer function to return time in miliseconds instead of ticks. Also fixed PXA boards to use the conventional value of 1000 for CONFIG_SYS_HZ. Signed-off-by: Micha Kalfon <smichak.uv@gmail.com>
2009-02-19Merge branch 'master' of git://git.denx.de/u-boot-ppc4xxWolfgang Denk
2009-02-19Coding style cleanup, update CHANGELOGWolfgang Denk
Signed-off-by: Wolfgang Denk <wd@denx.de>
2009-02-18ppc4xx: PCIe: Change 16GB inbound memory to 4GBStefan Roese
This patch fixes a problem recently seen on some 4xx platforms. For example on Kilauea PCIe slot #0. Signed-off-by: Stefan Roese <sr@denx.de>
2009-02-1683xx: Add eSDHC support on 8379 EMDS boardAndy Fleming
Signed-off-by: Andy Fleming <afleming@freescale.com>
2009-02-1685xx: Add eSDHC support for 8536 DSAndy Fleming
Signed-off-by: Andy Fleming <afleming@freescale.com>
2009-02-16Eliminated arch-specific mmc header requirementAndy Fleming
The current MMC infrastructure relies on the existence of an arch-specific header file. This isn't necessary, and a couple drivers were forced to implement dummy files to meet this requirement. Instead, we move the stuff in those header files into a more appropriate place, and eliminate the stubs and the #include of asm/arch/mmc.h Signed-off-by: Andy Fleming <afleming@freescale.com>
2009-02-16Convert mmc_init to mmc_legacy_initAndy Fleming
This is to get it out of the way of incoming MMC framework Signed-off-by: Andy Fleming <afleming@freescale.com>
2009-02-16Eliminate support for using MMC as memoryAndy Fleming
MMC cards are not memory, so we stop treating them that way. Signed-off-by: Andy Fleming <afleming@freescale.com>
2009-02-1632bit BUg fix for DDR2 on 8572Poonam_Aggrwal-b10812
This errata fix is required for 32 bit DDR2 controller on 8572. May also be required for P10XX20XX platforms Signed-off-by: Poonam_Agarwal-b10812 <b10812@lc1106.zin33.ap.freescale.net>
2009-02-1686xx: Update CPU info output on bootupPeter Tyser
- Update style of 86xx CPU information on boot to more closely match 85xx boards - Fix detection of 8641/8641D - Use strmhz() to display frequencies - Display L1 information - Display L2 cache size - Fixed CPU/SVR version output == Before == Freescale PowerPC CPU: Core: E600 Core 0, Version: 0.2, (0x80040202) System: Unknown, Version: 2.1, (0x80900121) Clocks: CPU:1066 MHz, MPX: 533 MHz, DDR: 266 MHz, LBC: 133 MHz L2: Enabled Board: X-ES XPedite5170 3U VPX SBC == After == CPU: 8641D, Version: 2.1, (0x80900121) Core: E600 Core 0, Version: 2.2, (0x80040202) Clock Configuration: CPU:1066.667 MHz, MPX:533.333 MHz DDR:266.667 MHz (533.333 MT/s data rate), LBC:133.333 MHz L1: D-cache 32 KB enabled I-cache 32 KB enabled L2: 512 KB enabled Board: X-ES XPedite5170 3U VPX SBC Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
2009-02-1686xx: Reset updatePeter Tyser
Update the 86xx reset sequence to try executing a board-specific reset function. If the board-specific reset is not implemented or does not succeed, then assert #HRESET_REQ. Using #HRESET_REQ is a more standard reset procedure than the previous method and allows all board peripherals to be reset if needed. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
2009-02-16fsl-ddr: Allow system to boot if we have more than 4G of memoryKumar Gala
Previously if we >=4G of memory and !CONFIG_PHYS_64BIT we'd report an error and hang. Instead of doing that since DDR is mapped in the lowest priority LAWs we setup the DDR controller and the max amount of memory we report back is what we can map (CONFIG_MAX_MEM_MAPPED) Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Acked-by: Becky Bruce <beckyb@kernel.crashing.org>