summaryrefslogtreecommitdiff
path: root/arch/blackfin/cpu
Commit message (Collapse)AuthorAgeLines
* blackfin: init bss earlyBob Liu2014-02-07-1/+1
| | | | | Signed-off-by: Bob Liu <lliubbo@gmail.com> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
* blackfin: The logic of the BF609 macro is opposite.Sonic Zhang2014-02-07-3/+3
| | | | Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
* blackfin: remove build warningSonic Zhang2013-12-16-8/+10
| | | | Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
* blackfin: Do not generate unused header bootrom-asm-offsets.hMasahiro Yamada2013-12-06-65/+0
| | | | | Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
* blackfin: If none ADI_GPIOX macro is defined, use ADI_GPIO1 as defaultSonic Zhang2013-12-06-1/+1
| | | | Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
* Blackfin: remove executable permission of AWK scriptMasahiro Yamada2013-12-02-0/+0
| | | | Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* blackfin: don't use 'bool' when it causes problemsWolfgang Denk2013-11-25-3/+3
| | | | | | | | | | | | | | 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 <wd@denx.de>
* Merge branch 'master' of git://git.denx.de/u-boot-blackfinTom Rini2013-11-04-1/+21
|\ | | | | | | | | | | | | | | | | Easy to resolve conflict on the GPIO change. Conflicts: arch/blackfin/cpu/Makefile Signed-off-by: Tom Rini <trini@ti.com>
| * blackfin: Move machine specific gpio_port_t structure back to blackfin arch ↵Steven Miao2013-11-04-1/+18
| | | | | | | | | | | | | | | | | | folder. The gpio register mappings are different among blackfin processors. Signed-off-by: Steven Miao <realmz6@gmail.com> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
| * blackfin: fix a warning in arch/blackfin/cpu/cpu.cMasahiro Yamada2013-11-04-0/+3
| | | | | | | | | | | | | | | | This commit fixes: cpu.c:107: warning: ‘noreturn’ function does return Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
* | blackfin: convert makefiles to Kbuild styleMasahiro Yamada2013-11-01-38/+16
|/ | | | | Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Sonic Zhang <sonic.zhang@analog.com>
* Coding Style cleanup: replace leading SPACEs by TABsWolfgang Denk2013-10-14-1/+1
| | | | | | Signed-off-by: Wolfgang Denk <wd@denx.de> [trini: Drop changes for PEP 4 following python tools] Signed-off-by: Tom Rini <trini@ti.com>
* blackfin: gpio: Use proper mask for comparing functionAxel Lin2013-07-31-5/+6
| | | | | | | | | | | 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 <axel.lin@ingics.com>
* blackfin: gpio: Unreserve gpio in special_gpio_free()Axel Lin2013-07-31-2/+2
| | | | | | | In special_gpio_free(), call unreserve() rather than reserve() to release gpio. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
* Add GPL-2.0+ SPDX-License-Identifier to source filesWolfgang Denk2013-07-24-51/+3
| | | | | | Signed-off-by: Wolfgang Denk <wd@denx.de> [trini: Fixup common/cmd_io.c] Signed-off-by: Tom Rini <trini@ti.com>
* bfin: Move gpio support for bf54x and bf60x into the generic driver folder.Sonic Zhang2013-05-13-126/+21
| | | | | | | | | | | | | | | 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 <sonic.zhang@analog.com>
* blackfin: Add comments for watchdog event initialization.Sonic Zhang2013-05-13-2/+10
| | | | | | | - Add comments for watchdog event initialization. - Make sure the writting operation to MMRs are finished. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
* blackfin: Move blackfin serial driver out of blackfin arch folder.Sonic Zhang2013-05-13-1042/+4
| | | | | | | | - 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 <sonic.zhang@analog.com>
* blackfin: Move blackfin watchdog driver out of the blackfin arch folder.Sonic Zhang2013-05-13-33/+22
| | | | | | | | | | - 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 <sonic.zhang@analog.com>
* blackfin: Uart divisor should be set after their values are generated.Sonic Zhang2013-05-13-2/+5
| | | | Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
* blackfin: Add memory virtual console to blackfin serial driver.Sonic Zhang2013-05-13-1/+59
| | | | Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
* blackfin: Enable early print via the generic serial API.Sonic Zhang2013-05-13-52/+29
| | | | | | | | | | | 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 <sonic.zhang@analog.com>
* blackfin: Correct early serial mess output in BYPASS boot mode.Sonic Zhang2013-05-13-2/+22
| | | | | | | | | | | | 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 <sonic.zhang@analog.com>
* blackfin: Set correct early debug serial baudrate.Sonic Zhang2013-05-13-77/+48
| | | | | | | | | | 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 <sonic.zhang@analog.com>
* blackfin: run core1 from L1 code sram start address in uboot init code on core 0Sonic Zhang2013-05-13-0/+30
| | | | | | | | 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 <sonic.zhang@analog.com>
* Blackfin: adjust asm constraints with NMI workaroundMike Frysinger2013-05-13-1/+2
| | | | | | | | | | | | | | | | | | | | | 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 <vapier@gentoo.org> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
* Merge branch 'master' of git://git.denx.de/u-boot-armTom Rini2013-03-18-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <trini@ti.com>
| * Refactor linker-generated arraysAlbert ARIBAUD2013-03-12-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <albert.u.boot@aribaud.net>
* | blackfin: Remove noreturn attribute from cpu_init_f()Simon Glass2013-03-15-1/+0
|/ | | | | | | 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 <sjg@chromium.org>
* blackfin: bf60x: add resume from hibernateSteven Miao2013-03-04-0/+46
| | | | | | | | | Add Bf60x resume from hibernate support Signed-off-by: Steven Miao <realmz6@gmail.com> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bob Liu <lliubbo@gmail.com> Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
* blackfin: bf60x: add hw watchdog supportBob Liu2013-03-04-0/+15
| | | | | | Signed-off-by: Bob Liu <lliubbo@gmail.com> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
* blackfin: bf60x: add gpio supportBob Liu2013-03-04-7/+29
| | | | | | Signed-off-by: Bob Liu <lliubbo@gmail.com> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
* blackfin: bf60x: add serial supportSonic Zhang2013-03-04-238/+574
| | | | | | | | Add serial for bf60x. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bob Liu <lliubbo@gmail.com> Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
* blackfin: bf60x: Port blackfin core architecture code to boot on bf60x.Sonic Zhang2013-03-04-20/+367
| | | | | | | | | Set up clocks, DDR controller, Nor flash controller, reboot, serial port. Add new SPI boot modes. Signed-off-by: Bob Liu <lliubbo@gmail.com> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
* common: Discard the __u_boot_cmd sectionMarek Vasut2012-10-22-6/+0
| | | | | | | | | | | The command declaration now uses the new LG-array method to generate list of commands. Thus the __u_boot_cmd section is now superseded and redundant and therefore can be removed. Also, remove externed symbols associated with this section from include/command.h . Signed-off-by: Marek Vasut <marex@denx.de> Cc: Joe Hershberger <joe.hershberger@gmail.com> Cc: Mike Frysinger <vapier@gentoo.org>
* common: Add .u_boot_list into all linker filesMarek Vasut2012-10-22-0/+4
| | | | | | | | | | Add section for the linker-generated lists into all possible linker files, so that everyone can easily use these lists. This is mostly a mechanical adjustment. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Joe Hershberger <joe.hershberger@gmail.com> Cc: Mike Frysinger <vapier@gentoo.org>
* serial: bfin: Flip the jtag serial console to CONFIG_SERIAL_MULTIMarek Vasut2012-10-15-7/+30
| | | | | | | | | | | | | | | | | | | Rework the emulation of serial console via JTAG from simple ad-hoc implementation of serial port routines to CONFIG_SERIAL_MULTI and enable CONFIG_SERIAL_MULTI unconditionally for blackfin. In order for the JTAG serial console to take precedence over all other serial ports available in system, implement override for default_serial_console call returning this JTAG serial console. This brings in a bit of a growth of size, but eventually will allow us to unconditionally enable CONFIG_SERIAL_MULTI throughout the whole U-Boot and maintain only one serial subsystem. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Marek Vasut <marek.vasut@gmail.com> Cc: Tom Rini <trini@ti.com> Cc: Mike Frysinger <vapier@gentoo.org>
* serial: bfin: Adjust serial_register_bfin_uart()Marek Vasut2012-10-15-1/+1
| | | | | | | | | | | | Rename the serial_register_bfin_uart() to bfin_initialize_serial() to be consistent with the rest of the naming. Next, remove it's prototype from serial.h and properly insert it into serial.c as the rest of the serial initialization functions. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Marek Vasut <marek.vasut@gmail.com> Cc: Tom Rini <trini@ti.com> Cc: Mike Frysinger <vapier@gentoo.org>
* serial: Rename .init() and .uninit() in serial_deviceMarek Vasut2012-10-15-2/+2
| | | | | | | | | | | | Rename .init() to .start() and .uninit() to .stop() in struct serial_device. This allows aligning struct serial_device with closer to struct stdio_dev. The real goal here is to allow these two structures to converge together and eventually make one to be a superset of the other. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Tom Rini <trini@ti.com>
* Consolidate bootcount code into drivers/bootcountStefan Roese2012-09-01-35/+0
| | | | | | | | | | | | | | | | | | | This patch moves all bootcount implementations into a common directory: drivers/bootcount. The generic bootcount driver is now usable not only by powerpc platforms, but others as well. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Heiko Schocher <hs@denx.de> Cc: Valentin Longchamp <valentin.longchamp@keymile.com> Cc: Christian Riesch <christian.riesch@omicron.at> Cc: Manfred Rudigier <manfred.rudigier@omicron.at> Cc: Mike Frysinger <vapier@gentoo.org> Cc: Rob Herring <rob.herring@calxeda.com> Cc: Reinhard Meyer <reinhard.meyer@emk-elektronik.de> Tested-by: Valentin Longchamp <valentin.longchamp@keymile.com> Tested-by: Christian Riesch <christian.riesch@omicron.at> Acked-by: Rob Herring <rob.herring@calxeda.com> Acked-by: Mike Frysinger <vapier@gentoo.org>
* linkage.h: move from blackfin to common includesMacpaul Lin2012-02-12-1/+1
| | | | | | | | | | | 1. Add linkage.h support from blackfin to common include, which is a reduced version from Linux. 2. Add architecture part support of linkage.h into blackfin 3. Fix include path of in blackfin related to linkage.h due to header file movement. Signed-off-by: Macpaul Lin <macpaul@andestech.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Blackfin: traps: fix up printf warnings from debugMike Frysinger2011-11-18-5/+10
| | | | | | Cast uint32_t to void* for %p, and use %zu for size_t. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Blackfin: uart: implement loop callback for postMike Frysinger2011-09-29-0/+40
| | | | | | This allows the Blackfin UART driver to be tested via post. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Merge branch 'master' of git://git.denx.de/u-boot-blackfinWolfgang Denk2011-08-02-140/+367
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'master' of git://git.denx.de/u-boot-blackfin: Blackfin: jtag-console: fix timer usage Blackfin: switch to common display_options() Blackfin: serial: move early debug strings into .rodata section Blackfin: adi boards: also set stderr to nc with helper Blackfin: update anomaly lists to latest public info Blackfin: serial: convert to bfin_{read,write} helpers Blackfin: split out async setup Blackfin: adi boards: enable pretty flash progress output Blackfin: drop unused dma.h header from start code Blackfin: portmux: allow header to be included in assembly files Blackfin: cm-bf537e/cm-bf537u/tcm-bf537: enable mmc_spi support Blackfin: cm-bf537e/cm-bf537u/tcm-bf537: update network settings Blackfin: sync MMR read/write helpers with Linux Blackfin: gpio: optimize free path a little Blackfin: post: setup default CONFIG_SYS_POST_WORD_ADDR Blackfin: uart: fix printf warning Blackfin: add init.elf helper code Blackfin: dont reset SWRST on newer bf526 parts Blackfin: adi boards: enable multi serial support by default Blackfin: uart: add multiple serial support Blackfin: uart: move debug buffers into local bss
| * Blackfin: jtag-console: fix timer usageMike Frysinger2011-07-12-2/+2
| | | | | | | | | | Reported-by: Graeme Russ <graeme.russ@gmail.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
| * Blackfin: serial: move early debug strings into .rodata sectionMike Frysinger2011-07-12-5/+5
| | | | | | | | | | | | | | | | | | | | Rewrite the assembly serial_early_puts() helper to place the strings in the .rodata section rather than embedding them directly in the .text section. Using .text is a little simpler, but it doesn't let people execute out of internal L1 sram (since core reads don't work on those regions). Signed-off-by: Mike Frysinger <vapier@gentoo.org>
| * Blackfin: serial: convert to bfin_{read,write} helpersMike Frysinger2011-07-12-17/+19
| | | | | | | | | | | | | | | | Since the serial struct declares the sizes for us, no need to hardcode them in the accessor functions. Let the bfin_{read,write} helpers do it for us. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
| * Blackfin: split out async setupMike Frysinger2011-07-12-50/+84
| | | | | | | | | | | | | | | | | | | | | | We really only need to tweak the async banks in the initcode if the processor is booting out of it, otherwise we can wait until later on in the CPU booting setup. This also makes testing in the sim and early bring up over JTAG work much smoother when the initcode gets bypassed. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
| * Blackfin: drop unused dma.h header from start codeMike Frysinger2011-07-12-1/+0
| | | | | | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
| * Blackfin: gpio: optimize free path a littleMike Frysinger2011-07-12-0/+2
| | | | | | | | | | | | | | | | | | When we aren't doing resource tracking, the gpio_free() function is a stub that simply returns, so pull this logic up a level and make it an inline stub in the header. Now we don't have to waste time at any of the call sites. Signed-off-by: Mike Frysinger <vapier@gentoo.org>