summaryrefslogtreecommitdiff
path: root/arch/arm/cpu/arm1176
AgeCommit message (Collapse)Author
2024-10-11arch: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILDSimon Glass
Use the new symbol to refer to any 'SPL' build, including TPL and VPL Signed-off-by: Simon Glass <[email protected]>
2023-01-20global: Remove unused CONFIG definesTom Rini
Remove some CONFIG symbols and related comments, etc, that are unused within the code itself at this point. Signed-off-by: Tom Rini <[email protected]>
2022-12-05global: Move remaining CONFIG_SYS_* to CFG_SYS_*Tom Rini
The rest of the unmigrated CONFIG symbols in the CONFIG_SYS namespace do not easily transition to Kconfig. In many cases they likely should come from the device tree instead. Move these out of CONFIG namespace and in to CFG namespace. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-10-31Rename CONFIG_SYS_TEXT_BASE to CONFIG_TEXT_BASESimon Glass
The current name is inconsistent with SPL which uses CONFIG_SPL_TEXT_BASE and this makes it imposible to use CONFIG_VAL(). Rename it to resolve this problem. Signed-off-by: Simon Glass <[email protected]>
2018-05-07SPDX: Convert all of our single license tags to Linux Kernel styleTom Rini
When U-Boot started using SPDX tags we were among the early adopters and there weren't a lot of other examples to borrow from. So we picked the area of the file that usually had a full license text and replaced it with an appropriate SPDX-License-Identifier: entry. Since then, the Linux Kernel has adopted SPDX tags and they place it as the very first line in a file (except where shebangs are used, then it's second line) and with slightly different comment styles than us. In part due to community overlap, in part due to better tag visibility and in part for other minor reasons, switch over to that style. This commit changes all instances where we have a single declared license in the tag as both the before and after are identical in tag contents. There's also a few places where I found we did not have a tag and have introduced one. Signed-off-by: Tom Rini <[email protected]>
2016-11-21arm: add save_boot_params for ARM1176Cédric Schieli
Implement a hook to allow boards to save boot-time CPU state for later use. When U-Boot is chain-loaded by another bootloader, CPU registers may contain useful information such as system configuration information. This feature mirrors the equivalent ARMv7 feature. Signed-off-by: Cédric Schieli <[email protected]> Acked-by: Stephen Warren <[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-12arm1136/arm1176: Merge cache handling codeAlexander Stein
As both cores are similar merge the cache handling code for both CPUs to arm11 directory. Signed-off-by: Alexander Stein <[email protected]> Acked-by: Stephen Warren <[email protected]> Tested-by: Stephen Warren <[email protected]> [trini: Add hunk to arch/arm/cpu/arm1136/Makefile] Signed-off-by: Tom Rini <[email protected]>
2015-04-10Merge branch 'u-boot/master'Albert ARIBAUD
2015-03-28ARM: bcm283x: merge BCM2835/BCM2836 directories into mach-bcm283xMasahiro Yamada
BCM2835 (used on Raspberry Pi) and BCM2836 (used on Raspberry Pi 2) are similar enough. One of the biggest differences is the ARM processor. It is reasonable to collect the source files into a single place, arch/arm/mach-bcm283x/. Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Stephen Warren <[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-02-24ARM: remove tnetv107x board supportMasahiro Yamada
This is still a non-generic board. Signed-off-by: Masahiro Yamada <[email protected]> Cc: Chan-Taek Park <[email protected]> Acked-by: Marek Vasut <[email protected]>
2015-02-24kconfig: remove unneeded dependency on !SPL_BUILDMasahiro Yamada
Now CONFIG_SPL_BUILD is not defined in Kconfig, so "!depends on SPL_BUILD" and "if !SPL_BUILD" are redundant. Signed-off-by: Masahiro Yamada <[email protected]>
2015-02-21rpi: add support for Raspberry Pi 2 model BStephen Warren
USB doesn't seem to work yet; the controller detects the on-board Hub/ Ethernet device but can't read the descriptors from it. I haven't investigated yet. Signed-off-by: Stephen Warren <[email protected]>
2015-02-21bcm2835/rpi: add SPDX license tags for some filesStephen Warren
Signed-off-by: Stephen Warren <[email protected]>
2015-02-12dm: Move Raspberry Pi driver model CONFIGs to KconfigSimon Glass
Remove driver model CONFIGs from the board config header and use Kconfig instead. Signed-off-by: Simon Glass <[email protected]>
2014-11-23kbuild: use SoC-specific CONFIG to descend into SoC directoryMasahiro Yamada
Use "obj-$(CONFIG_FOO) += foo/" where it is possible. Signed-off-by: Masahiro Yamada <[email protected]>
2014-11-23kbuild: Descend into SOC directory from CPU directoryMasahiro Yamada
Some CPUs of some architectures have SOC directories. At present, the build system directly descends into SOC directories from the top Makefile, but it should generally descend into each directory from its parent directory. Signed-off-by: Masahiro Yamada <[email protected]>
2014-11-23linux/kernel.h: sync min, max, min3, max3 macros with LinuxMasahiro Yamada
U-Boot has never cared about the type when we get max/min of two values, but Linux Kernel does. This commit gets min, max, min3, max3 macros synced with the kernel introducing type checks. Many of references of those macros must be fixed to suppress warnings. We have two options: - Use min, max, min3, max3 only when the arguments have the same type (or add casts to the arguments) - Use min_t/max_t instead with the appropriate type for the first argument Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Pavel Machek <[email protected]> Acked-by: Lukasz Majewski <[email protected]> Tested-by: Lukasz Majewski <[email protected]> [trini: Fixup arch/blackfin/lib/string.c] Signed-off-by: Tom Rini <[email protected]>
2014-09-24cosmetic: replace MIN, MAX with min, maxMasahiro Yamada
The macro MIN, MAX is defined as the aliase of min, max, respectively. Signed-off-by: Masahiro Yamada <[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-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-13ARM: bcm2835: config.mk isn't neededStephen Warren
The entries in config.mk were needed so that U-Boot could be built with an old version of the Raspberry Pi Foundation's toolchain. Without them, the build would error out with: ...-ld: error: .../libgcc.a(_bswapsi2.o) uses VFP register arguments, u-boot does not However, none of the 3 toolchains in the latest version of their tools.git, nor the Ubuntu/Linaro ARM compilers in at least Ubuntu Quantal or Saucy, need these options set in order to compile a working U-Boot. Hence, remove the options for simplicity. Reported-by: Tom Rini <[email protected]> Signed-off-by: Stephen Warren <[email protected]> Reviewed-by: Andreas Färber <[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-24lib: time: add weak timer_init() functionDarwin Rambo
If timer_init() is made a weak stub function, then it allows us to remove several empty timer_init functions for those boards that already have a timer initialized when u-boot starts. Architectures that use the timer framework may also remove the need for timer.c. Signed-off-by: Darwin Rambo <[email protected]> Reviewed-by: Tim Kryger <[email protected]>
2014-01-20ARM: bcm2835: fix mailbox timeoutStephen Warren
My original intention was to have a 100ms timeout. However, the timer operations used return values in ms not us, so we ended up with a 100s timeout instead. Fixing this exposes that some operations need longer to operate than 100ms, so bump the timeout up to a whole second. Reported-by: Andre Heider <[email protected]> Reviewed-by: Andre Heider <[email protected]> Signed-off-by: Stephen Warren <[email protected]>
2013-10-31ARM: convert makefiles to Kbuild styleMasahiro Yamada
Signed-off-by: Masahiro Yamada <[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-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-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-12arm1176: Remove unused MMU setup from start.SBenoît Thébaudeau
Following the removal of the smdk6400 board, the MMU setup code in arm1176/start.S becomes unused, so remove it. It will still be possible to restore it later from the Git history if necessary, in which case it should be moved out of the relocate_code() function. Signed-off-by: Benoît Thébaudeau <[email protected]>
2013-04-12arm: Remove deprecated and now unused NAND SPLBenoît Thébaudeau
Signed-off-by: Benoît Thébaudeau <[email protected]>
2013-04-12arm: Remove support for unused s3c64xxBenoît Thébaudeau
Following the removal of the smdk6400 board, the s3c64xx SoC becomes unused, so remove associated code. It will still be possible to restore it later from the Git history if necessary. Signed-off-by: Benoît Thébaudeau <[email protected]>
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-04-04ARM: bcm2835: fix get_timer() to return msStephen Warren
Apparently, CONFIG_SYS_HZ must be 1000. Change this, and fix the timer driver to conform to this. Have the timer implementation export a custom API get_timer_us() for use by the BCM2835 MMC API, which needs us resolution for a HW workaround. Signed-off-by: Stephen Warren <[email protected]>
2013-03-20ARM: bcm2835: add mailbox driverStephen Warren
The BCM2835 SoC contains (at least) two CPUs; the VideoCore (a/k/a "GPU") and the ARM CPU. The ARM CPU is often thought of as the main CPU. However, the VideoCore actually controls the initial SoC boot, and hides much of the hardware behind a protocol. This protocol is transported using the SoC's mailbox hardware module. Here, we add a very simplistic driver for the mailbox module, and define a few structures for the property messages. Signed-off-by: Stephen Warren <[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-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-11-15ARM: arm1176: Define arch_cpu_init() for s3c64xxAshok Kumar Reddy
arch_cpu_init() is removed from cpu level to SOC level for arm1176 in commit 4ea6d6b,the same is done for s3c64xx Signed-off-by: Ashok Kumar Reddy <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2012-11-04include/linux/byteorder: import latest endian definitions from linuxKim Phillips
u-boot's byteorder headers did not contain endianness attributions for use with sparse, causing a lot of false positives. Import the kernel's latest definitions, and enable them by including compiler.h and types.h. They come with 'const' added for some swab functions, so fix those up, too: include/linux/byteorder/big_endian.h:46:2: warning: passing argument 1 of '__swab64p' discards 'const' qualifier from pointer target type [enabled by default] Also, note: u-boot's historic __BYTE_ORDER definition has been preserved (for the time being at least). We also remove ad-hoc barrier() definitions, since we're including compiler.h in files that hadn't in the past: macb.c:54:0: warning: "barrier" redefined [enabled by default] In addition, including compiler.h in byteorder changes the 'noinline' definition to expand to __attribute__((noinline)). This fixes arch/powerpc/lib/bootm.c: bootm.c:329:16: error: attribute '__attribute__': unknown attribute bootm.c:329:16: error: expected ')' before '__attribute__' bootm.c:329:25: error: expected identifier or '(' before ')' token powerpc sparse builds yield: include/common.h:356:22: error: marked inline, but without a definition the unknown-reason inlining without a definition is considered obsolete given it was part of the 2002 initial commit, and no arm version was 'fixed.' also fixed: ydirectenv.h:60:0: warning: "inline" redefined [enabled by default] and: Configuring for devconcenter - Board: intip, Options: DEVCONCENTER make[1]: *** [4xx_ibm_ddr2_autocalib.o] Error 1 make: *** [arch/powerpc/cpu/ppc4xx/libppc4xx.o] Error 2 powerpc-fsl-linux-size: './u-boot': No such file 4xx_ibm_ddr2_autocalib.c: In function 'DQS_autocalibration': include/asm/ppc4xx-sdram.h:1407:13: sorry, unimplemented: inlining failed in call to 'ppc4xx_ibm_ddr2_register_dump': function body not available 4xx_ibm_ddr2_autocalib.c:1243:32: sorry, unimplemented: called from here and: In file included from crc32.c:50:0: crc32table.h:4:1: warning: implicit declaration of function '___constant_swab32' [-Wimplicit-function-declaration] crc32table.h:4:1: error: initializer element is not constant crc32table.h:4:1: error: (near initialization for 'crc32table_le[0]') Signed-off-by: Kim Phillips <[email protected]> [trini: Remove '#endif' in include/common.h around setenv portion] Signed-off-by: Tom Rini <[email protected]>
2012-10-18dm: wdt: arm: Move tnetv107x into drivers/watchdog/Marek Vasut
Signed-off-by: Marek Vasut <[email protected]> Cc: Oliver Brown <[email protected]> Cc: Wolfgang Denk <[email protected]> Cc: Albert Aribaud <[email protected]> Cc: U-Boot DM <[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]>