summaryrefslogtreecommitdiff
path: root/arch/blackfin/cpu
AgeCommit message (Collapse)Author
2017-04-05Blackfin: RemoveTom Rini
The architecture is currently unmaintained, remove. Cc: Benjamin Matthews <[email protected]> Cc: Chong Huang <[email protected]> Cc: Dimitar Penev <[email protected]> Cc: Haitao Zhang <[email protected]> Cc: I-SYST Micromodule <[email protected]> Cc: M.Hasewinkel (MHA) <[email protected]> Cc: Marek Vasut <[email protected]> Cc: Martin Strubel <[email protected]> Cc: Peter Meerwald <[email protected]> Cc: Sonic Zhang <[email protected]> Cc: Valentin Yakovenkov <[email protected]> Cc: Wojtek Skulski <[email protected]> Cc: Wojtek Skulski <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2016-09-23treewide: replace #include <asm/errno.h> with <linux/errno.h>Masahiro Yamada
Now, arch/${ARCH}/include/asm/errno.h and include/linux/errno.h have the same content. (both just wrap <asm-generic/errno.h>) Replace all include directives for <asm/errno.h> with <linux/errno.h>. Signed-off-by: Masahiro Yamada <[email protected]> [trini: Fixup include/clk.] Signed-off-by: Tom Rini <[email protected]>
2016-09-23arch, board: squash lines for immediate returnMasahiro Yamada
Remove unneeded variables and assignments. Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Minkyu Kang <[email protected]> Reviewed-by: Angelo Dureghello <[email protected]>
2016-02-06Use correct spelling of "U-Boot"Bin Meng
Correct spelling of "U-Boot" shall be used in all written text (documentation, comments in source files etc.). Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Minkyu Kang <[email protected]>
2015-11-10Various Makefiles: Add SPDX-License-Identifier tagsTom Rini
After consulting with some of the SPDX team, the conclusion is that Makefiles are worth adding SPDX-License-Identifier tags too, and most of ours have one. This adds tags to ones that lack them and converts a few that had full (or in one case, very partial) license blobs into the equivalent tag. Cc: Kate Stewart <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2015-11-05video: Drop DEV_FLAGS_SYSTEM flagBin Meng
DEV_FLAGS_SYSTEM does not have any actual meaning, hence drop it. Signed-off-by: Bin Meng <[email protected]>
2015-01-29Export redesignMartin Dorwig
this is an atempt to make the export of functions typesafe. I replaced the jumptable void ** by a struct (jt_funcs) with function pointers. The EXPORT_FUNC macro now has 3 fixed parameters and one variadic parameter The first is the name of the exported function, the rest of the parameters are used to format a functionpointer in the jumptable, the EXPORT_FUNC macros are expanded three times, 1. to declare the members of the struct 2. to initialize the structmember pointers 3. to call the functions in stubs.c Signed-off-by: Martin Dorwig <[email protected]> Acked-by: Simon Glass <[email protected]> Signed-off-by: Simon Glass <[email protected]> (resending to the list since my tweaks are not quite trivial)
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-11-07cppcheck cleanup: fix nullPointer errorsWolfgang Denk
There are a number of places where U-Boot intentionally and legally accesses physical address 0x0000, for example when installing exception vectors on systems where these are located in low memory. Add "cppcheck-suppress nullPointer" comments to silence cppcheck where this is intentional and legal. Signed-off-by: Wolfgang Denk <[email protected]>
2014-08-07blackfin: convert blackfin board_f and board_r to use generic board init ↵Sonic Zhang
functions - move blackfin specific cpu init code from blackfin board.c to cpu.c - remove blackfin specific board init code and invoke generic board_f fron cpu init entry - rename section name bss_vma to bss_start in order to match the generic board init code - add a fake relocate_code function to set up the new stack only Signed-off-by: Sonic Zhang <[email protected]>
2014-07-23stdio: Pass device pointer to stdio methodsSimon Glass
At present stdio device functions do not get any clue as to which stdio device is being acted on. Some implementations go to great lengths to work around this, such as defining a whole separate set of functions for each possible device. For driver model we need to associate a stdio_dev with a device. It doesn't seem possible to continue with this work-around approach. Instead, add a stdio_dev pointer to each of the stdio member functions. Note: The serial drivers have the same problem, but it is not strictly necessary to fix that to get driver model running. Also, if we convert serial over to driver model the problem will go away. Code size increases by 244 bytes for Thumb2 and 428 for PowerPC. 22: stdio: Pass device pointer to stdio methods arm: (for 2/2 boards) all +244.0 bss -4.0 text +248.0 powerpc: (for 1/1 boards) all +428.0 text +428.0 Signed-off-by: Simon Glass <[email protected]> Acked-by: Marek Vasut <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2014-04-18blackfin: make name_to_gpio be a weak symbolIan Campbell
This required moving it into a C file from the header. The only user of a non-default name_to_gpio is blackfin, therefore build tested with the blackfin bct-brettl2 build, which is one I picked at random. Also tested with a build for the ARM tec board which uses the default/fallback implementation. Inspection with objdump shows that both have done the right thing. This change was requested by Marek during review of the sunxi patch series. Signed-off-by: Ian Campbell <[email protected]> Cc: Marek Vasut <[email protected]> Cc: Wolfgang Denk <[email protected]> Cc: Sonic Zhang <[email protected]>
2014-02-25kbuild: use shorten logs for misc targetsMasahiro Yamada
Signed-off-by: Masahiro Yamada <[email protected]>
2014-02-19kbuild: use scripts/Makefile.cleanMasahiro Yamada
This commit refactors cleaning targets such as clean, clobber, mrpropper, distclean with scripts/Makefile.clean. By using scripts/Makefile.clean, we can recursively descend into subdirectories and delete generated files there. We do not need add a big list of generated files to the "clean" target. Signed-off-by: Masahiro Yamada <[email protected]>
2014-02-19kbuild: use Linux Kernel build scriptsMasahiro Yamada
Now we are ready to switch over to real Kbuild. This commit disables temporary scripts: scripts/{Makefile.build.tmp, Makefile.host.tmp} and enables real Kbuild scripts: scripts/{Makefile.build,Makefile.host,Makefile.lib}. This switch is triggered by the line in scripts/Kbuild.include -build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build.tmp obj +build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj We need to adjust some build scripts for U-Boot. But smaller amount of modification is preferable. Additionally, we need to fix compiler flags which are locally added or removed. In Kbuild, it is not allowed to change CFLAGS locally. Instead, ccflags-y, asflags-y, cppflags-y, CFLAGS_$(basetarget).o, CFLAGS_REMOVE_$(basetarget).o are prepared for that purpose. Signed-off-by: Masahiro Yamada <[email protected]> Tested-by: Gerhard Sittig <[email protected]>
2014-02-19kbuild: change out-of-tree buildMasahiro Yamada
This commit changes the working directory where the build process occurs. Before this commit, build process occurred under the source tree for both in-tree and out-of-tree build. That's why we needed to add $(obj) prefix to all generated files in makefiles like follows: $(obj)u-boot.bin: $(obj)u-boot Here, $(obj) is empty for in-tree build, whereas it points to the output directory for out-of-tree build. And our old build system changes the current working directory with "make -C <sub-dir>" syntax when descending into the sub-directories. On the other hand, Kbuild uses a different idea to handle out-of-tree build and directory descending. The build process of Kbuild always occurs under the output tree. When "O=dir/to/store/output/files" is given, the build system changes the current working directory to that directory and restarts the make. Kbuild uses "make -f $(srctree)/scripts/Makefile.build obj=<sub-dir>" syntax for descending into sub-directories. (We can write it like "make $(obj)=<sub-dir>" with a shorthand.) This means the current working directory is always the top of the output directory. Signed-off-by: Masahiro Yamada <[email protected]> Tested-by: Gerhard Sittig <[email protected]>
2014-02-07blackfin: init bss earlyBob Liu
Signed-off-by: Bob Liu <[email protected]> Signed-off-by: Sonic Zhang <[email protected]>
2014-02-07blackfin: The logic of the BF609 macro is opposite.Sonic Zhang
Signed-off-by: Sonic Zhang <[email protected]>
2013-12-16blackfin: remove build warningSonic Zhang
Signed-off-by: Sonic Zhang <[email protected]>
2013-12-06blackfin: Do not generate unused header bootrom-asm-offsets.hMasahiro Yamada
Signed-off-by: Masahiro Yamada <[email protected]> Signed-off-by: Sonic Zhang <[email protected]>
2013-12-06blackfin: If none ADI_GPIOX macro is defined, use ADI_GPIO1 as defaultSonic Zhang
Signed-off-by: Sonic Zhang <[email protected]>
2013-12-02Blackfin: remove executable permission of AWK scriptMasahiro Yamada
Signed-off-by: Masahiro Yamada <[email protected]>
2013-11-25blackfin: don't use 'bool' when it causes problemsWolfgang Denk
The use of 'bool' data types in globally used header files cases build errors like this: In file included from arch/blackfin/include/asm/blackfin.h:13:0, from include/common.h:92, from cmd_test.c:17: arch/blackfin/include/asm/blackfin_local.h:54:1: error: unknown type name 'bool' Use plain 'int' instead to avoid such kind of trouble. Signed-off-by: Wolfgang Denk <[email protected]>
2013-11-04Merge branch 'master' of git://git.denx.de/u-boot-blackfinTom Rini
Easy to resolve conflict on the GPIO change. Conflicts: arch/blackfin/cpu/Makefile Signed-off-by: Tom Rini <[email protected]>
2013-11-04blackfin: Move machine specific gpio_port_t structure back to blackfin arch ↵Steven Miao
folder. The gpio register mappings are different among blackfin processors. Signed-off-by: Steven Miao <[email protected]> Signed-off-by: Sonic Zhang <[email protected]>
2013-11-04blackfin: fix a warning in arch/blackfin/cpu/cpu.cMasahiro Yamada
This commit fixes: cpu.c:107: warning: ‘noreturn’ function does return Signed-off-by: Masahiro Yamada <[email protected]> Signed-off-by: Sonic Zhang <[email protected]>
2013-11-01blackfin: convert makefiles to Kbuild styleMasahiro Yamada
Signed-off-by: Masahiro Yamada <[email protected]> Cc: Sonic Zhang <[email protected]>
2013-10-14Coding Style cleanup: replace leading SPACEs by TABsWolfgang Denk
Signed-off-by: Wolfgang Denk <[email protected]> [trini: Drop changes for PEP 4 following python tools] Signed-off-by: Tom Rini <[email protected]>
2013-07-31blackfin: gpio: Use proper mask for comparing functionAxel Lin
The function return from P_FUNCT2MUX(per) takes 2 bits, however for BF537_FAMILY with offset != 1 the function is 1 bit. Also has small refactor for better readability. In portmux_setup(), it looks odd having "muxreg &= ~(3 << 1);" while in current code we do muxreg |= (function << offset);. Signed-off-by: Axel Lin <[email protected]>
2013-07-31blackfin: gpio: Unreserve gpio in special_gpio_free()Axel Lin
In special_gpio_free(), call unreserve() rather than reserve() to release gpio. Signed-off-by: Axel Lin <[email protected]> Signed-off-by: Sonic Zhang <[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-13bfin: Move gpio support for bf54x and bf60x into the generic driver folder.Sonic Zhang
The gpio spec for bf54x and bf60x differ a lot from the old gpio driver for bf5xx. A lot of machine macros are used to accomodate both code in one gpio driver. This patch split the old gpio driver and move new gpio2 support to the generic gpio driver folder. - To enable gpio2 driver, macro CONFIG_ADI_GPIO2 should be defined in the board's config header file. - The gpio2 driver supports bf54x, bf60x and future ADI processors, while the older gpio driver supports bf50x, bf51x, bf52x, bf53x and bf561. - All blackfin specific gpio function names are replaced by the generic gpio APIs. Signed-off-by: Sonic Zhang <[email protected]>
2013-05-13blackfin: Add comments for watchdog event initialization.Sonic Zhang
- Add comments for watchdog event initialization. - Make sure the writting operation to MMRs are finished. Signed-off-by: Sonic Zhang <[email protected]>
2013-05-13blackfin: Move blackfin serial driver out of blackfin arch folder.Sonic Zhang
- Move blackfin serial driver to the generic driver folder. - Move blackfin serial headers to blackfin arch head folder. - Update the include path to blackfin serial header in start up code. Signed-off-by: Sonic Zhang <[email protected]>
2013-05-13blackfin: Move blackfin watchdog driver out of the blackfin arch folder.Sonic Zhang
- Enable hw_watchdog_init() in watchdog.h if CONFIG_HW_WATCHDOG is defined. - Move blackfin hw watchdog driver to the generic driver folder. - Call hw_watchdog_init() from blackfin board init code. - Reuse macro CONFIG_WATCHDOG_TIMEOUT_MSECS - Update README.watchdog accordingly Signed-off-by: Sonic Zhang <[email protected]>
2013-05-13blackfin: Uart divisor should be set after their values are generated.Sonic Zhang
Signed-off-by: Sonic Zhang <[email protected]>
2013-05-13blackfin: Add memory virtual console to blackfin serial driver.Sonic Zhang
Signed-off-by: Sonic Zhang <[email protected]>
2013-05-13blackfin: Enable early print via the generic serial API.Sonic Zhang
Remove blackfin specific implementation of the generic serial API when early print macro is defined. In BFIN_BOOT_BYPASS mode, don't call generic serial_puts, because early print in bypass mode is running before code binary is relocated to the link address. Signed-off-by: Sonic Zhang <[email protected]>
2013-05-13blackfin: Correct early serial mess output in BYPASS boot mode.Sonic Zhang
The early serial should not be configured again in initcode() for BYPASS boot mode and in start() for the other LDR boot modes. In BYPASS boot mode, the start up code is located in Nor flash address other than the DRAM address defined in link script. The code embedded string can't be addressed by its compile time symbol. Calculate it according to the flash offset. Signed-off-by: Sonic Zhang <[email protected]>
2013-05-13blackfin: Set correct early debug serial baudrate.Sonic Zhang
Calculate the early uart clock from the system clock registers set by the bootrom other than the predefine uboot clock macros. Split the early baudrate setting function and the normal baudrate setting one. Signed-off-by: Sonic Zhang <[email protected]>
2013-05-13blackfin: run core1 from L1 code sram start address in uboot init code on core 0Sonic Zhang
Define core 1 L1 code sram start address. Add function to enable core 1 for BF609 and BF561. Add config macro to allow customer to run core 1 in uboot init code on core 0. Signed-off-by: Sonic Zhang <[email protected]>
2013-05-13Blackfin: adjust asm constraints with NMI workaroundMike Frysinger
Newer gcc versions will sometimes use a Preg when "r" constraints, but that'll fail if we use an Ireg in the assignment. So force the code to always use a Dreg. This also fixes early boot crashes for older Blackfin parts when compiled with gcc-4.5. This version ends up selecting the same register for the input and output variables which corrupts the output assignment triggering an exception. P2 = 0xffe02008; /* EVT2 */ R0 = RETS; CALL 1f; RTN; 1: P2 = RETS; <-- BAD RETS = R0; [P2] = P2; <-- BAD Signed-off-by: Mike Frysinger <[email protected]> Signed-off-by: Sonic Zhang <[email protected]>
2013-03-18Merge branch 'master' of git://git.denx.de/u-boot-armTom Rini
Albert's rework of the linker scripts conflicted with Simon's making everyone use __bss_end. We also had a minor conflict over README.scrapyard being added to in mainline and enhanced in u-boot-arm/master with proper formatting. Conflicts: arch/arm/cpu/ixp/u-boot.lds arch/arm/cpu/u-boot.lds arch/arm/lib/Makefile board/actux1/u-boot.lds board/actux2/u-boot.lds board/actux3/u-boot.lds board/dvlhost/u-boot.lds board/freescale/mx31ads/u-boot.lds doc/README.scrapyard include/configs/tegra-common.h Build tested for all of ARM and run-time tested on am335x_evm. Signed-off-by: Tom Rini <[email protected]>
2013-03-15blackfin: Remove noreturn attribute from cpu_init_f()Simon Glass
Now that board_init_f() is not marked as noreturn, we need to do the same to blackfin's cpu_init_f() function. Signed-off-by: Simon Glass <[email protected]>
2013-03-12Refactor linker-generated arraysAlbert ARIBAUD
Refactor linker-generated array code so that symbols which were previously linker-generated are now compiler- generated. This causes relocation records of type R_ARM_ABS32 to become R_ARM_RELATIVE, which makes code which uses LGA able to run before relocation as well as after. Note: this affects more than ARM targets, as linker- lists span possibly all target architectures, notably PowerPC. Conflicts: arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds arch/arm/cpu/armv7/omap-common/u-boot-spl.lds board/ait/cam_enc_4xx/u-boot-spl.lds board/davinci/da8xxevm/u-boot-spl-da850evm.lds board/davinci/da8xxevm/u-boot-spl-hawk.lds board/vpac270/u-boot-spl.lds Signed-off-by: Albert ARIBAUD <[email protected]>
2013-03-04blackfin: bf60x: add resume from hibernateSteven Miao
Add Bf60x resume from hibernate support Signed-off-by: Steven Miao <[email protected]> Signed-off-by: Sonic Zhang <[email protected]> Signed-off-by: Bob Liu <[email protected]> Signed-off-by: Sonic Zhang <[email protected]>
2013-03-04blackfin: bf60x: add hw watchdog supportBob Liu
Signed-off-by: Bob Liu <[email protected]> Signed-off-by: Sonic Zhang <[email protected]> Signed-off-by: Sonic Zhang <[email protected]>
2013-03-04blackfin: bf60x: add gpio supportBob Liu
Signed-off-by: Bob Liu <[email protected]> Signed-off-by: Sonic Zhang <[email protected]> Signed-off-by: Sonic Zhang <[email protected]>
2013-03-04blackfin: bf60x: add serial supportSonic Zhang
Add serial for bf60x. Signed-off-by: Sonic Zhang <[email protected]> Signed-off-by: Bob Liu <[email protected]> Signed-off-by: Sonic Zhang <[email protected]>
2013-03-04blackfin: bf60x: Port blackfin core architecture code to boot on bf60x.Sonic Zhang
Set up clocks, DDR controller, Nor flash controller, reboot, serial port. Add new SPI boot modes. Signed-off-by: Bob Liu <[email protected]> Signed-off-by: Sonic Zhang <[email protected]> Signed-off-by: Sonic Zhang <[email protected]>