summaryrefslogtreecommitdiff
path: root/arch/arm/cpu/pxa
AgeCommit message (Collapse)Author
2017-03-18arm: Migrate SYS_THUMB_BUILD to Kconfig, introduce SPL_SYS_THUMB_BUILDTom Rini
Today, we have cases where we wish to build all of U-Boot in Thumb2 mode for various reasons. We also have cases where we only build SPL in Thumb2 mode due to size constraints and wish to build the rest of the system in ARM mode. So in this migration we introduce a new symbol as well, SPL_SYS_THUMB_BUILD to control if we build everything or just SPL (or in theory, just U-Boot) in Thumb2 mode. Signed-off-by: Tom Rini <[email protected]> Acked-by: Siarhei Siamashka <[email protected]>
2016-08-26ARM: Move SYS_CACHELINE_SIZE over to KconfigTom Rini
This series moves the CONFIG_SYS_CACHELINE_SIZE. First, in nearly all cases we are mirroring the values used by the Linux Kernel here. Also, so long as (and in this case, it is true) we implement flushes in hunks that are no larger than the smallest implementation (and given that we mirror the Linux Kernel, again we are fine) it is OK to align higher. The biggest changes here are that we always use 64 bytes for CPU_V7 even if for example the underlying core is only 32 bytes (this mirrors Linux). Second, we say ARM64 uses 64 bytes not 128 (as found in the Linux Kernel) as we do not need multi-platform support (to this degree) and only the Cavium ThunderX 88xx series has a use for such large alignment. Cc: Albert Aribaud <[email protected]> Cc: Marek Vasut <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Prafulla Wadaskar <[email protected]> Cc: Luka Perkov <[email protected]> Cc: Stefan Roese <[email protected]> Cc: Nagendra T S <[email protected]> Cc: Vaibhav Hiremath <[email protected]> Acked-by: Lokesh Vutla <[email protected]> Cc: Steve Rae <[email protected]> Cc: Igor Grinberg <[email protected]> Cc: Nikita Kiryanov <[email protected]> Cc: Stefan Agner <[email protected]> Acked-by: Heiko Schocher <[email protected]> Cc: Mateusz Kulikowski <[email protected]> Cc: Peter Griffin <[email protected]> Acked-by: Paul Kocialkowski <[email protected]> Cc: Anatolij Gustschin <[email protected]> Acked-by: "Pali Rohár" <[email protected]> Cc: Adam Ford <[email protected]> Cc: Steve Sakoman <[email protected]> Cc: Grazvydas Ignotas <[email protected]> Cc: Nishanth Menon <[email protected]> Cc: Stephen Warren <[email protected]> Cc: Robert Baldyga <[email protected]> Cc: Minkyu Kang <[email protected]> Cc: Thomas Weber <[email protected]> Cc: Masahiro Yamada <[email protected]> Cc: David Feng <[email protected]> Cc: Alison Wang <[email protected]> Cc: Michal Simek <[email protected]> Cc: Simon Glass <[email protected]> Cc: York Sun <[email protected]> Cc: Shengzhou Liu <[email protected]> Cc: Mingkai Hu <[email protected]> Cc: Prabhakar Kushwaha <[email protected]> Cc: Aneesh Bansal <[email protected]> Cc: Saksham Jain <[email protected]> Cc: Qianyu Gong <[email protected]> Cc: Wang Dongsheng <[email protected]> Cc: Alex Porosanu <[email protected]> Cc: Hongbo Zhang <[email protected]> Cc: tang yuantian <[email protected]> Cc: Rajesh Bhagat <[email protected]> Cc: Josh Wu <[email protected]> Cc: Bo Shen <[email protected]> Cc: Viresh Kumar <[email protected]> Cc: Hannes Schmelzer <[email protected]> Cc: Thomas Chou <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Sam Protsenko <[email protected]> Cc: Bin Meng <[email protected]> Cc: Christophe Ricard <[email protected]> Cc: Anand Moon <[email protected]> Cc: Beniamino Galvani <[email protected]> Cc: Carlo Caione <[email protected]> Cc: huang lin <[email protected]> Cc: Sjoerd Simons <[email protected]> Cc: Xu Ziyuan <[email protected]> Cc: "[email protected]" <[email protected]> Cc: "Ariel D'Alessandro" <[email protected]> Cc: Kever Yang <[email protected]> Cc: Samuel Egli <[email protected]> Cc: Chin Liang See <[email protected]> Cc: Dinh Nguyen <[email protected]> Cc: Hans de Goede <[email protected]> Cc: Ian Campbell <[email protected]> Cc: Siarhei Siamashka <[email protected]> Cc: Boris Brezillon <[email protected]> Cc: Andre Przywara <[email protected]> Cc: Bernhard Nortmann <[email protected]> Cc: Wolfgang Denk <[email protected]> Cc: Ben Whitten <[email protected]> Cc: Tom Warren <[email protected]> Cc: Alexander Graf <[email protected]> Cc: Sekhar Nori <[email protected]> Cc: Vitaly Andrianov <[email protected]> Cc: "Andrew F. Davis" <[email protected]> Cc: Murali Karicheri <[email protected]> Cc: Carlos Hernandez <[email protected]> Cc: Ladislav Michl <[email protected]> Cc: Ash Charles <[email protected]> Cc: Mugunthan V N <[email protected]> Cc: Daniel Allred <[email protected]> Cc: Gong Qianyu <[email protected]> Signed-off-by: Tom Rini <[email protected]> Acked-by: Masahiro Yamada <[email protected]> Acked-by: Chin Liang See <[email protected]> Tested-by: Stephen Warren <[email protected]> Acked-by: Paul Kocialkowski <[email protected]>
2016-03-27pxa: add support for D- and I- cachesVasily Khoruzhick
Tested with OHCI and pxafb drivers - no issues found Signed-off-by: Vasily Khoruzhick <[email protected]>
2016-03-27pxa: start.S: enable SRAM clockVasily Khoruzhick
SRAM is used for early stack, but kernel disables its clock on suspend. Re-enable SRAM clock on startup, otherwise u-boot crashes on resume from suspend. Signed-off-by: Vasily Khoruzhick <[email protected]>
2016-02-29ARM: start.S: fix typoYuichiro Goto
Fix typo in comment about position of 'A' bit in several start.S. Signed-off-by: Yuichiro Goto <[email protected]>
2015-08-24arm: pxa: clean-up include file orderMarcel Ziswiler
Cleaning up order of include files by sorting them alphabetically keeping in mind to leave common.h on top. Signed-off-by: Marcel Ziswiler <[email protected]>
2015-08-24arm: pxa: use common timer functionsAndrew Ruder
This patch moves pxa to the common timer functions added in commit 8dfafdd - Introduce common timer functions <Rob Herring> The (removed) pxa timer code (specifically __udelay()) could deadlock at the 32-bit boundary of get_ticks(). get_ticks() returned a 32-bit value cast up to a 64-bit value. If get_ticks() + tmo in __udelay() crossed the 32-bit boundary, the while condition became unconditionally true and locked the processor. Rather than patch the specific pxa issues, simply move everything over to the common code. Signed-off-by: Andrew Ruder <[email protected]> Cc: Marek Vasut <[email protected]> Cc: Tom Rini <[email protected]>
2015-08-24pxa: Fix boot hang by avoiding vector relocationAndrew Ruder
Since commit 3ff46cc42b9d73d0 ("arm: relocate the exception vectors") pxa does not boot anymore. Add a specific relocate_vectors macro that skips the vector relocation, as the pxa SoC does not provide RAM at the high vectors address (0xFFFF0000), and (0x00000000) maps to ROM. This allows pxa to boot again. Cc: Marek Vasut <[email protected]> Signed-off-by: Andrew Ruder <[email protected]>
2015-03-27ARM: move -march=* and -mtune= options to arch/arm/MakefileMasahiro Yamada
My main motivations for this commit are: [1] Follow the arch/arm/Makefile style of Linux Kernel [2] Maintain compiler options systematically Currently, we give -march=* and -mtune=* options inconsistently: Only some of the CPUs pass -march=* and -mtune=* options. By collecting such options into the single place arch/arm/Makefile we can tell which options are missing at a glance. [3] Prepare for deprecating arch/*/cpu/*/config.mk Note: This commit just moves the compiler options so as not to change the behavior at all. It does not care about the correctness of the given options. Fox example, "-march=armv5te" might be better than "-march=armv4" for ARM946EJS, but it is beyond the scope this commit. Also, filling the missing -march=* and -tune=* is left to follow-up patches. Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Marek Vasut <[email protected]> Acked-by: Stefan Roese <[email protected]>
2015-03-24remove unnecessary version.h includesRob Herring
Various files are needlessly rebuilt every time due to the version and build time changing. As version.h is not actually needed, remove the include. Signed-off-by: Rob Herring <[email protected]> Cc: Albert Aribaud <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Minkyu Kang <[email protected]> Cc: Marek Vasut <[email protected]> Cc: Tom Warren <[email protected]> Cc: Michal Simek <[email protected]> Cc: Macpaul Lin <[email protected]> Cc: Wolfgang Denk <[email protected]> Cc: York Sun <[email protected]> Cc: Stefan Roese <[email protected]> Cc: Nobuhiro Iwamatsu <[email protected]> Cc: Simon Glass <[email protected]> Cc: Philippe Reynes <[email protected]> Cc: Eric Jarrige <[email protected]> Cc: "David Müller" <[email protected]> Cc: Phil Edworthy <[email protected]> Cc: Robert Baldyga <[email protected]> Cc: Torsten Koschorrek <[email protected]> Cc: Anatolij Gustschin <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Reviewed-by: Łukasz Majewski <[email protected]>
2015-03-05arm: pxa: introducing cpuinfo display for marvell pxa270mMarcel Ziswiler
According to table 2-3 on page 87 of Marvell's latest PXA270 Specification Update Rev. I from 2010.04.19 [1] there exists a breed of chips with a new CPU ID for PXA270M A1 stepping which our latest Colibri PXA270 V2.4A modules actually have assembled. This patch helps in correctly identifying those chips upon boot as well which then looks as follows: CPU: Marvell PXA27xM rev. A1 [1] http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_spec_update.pdf Acked-by: Marek Vasut <[email protected]>
2014-05-15arm: move exception handling out of start.S filesAlbert ARIBAUD
Exception handling is basically identical for all ARM targets. Factorize it out of the various start.S files and into a single vectors.S file, and adjust linker scripts accordingly. Signed-off-by: Albert ARIBAUD <[email protected]>
2014-05-15arm: remove unused _end_vect and _vectors_end symbolsAlbert ARIBAUD
Signed-off-by: Albert ARIBAUD <[email protected]>
2014-05-15arm: pxa: move SP check from start.S to cpuinfo.cAlbert ARIBAUD
PXA start.S has a PXA (variant) specific check in start.S. Move it to cpuinfo.c. Signed-off-by: Albert ARIBAUD <[email protected]> Acked-by: Marek Vasut <[email protected]>
2014-02-26Merge branch 'master' of git://git.denx.de/u-boot-armTom Rini
Conflicts: arch/arm/cpu/armv7/config.mk board/ti/am43xx/mux.c include/configs/am43xx_evm.h Signed-off-by: Tom Rini <[email protected]>
2014-02-26arm: remove unneeded symbol offsets and _TEXT_BASEAlbert ARIBAUD
Remove the last uses of symbol offsets in ARM U-Boot. Remove some needless uses of _TEXT_BASE. Remove all _TEXT_BASE definitions. Signed-off-by: Albert ARIBAUD <[email protected]>
2014-02-25kbuild: rename OBJCFLAGS to OBJCOPYFLAGSMasahiro Yamada
Rename OBJCFLAGS to OBJCOPYFLAGS beforehand to use "cmd_objcopy" in scripts/Makefile.lib in an upcoming commit. Signed-off-by: Masahiro Yamada <[email protected]>
2014-01-24ARM: merge commonly-defined PLATFORM_RELFLAGSMasahiro Yamada
Before this commit, all arch/arm/cpu/${CPU}/config.mk except ARMv8 had the same option: $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) This commit moves it into arch/arm/config.mk. If the compiler does not support the option, it is ignored by $(call cc-option,...). So this commit gives no harm to ARMv8. Signed-off-by: Masahiro Yamada <[email protected]>
2014-01-13ARM: pxa: Fix OneNAND SPL buildsMarek Vasut
The OneNAND SPL used on PXA is slightly obscure. Due to the OneNAND limitation, where we have only the first 1KiB of the OneNAND available upon power-up as a memory-mapped area, from which the CPU starts executing, we place only the most essential code into this first 1KiB . This code copies the rest of the SPL into SRAM and jumps to it. This code is stored in section .text.0 . The rest of the SPL is stored in section .text.1 . When running the OBJCOPY on the SPL, it will preserve only .text section, but the .text.0 and .text.1 are stripped away from the result, thus making the SPL binary empty. The patch adds additional -j parameters to the OBJCOPY for PXA during the SPL build, which will preserve the .text.0 and .text.1 sections. Moreover, this patch also adds missing functions into the .text.0 section, since otherwise the PXA270 with 1KiB-window OneNAND won't be able to boot. Signed-off-by: Marek Vasut <[email protected]> Cc: Albert Aribaud <[email protected]> Cc: Tom Rini <[email protected]>
2014-01-10Merge branch 'master' of git://git.denx.de/u-boot-armTom Rini
Bringing in the MMC tree means that CONFIG_BOUNCE_BUFFER needed to be added to include/configs/exynos5-dt.h now. Conflicts: include/configs/exynos5250-dt.h Signed-off-by: Tom Rini <[email protected]>
2013-12-18ARM: pxa: prevent PXA270 occasional reboot freezesSergei Ianovich
Erratum 71 of PXA270M Processor Family Specification Update (April 19, 2010) explains that watchdog reset time is just 8us insead of 10ms in EMTS. If SDRAM is not reset, it causes memory bus congestion and the device hangs. We put SDRAM in selfresh mode before watchdog reset, removing potential freezes. Signed-off-by: Sergei Ianovich <[email protected]> CC: Marek Vasut <[email protected]>
2013-12-13ARM:PXA: Correct tick_to_time / us_to_tick to use lldivTom Rini
Cc: Marek Vasut <[email protected]> Signed-off-by: Tom Rini <[email protected]> Acked-by: Marek Vasut <[email protected]>
2013-10-31ARM: convert makefiles to Kbuild styleMasahiro Yamada
Signed-off-by: Masahiro Yamada <[email protected]>
2013-10-14Coding Style cleanup: remove trailing white spaceWolfgang Denk
Signed-off-by: Wolfgang Denk <[email protected]>
2013-09-23ARM: refactor compiler options in config.mkMasahiro Yamada
Every ARM cpu config.mk (arch/arm/cpu/{CPUDIR}/config.mk) defines: PLATFORM_RELFLAGS += -fno-common -ffixed-r8 -msoft-float So, this patch moves the common compiler options to arch/arm/config.mk. Signed-off-by: Masahiro Yamada <[email protected]>
2013-07-24Add GPL-2.0+ SPDX-License-Identifier to source filesWolfgang Denk
Signed-off-by: Wolfgang Denk <[email protected]> [trini: Fixup common/cmd_io.c] Signed-off-by: Tom Rini <[email protected]>
2013-06-22pxa: use -mcpu=xscale compiler optionMike Dunn
Pass '-mcpu=xscale' to the compiler instead of march and mtune. This will cause gcc to define the __XSCALE__ macro. Signed-off-by: Mike Dunn <[email protected]>
2013-06-22pxa: turn icache off in cpu_init_crit()Mike Dunn
The comment in the low-level initialization function cpu_init_crit() says that the caches are being disabled, but (oddly) the icache is actually turned on. This is probably not a good idea prior to relocating code, so this patch turns it off. Tested on the pxa270. Signed-off-by: Mike Dunn <[email protected]>
2013-06-12arm: pxa: config option for PXA270 turbo modeSergey Yanovich
PXA270 CPU has turbo mode. The mode is 2.5 times faster than the default run mode. Activating the mode early significantly speeds up boot process. Signed-off-by: Sergey Yanovich <[email protected]>
2013-05-30arm: factorize relocate_code routineAlbert ARIBAUD
Replace all relocate_code routines from ARM start.S files with a single instance in file arch/arm/lib/relocate.S. For PXA, this requires moving the dcache unlocking code from within relocate_code into c_runtime_cpu_setup. Signed-off-by: Albert ARIBAUD <[email protected]> Reviewed-by: Benoît Thébaudeau <[email protected]> Tested-by: Simon Glass <[email protected]>
2013-05-30arm: do not compile relocate_code() for SPL buildsAlbert ARIBAUD
Signed-off-by: Albert ARIBAUD <[email protected]> Reviewed-by: Benoît Thébaudeau <[email protected]> Tested-by: Simon Glass <[email protected]>
2013-05-05pxa: Add weak attribute to reset_cpu() functionŁukasz Dałek
This commit allows pxa2xx based boards to reimplement reset_cpu() function with board specific reset sequence. Signed-off-by: Lukasz Dalek <[email protected]>
2013-04-13BUGFIX: arm: data abort in get_bad_stack_swiTetsuyuki Kobayashi
When swi instruction is executed, it is expected to get message "software interrupt" in console and dump registers and reboot, as do_software_interrupt() in arch/arm/lib/interrupts.c. But, actually it causes data abort accessing wrong address in get_bad_stack_swi macro in arch/arm/cpu/v7/start.S. This patch fixes this problem. The same mistake in arch/arm/cpu/{arm1136,arm1176,pxa}/start.S. Signed-off-by: Tetsuyuki Kobayashi <[email protected]>
2013-04-12Merge branch 'u-boot/master' into 'u-boot-arm/master'Albert ARIBAUD
Conflicts: drivers/video/exynos_fb.c
2013-04-12arm: Remove unused relocate_code() parametersBenoît Thébaudeau
Commit e05e5de7fae5bec79617e113916dac6631251156 made the 2 1st parameters of ARM's relocate_code() useless since it moved the code handling them to crt0.S. So, drop these parameters. Signed-off-by: Benoît Thébaudeau <[email protected]>
2013-04-12arm: relocate_code(): Use __image_copy_end for end of relocationBenoît Thébaudeau
Use __image_copy_end instead of __bss_start for the end of the image to relocate. This is the same as commit 033ca72, but applied to all ARM start.S. This is a more appropriate symbol naming for an image copy & relocate feature, and this also saves a useless copy of data put between __image_copy_end and __bss_start in linker scripts (e.g. relocation information, or MMU initialization tables used only before jumping to the relocated image). Signed-off-by: Benoît Thébaudeau <[email protected]>
2013-04-12arm: relocate_code(): Remove useless relocation offset computationBenoît Thébaudeau
Signed-off-by: Benoît Thébaudeau <[email protected]>
2013-04-12arm: relocate_code() is no longer noreturnBenoît Thébaudeau
Commit e05e5de7fae5bec79617e113916dac6631251156 made ARM's relocate_code() return to its caller, but it did not update its declaration accordingly. Fixing this function declaration fixes dropped C code following calls to relocate_code(). Signed-off-by: Benoît Thébaudeau <[email protected]>
2013-04-12arm: start.S: Fix _TEXT_BASE for SPLBenoît Thébaudeau
_TEXT_BASE must be set to CONFIG_SPL_TEXT_BASE for generic SPL, and to CONFIG_SYS_TEXT_BASE for non-SPL builds. Signed-off-by: Benoît Thébaudeau <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2013-03-21lcd, pxafb: move the pxafb to drivers/videoJeroen Hofstee
Since the lcd code was compiled unconditionally for pxa also add CONFIG_PXA_LCD to the boards using this framebuffer. Since driver/video contains video and lcd drivers, add lcd to the name to make clear it belongs to common/lcd.c. cc: Anatolij Gustschin <[email protected]> cc: Cliff Brake <[email protected]> cc: Marek Vasut <[email protected]> Acked-by: Marek Vasut <[email protected]> Signed-off-by: Jeroen Hofstee <[email protected]>
2013-03-21common/lcd.c: cleanup use of global variablesWolfgang Denk
lcd_color_fg and lcd_color_bg had to be declared in board specific code, but were not actually used there; in addition, we have getter / setter functions for these, which were not used either. Get rid of the global variables, and use the getter function where needed (so far no setter calls are needed). Signed-off-by: Wolfgang Denk <[email protected]> Cc: Alessandro Rubini <[email protected]> Cc: Anatolij Gustschin <[email protected]> Cc: Bo Shen <[email protected]> Cc: Haavard Skinnemoen <[email protected]> Cc: Kyungmin Park <[email protected]> Cc: Marek Vasut <[email protected]> Cc: Minkyu Kang <[email protected]> Cc: Nikita Kiryanov <[email protected]> Cc: Simon Glass <[email protected]> Cc: Stelian Pop <[email protected]> Cc: Tom Warren <[email protected]> Acked-by: Simon Glass <[email protected]> Acked-by: Jeroen Hofstee <[email protected]> [agust: also fixed cm_t35 board while rebasing] Signed-off-by: Anatolij Gustschin <[email protected]>
2013-03-15Replace __bss_end__ with __bss_endSimon Glass
Note this is a tree-wide change affecting multiple architectures. At present we use __bss_start, but mostly __bss_end__. This seems inconsistent and in a number of places __bss_end is used instead. Change to use __bss_end for the BSS end symbol throughout U-Boot. This makes it possible to use the asm-generic/sections.h file on all archs. Signed-off-by: Simon Glass <[email protected]>
2013-02-01arm: Move lastinc to arch_global_dataSimon Glass
Move this field into arch_global_data and tidy up. Signed-off-by: Simon Glass <[email protected]>
2013-02-01arm: Move tbl to arch_global_dataSimon Glass
Move this field into arch_global_data and tidy up. Signed-off-by: Simon Glass <[email protected]>
2013-01-14pxa: Save lr register in relocate_code functionŁukasz Dałek
When u-boot is compiled for PXA25x processor, pxa/start.S is calling cpu_init_crit by BL instruction. BL is overwriting lr register so relocate_code is going into infinite loop. This patch preservs lr register in r12 before calling cpu_init_crit and after function returns restores it. Signed-off-by: Lukasz Dalek <[email protected]> Acked-by: Marek Vasut <[email protected]>
2013-01-08arm: move C runtime setup code in crt0.SAlbert ARIBAUD
Move all the C runtime setup code from every start.S in arch/arm into arch/arm/lib/crt0.S. This covers the code sequence from setting up the initial stack to calling into board_init_r(). Also, rewrite the C runtime setup and make functions board_init_*() and relocate_code() behave according to normal C semantics (no jumping across the C stack any more, etc). Some SPL targets had to be touched because they use start.S explicitly or for some reason; the relevant maintainers and custodians are cc:ed. Signed-off-by: Albert ARIBAUD <[email protected]>
2012-10-15pxa: Add code to examine cpu model and revisionLukasz Dalek
Add function which return CPU model and revision which can be used for cpu detection. Signed-off-by: Lukasz Dalek <[email protected]>
2012-10-04arm: Fixed the offset for the no relocation.Zhong Hongbo
When the u-boot address of destination equal to __start, no relocation. relocation offset(r9) = 0. Signed-off-by: Zhong Hongbo <[email protected]> Tested-by: Stefano Babic <[email protected]>
2012-07-20arm: Fix to mistake clean the memory spaceZhong Hongbo
In currently, when __bss_start is equal to __bss_end__, The bss loop will clear all the things in memory space. But just only when __bss_end__ greater than __bss_start__, we do the clear bss section operation. Signed-off-by: Zhong Hongbo <[email protected]> Acked-by: Andreas Bießmann <[email protected]>
2012-03-30arm: Use common .lds file where possibleSimon Glass
Each cpu directory currently has its own .lds file. This is only needed in most cases because the start.o file is in a different subdir. Now that we can factor out this difference, we can move most cpus over to the common .lds file. Signed-off-by: Simon Glass <[email protected]>