summaryrefslogtreecommitdiffstats
path: root/arch/arm/cpu
Commit message (Collapse)AuthorAgeFilesLines
* ARM V7 (OMAP): add data cache support, test on Beagle boardHeiko Schocher2010-09-191-0/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add data cache support for ARM V7 systems. Used cache flush functions from linux:arch/arm/mm/cache-v7.S developed from Catalin Marinas. Enable "cache" command on Beagle board and test performance. Test 1: Loading 127 MB of data from NAND flash into RAM: Instr. Cache off on on Data Cache off off on -------------------------------------------------- Beagle (Cortex A8) 116s 106s 30.3s = x 3.8 Test 2: uncompressing a gzipped image from RAM to RAM (size compressed: 6.5 MiB, uncompressed: 35 MiB): Instr. Cache off on on Data Cache off off on -------------------------------------------------- Beagle (Cortex A8) 1.84s 1.64s 0.12s = x 15.3 Portions of this work were supported by funding from the CE Linux Forum. Signed-off-by: Heiko Schocher <hs@denx.de> Reviewed-by: Ben Gardiner<bengardiner@nanometrics.ca>
* Prepare v2010.09-rc2Wolfgang Denk2010-09-191-1/+1
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* Prepare v2010.09-rc1Wolfgang Denk2010-09-107-7/+0
| | | | | | Coding style cleanup. Signed-off-by: Wolfgang Denk <wd@denx.de>
* Merge branch 'master' of git://git.denx.de/u-boot-tiWolfgang Denk2010-09-0910-288/+665
|\
| * ARMV7: OMAP3: Remove erroneous hard coded sdram setup for 128MB/bankSteve Sakoman2010-09-081-22/+21
| | | | | | | | | | | | | | | | | | Upcoming Beagle and Overo revisions use POP memory with 256MB or 512MB per bank. This patches uses the SDRC settings from x-load or the config header to set up timing properly. Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| * ARMV7: OMAP3: Fix broken reset command on OMAP36XX/37XX and OMAP4Steve Sakoman2010-09-081-1/+3
| | | | | | | | | | | | | | | | Using the reset command on OMAP36XX/37XX and OMAP4 caused a hang. This patch uses the reset bit appropriate for each CPU architecture. Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| * ARMV7: OMAP3: Apply Cortex-A8 errata workarounds only on affected revisionsMans Rullgard2010-09-081-3/+10
| | | | | | | | | | | | | | | | | | | | The workarounds for errata 621766 and 725233 should only be applied on affected Cortex-A8 revisions. Recent chips use r3px cores where these have been fixed. Signed-off-by: Mans Rullgard <mans@mansr.com> Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| * ARMV7: OMAP3: Convert setup_auxcr() to pure asmMans Rullgard2010-09-082-35/+19
| | | | | | | | | | | | | | | | | | | | | | This function consists entirely of inline asm statements, so writing it directly in a .S file is simpler. Additionally, the inline asm is not safe as is, since registers are not guaranteed to be preserved between asm() statements. Signed-off-by: Mans Rullgard <mans@mansr.com> Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| * ARMV7: OMAP3: Fix and clean up L2 cache enable/disable functionsMans Rullgard2010-09-081-54/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On OMAP34xx ES1.0, the L2 enable bit can only be set in secure mode, so an SMC call to the ROM monitor is required. On later versions, and on newer devices, this bit is banked and we can set it directly. The code checked only the ES revision of the chip, and hence incorrectly used the ROM call on ES1.0 versions of other devices. This patch adds a check for chip family as well as revision, and also removes some code duplication between the enable and disable functions. Signed-off-by: Mans Rullgard <mans@mansr.com> Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| * ARMV7: OMAP3: Add clock setup for OMAP36XX/37XXSteve Sakoman2010-09-082-147/+471
| | | | | | | | | | | | | | | | This patch configures clocks properly when a 36XX/37XX processor is detected. Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| * ARMV7: OMAP3: Update CPU type detection for AM35XX/OMAP36XX/37XXSteve Sakoman2010-09-081-26/+121
| | | | | | | | | | | | | | | | TI has added new processors to the OMAP3 family. This patch enhances the code in sysinfo.c to detect which family member is present. Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| * ARMV7: OMAP: Move syslib.c to omap-common since it can be shared by OMAP3 ↵Steve Sakoman2010-09-083-3/+2
| | | | | | | | | | | | | | | | | | | | and OMAP4 The functions in syslib.c can be shared, so this patch moves it from cpu/omap3 to cpu/omap-common Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* | Merge branch 'at91' of git://git.denx.de/u-boot-atmelWolfgang Denk2010-09-085-24/+330
|\ \
| * | AT91: add option to enable pullups in at91sam9260_devices.cReinhard Meyer2010-09-031-10/+25
| | | | | | | | | | | | Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
| * | AT91: reset.c: fix comments, add optionReinhard Meyer2010-09-031-10/+11
| | | | | | | | | | | | Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
| * | AT91SAM9XE: add embedded flash supportReinhard Meyer2010-09-032-0/+272
| | | | | | | | | | | | Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
| * | AT91: MCI: add SD/MMC driver using mmc frameworkReinhard Meyer2010-09-031-0/+21
| | | | | | | | | | | | Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
| * | AT91 Fix: return value of get_tbclkJens Scharsig2010-08-311-4/+1
| |/ | | | | | | | | | | | | * Fix: return value of get_tbclk * this fixes issue with prematurely restart/retry, if BOOT_RETRY_TIMEOUT is used Signed-off-by: Jens Scharsig <js_at_ng@scharsoft.de>
* | Merge branch 'master' of git://git.denx.de/u-boot-samsungWolfgang Denk2010-09-087-40/+103
|\ \
| * | ARMV7: S5P: separate the peripheral clocksMinkyu Kang2010-08-302-5/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because of peripheral devices can select clock sources, separate the peripheral clocks. (pwm, uart and so on) It just return the pclk at s5pc1xx SoC, but s5pc210 SoC must be calculated by own clock register setting. Signed-off-by: Minkyu Kang <mk7.kang@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
| * | ARMV7: S5P: rename from s5pc1xx to s5pMinkyu Kang2010-08-233-15/+14
| | | | | | | | | | | | | | | | | | | | | | | | Because of these are common files around s5p Socs, rename from s5pc1xx to s5p. And getting cpu_id is SoC specific, so move to SoC's header file. Signed-off-by: Minkyu Kang <mk7.kang@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
| * | ARMV7: S5P: make s5p-common for sharing the code between s5pc1xx and s5pc2xxMinkyu Kang2010-08-234-2/+46
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds basic support for s5pc210. s5p-common will be used by all of s5p SoCs. Signed-off-by: Minkyu Kang <mk7.kang@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
| * | S5P: Use accessor functions instead of SoC specific defines to access the ↵Minkyu Kang2010-08-175-20/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | base address This patch is intended to prepare the other S5P SoC. (s5pc210) If use SoC specific defines then can't share with other SoC. So, make the accessor functions for access the base address by common way. Signed-off-by: Minkyu Kang <mk7.kang@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
* | | Kirkwood: bugfix: window size (mis)calculationPrafulla Wadaskar2010-08-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fixed kw_winctrl_calcsize() off-by-1 bug which caused mapping windows size to be cut by half. This corrected all windows address configuration Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
* | | Orion5x: bugfix: window size (mis)calculationAlbert Aribaud2010-08-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix orion5x_winctrl_calcsize() off-by-1 bug which caused mapping windows to be cut by half. This afected all windows including NOR flash (causing half the flash to be unaccessible) but DRAM was and still is fine as its size is determined otherwise. Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
* | | Merge branch 'master' of git://git.denx.de/u-boot-tiWolfgang Denk2010-08-123-6/+6
|\ \ \ | | |/ | |/|
| * | Merge branch 'master' of git://git.denx.de/u-boot-armWolfgang Denk2010-08-106-30/+78
| |\ \
| * | | miiphy: constify device nameMike Frysinger2010-08-093-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The driver name does not need to be writable, so constify it. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* | | | ARM: Add support for MB86R0x SoCsMatthias Weisser2010-08-104-0/+272
| |/ / |/| | | | | | | | Signed-off-by: Matthias Weisser <weisserm@arcor.de>
* | | Merge branch 'master' of git://git.denx.de/u-boot-imxWolfgang Denk2010-08-101-1/+1
|\ \ \
| * | | MX51EVK: fix return value of get_timer_maskedLi Haibo2010-08-101-1/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | get_timer_masked() should return current timestamp, not current ticks from hardware register. Tested on one custom board with NAND flash. Without this patch, NAND write always TIMEOUT because get_timer(0) return a big value. This patch applies for u-boot-2010.06 Signed-off-by: Li Haibo <hbli@sinocastel.com>
* | | orion5x: allow overriding default mappings windowsAlbert Aribaud2010-08-101-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Turn all ORION5X_DEF{ADR,SZ}_xxx macros into ORION5X_{ADR,SZ}_xxx and allow defining them from board code to override defaults. This is particularly useful for defining board-specific FLASH address and size in board header file rather than having to tweak orion5x code. Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
* | | ARMV7: Fix udelay for OMAP4Steve Sakoman2010-08-051-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | The OMAP4 x-load code sets gptimer1 clock source to 32Khz. This isn't acceptable for udelay. This patch changes from gptimer1 to gptimer2, which uses sys_clk at 38.4 Mhz. Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* | | ARMV7: Add pad mux support for OMAP4Steve Sakoman2010-08-051-0/+11
| |/ |/| | | | | | | | | | | | | | | | | Add functional multiplexing support for OMAP4 pads. Configure all the pads for the OMAP4430 SDP and OMAP4 Panda boards Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Aneesh V <aneesh@ti.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* | Merge branch 'master' of git://git.denx.de/u-boot-tiWolfgang Denk2010-07-162-0/+46
|\ \ | |/ |/|
| * ARMV7: Add basic gpmc initialization for OMAP4Steve Sakoman2010-07-152-0/+46
| | | | | | | | | | | | | | | | This patch adds a gpmc_init function for OMAP4 and adds calls to gpmc_init for existing OMAP4 boards: panda and sdp4430 Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* | Merge branch 'master' of git://git.denx.de/u-boot-pxaWolfgang Denk2010-07-152-6/+118
|\ \
| * | PXA: Add support for LMS285GF05 into pxafbMarek Vasut2010-07-141-0/+34
| | | | | | | | | | | | Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
| * | Voipac PXA270 LCD SupportMarek Vasut2010-07-141-0/+33
| | | | | | | | | | | | Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
| * | PXA: Add OneNAND booting support to start.SMarek Vasut2010-07-141-5/+43
| | | | | | | | | | | | Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
| * | Enable PXAFB for PXA27X and PXA3XXMarek Vasut2010-07-141-1/+8
| | |
* | | Merge branch 'master' of ../masterWolfgang Denk2010-07-152-2/+10
|\ \ \ | |/ / | | / | |/ |/|
| * mvgbe: add support for orion5x GbE controllerAlbert Aribaud2010-07-121-0/+8
| | | | | | | | | | | | | | | | | | Add definitions and initialization in orion5x for mvgbe. Add orion5x in mvgbe SoC includes. Signed-off-by: Albert Aribaud <albert.aribaud@free.fr> Acked-by: Prafulla Wadaskar <prafulla@marvell.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| * mvgbe: support SoCs other than kirkwoodAlbert Aribaud2010-07-121-2/+2
| | | | | | | | | | | | | | | | | | Rename all references to kirkwood in mvgbe symbols throughout the whole codebase. Signed-off-by: Albert Aribaud <albert.aribaud@free.fr> Acked-by: Prafulla Wadaskar <prafulla@marvell.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* | ARMV7: Add basic support for TI OMAP4Steve Sakoman2010-07-059-2/+324
| | | | | | | | | | | | | | | | | | This patch adds minimum support for OMAP4. Code which can be shared between OMAP3 and OMAP4 is placed in arch/arm/cpu/armv7/omap-common Signed-off-by: Aneesh V <aneesh@ti.com> Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* | ARM: Rename arch/arm/cpu/arm_cortexa8 to armv7Steve Sakoman2010-07-0533-3/+3
|/ | | | | | | | | | | | The purpose of this patch is to prepare for adding the OMAP4 architecture, which is Cortex A9 Cortex A8 and A9 both belong to the armv7 architecture, hence the name change. The two architectures are similar enough that substantial code can be shared. Signed-off-by: Aneesh V <aneesh@ti.com> Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* Make sure that argv[] argument pointers are not modified.Wolfgang Denk2010-07-042-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The hush shell dynamically allocates (and re-allocates) memory for the argument strings in the "char *argv[]" argument vector passed to commands. Any code that modifies these pointers will cause serious corruption of the malloc data structures and crash U-Boot, so make sure the compiler can check that no such modifications are being done by changing the code into "char * const argv[]". This modification is the result of debugging a strange crash caused after adding a new command, which used the following argument processing code which has been working perfectly fine in all Unix systems since version 6 - but not so in U-Boot: int main (int argc, char **argv) { while (--argc > 0 && **++argv == '-') { /* ====> */ while (*++*argv) { switch (**argv) { case 'd': debug++; break; ... default: usage (); } } } ... } The line marked "====>" will corrupt the malloc data structures and usually cause U-Boot to crash when the next command gets executed by the shell. With the modification, the compiler will prevent this with an error: increment of read-only location '*argv' N.B.: The code above can be trivially rewritten like this: while (--argc > 0 && **++argv == '-') { char *arg = *argv; while (*++arg) { switch (*arg) { ... Signed-off-by: Wolfgang Denk <wd@denx.de> Acked-by: Mike Frysinger <vapier@gentoo.org>
* Prepare v2010.06-rc3Wolfgang Denk2010-06-231-70/+70
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* Merge branch 'master' of /home/wd/git/u-boot/custodiansWolfgang Denk2010-06-221-4/+4
|\
| * Fix wrong orion5x MPP and GIPO writel argumentsAlbert Aribaud2010-06-221-4/+4
| | | | | | | | | | | | | | Orion5x MPP and GPIO setting code had writel arguments the wrong way around. Fixed and tested. Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
OpenPOWER on IntegriCloud