summaryrefslogtreecommitdiff
path: root/arch/microblaze/cpu
Commit message (Collapse)AuthorAgeLines
* microblaze: Fix endif macro commandMichal Simek2017-02-10-1/+1
| | | | | | Use correct name in endif comment. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* spl: Add a parameter to jump_to_image_linux()Simon Glass2016-10-06-2/+2
| | | | | | | | Instead of using the global spl_image variable, pass the required struct in as an argument. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* microblaze: Remove !OF_CONTROL code for timer and interruptMichal Simek2016-04-04-22/+1
| | | | | | OF_CONTROL is enabled by default that's why this is dead code. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* microblaze: Read information about timer/interrupts from DTMichal Simek2016-04-04-1/+63
| | | | | | | Read information about timer and interrupts from DT. This is the first small step to move timer and intc to DM. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* microblaze: Remove empty file - cpu.cMichal Simek2016-01-27-10/+1
| | | | | | No need to have empty unused file in architecture code. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* microblaze: Wire-up debug_uart in asmMichal Simek2016-01-27-0/+4
| | | | Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* Fix board init code to respect the C runtime environmentAlbert ARIBAUD2016-01-13-2/+2
| | | | | | | | | | | | | board_init_f_mem() alters the C runtime environment's stack it is actually already using. This is not a valid behaviour within a C runtime environment. Split board_init_f_mem into C functions which do not alter their own stack and always behave properly with respect to their C runtime environment. Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net> Acked-by: Thomas Chou <thomas@wytron.com.tw>
* microblaze: Add a TODO to call board_init_f_mem()Simon Glass2015-10-24-0/+2
| | | | | | | | This C function should be used to do the early memory layout and init. This is beyond my powers, so just add a TODO for the maintainer. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Michal Simek <michal.simek@xilinx.com>
* remove unnecessary version.h includesRob Herring2015-03-24-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <robh@kernel.org> Cc: Albert Aribaud <albert.u.boot@aribaud.net> Cc: Stefano Babic <sbabic@denx.de> Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Marek Vasut <marex@denx.de> Cc: Tom Warren <twarren@nvidia.com> Cc: Michal Simek <monstr@monstr.eu> Cc: Macpaul Lin <macpaul@andestech.com> Cc: Wolfgang Denk <wd@denx.de> Cc: York Sun <yorksun@freescale.com> Cc: Stefan Roese <sr@denx.de> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Cc: Simon Glass <sjg@chromium.org> Cc: Philippe Reynes <tremyfr@yahoo.fr> Cc: Eric Jarrige <eric.jarrige@armadeus.org> Cc: "David Müller" <d.mueller@elsoft.ch> Cc: Phil Edworthy <phil.edworthy@renesas.com> Cc: Robert Baldyga <r.baldyga@samsung.com> Cc: Torsten Koschorrek <koschorrek@synertronixx.de> Cc: Anatolij Gustschin <agust@denx.de> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: Łukasz Majewski <l.majewski@samsung.com>
* microblaze: spl: Add LISTS to linker scriptMichal Simek2015-02-09-0/+6
| | | | | | This is required for driver model. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* microblaze: spl: Do not call mem_malloc_init and use early allocMichal Simek2015-02-09-1/+5
| | | | | | | | | | | | This patch has some parts connected together: - Use _gd in bss section which is automatically cleared Location at SPL_MALLOC_END wasn't cleared at all - Use MALLOC_F_LEN(early alloc) instead of FULL MALLOC (mem_malloc_init is not called at all) - Simplify malloc and stack init. At the end of SPL addr is malloc area and below is stack Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* microblaze: Add support for CONFIG_SYS_MALLOC_F_LENMichal Simek2015-02-09-0/+8
| | | | | | | Create space for dm_init where calloc is called and malloc_base has to be initialized. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* microblaze: Do not use CONFIG_SYS_GENERIC_GLOBAL_DATAMichal Simek2015-02-09-0/+6
| | | | | | | | Because it is not compatible with DM where malloc_base has to be available early and init has to be done in ASM. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* microblaze: Speedup code copyMichal Simek2015-02-09-5/+7
| | | | | | | Remove one instruction in the loop which speedup code copying. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* microblaze: Move architecture to use generic board initMichal Simek2015-02-09-0/+112
| | | | | | | Compile code with -fPIC to get GOT. Do not build SPL with fPIC because it increasing SPL size for nothing. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* microblaze: Fix gd_t address which is placed at the end of BRAMMichal Simek2015-02-09-2/+1
| | | | | | | | | Setup gd from ASM to be availalbe for board_init_r. Setting it up in spl_board_init is too late when MALLOC is used. Space for gd is located behind MALLOC area at the end of BRAM. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* microblaze: Remove unused asm labelMichal Simek2015-02-09-1/+1
| | | | | | It is not used at all that's why remove it. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* microblaze: Use standard interrupt_init() functionMichal Simek2015-02-09-1/+1
| | | | | | Do not use microblaze specific interrupt init function. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* microblaze: Remove unneeded data section adding from DTBMichal Simek2015-02-09-3/+0
| | | | | | | | | | | | | | DTB is added to rodata section: [ 2] .rodata PROGBITS 84c5b60c 05c60c 00c618 00 A 0 0 4 [ 3] .dtb.init.rodata PROGBITS 84c67c30 068c30 003c80 00 A 0 0 16 [ 4] .rela.dyn RELA 84c6b8b0 06c8b0 000534 0c A 0 0 4 [ 5] .data PROGBITS 84c6bde4 06cde4 001536 00 WA 0 0 16 Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* microblaze: Add debug message about enabling interruptsMichal Simek2015-02-09-0/+1
| | | | | | Add one more debug message about enabling global interrupts. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* microblaze: Fix coding styleMichal Simek2015-02-09-8/+8
| | | | | | No functional changes just to pass checkpatch.pl. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* microblaze: Remove DEBUG_INT macro and use debug() insteadMichal Simek2015-02-09-32/+25
| | | | | | | | | | | | | | Do not use specific macros for debugging. Also remove compilation warning: w+../arch/microblaze/cpu/interrupts.c: In function 'interrupt_handler': w+../arch/microblaze/cpu/interrupts.c:153:2: warning: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'void (*)(void *)' [-Wformat] w+../arch/microblaze/cpu/interrupts.c:153:2: warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'void *' [-Wformat] Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* microblaze: Fix coding style in exception.cMichal Simek2015-02-09-16/+17
| | | | | | Just coding style cleanup - no functional changes. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* microblaze: Show return address from exceptionMichal Simek2015-02-09-0/+2
| | | | | | | Show also return address from exception which should suggest where the problem is. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* microblaze: Fix stack usage in interrupt handlerMichal Simek2015-02-09-61/+60
| | | | | | | | Do not save registers below r1 stack pointer because it is not checked by stack undeflow is not able to detect it. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* microblaze: Support stack protection featureMichal Simek2015-01-21-0/+4
| | | | | | | Ensure that stack didn't rewrite important part of u-boot. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* microblaze: Enable hardware exception by defaultMichal Simek2015-01-21-1/+1
| | | | | | | Enable hardware exception by default to be able to handle it. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* microblaze: Add SPL supportMichal Simek2014-02-04-1/+132
| | | | | | | Add support for U-BOOT SPL. NOR and RAM mode are supported. There are 3 images in NOR flash. u-boot.img, dtb and kernel. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* microblaze: Report priviledged or stack protection exceptionMichal Simek2014-02-04-0/+3
| | | | | | Just list one more exception. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* Makefile: rename all libraries to built-in.oMasahiro Yamada2013-11-17-1/+1
| | | | Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* microblaze: convert makefiles to Kbuild styleMasahiro Yamada2013-10-31-25/+3
| | | | | Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Michal Simek <michal.simek@xilinx.com>
* Add GPL-2.0+ SPDX-License-Identifier to source filesWolfgang Denk2013-07-24-153/+9
| | | | | | Signed-off-by: Wolfgang Denk <wd@denx.de> [trini: Fixup common/cmd_io.c] 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>
* microblaze: Fix compilation failure because of missing libdtsMichal Simek2012-11-08-0/+2
| | | | | | | | | | Microblaze platform can use CONFIG_OF_EMBED option but also it is necessary to support boards which don't want to use this option. U-Boot doesn't compile dts/libdts.o for #undef CONFIG_OF_EMBED case that's why it should be guarded by ifdef. Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Flush caches before enabling themMichal Simek2012-11-07-5/+6
| | | | | | | | Flushing caches is necessary because of soft reset which doesn't clear caches. Signed-off-by: Michal Simek <monstr@monstr.eu> Reviewed-by: Marek Vasut <marex@denx.de>
* common: Discard the __u_boot_cmd sectionMarek Vasut2012-10-22-8/+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/+5
| | | | | | | | | | 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>
* microblaze: Clean microblaze initializationMichal Simek2012-09-11-1/+1
| | | | | | | | | Move board specific function to board_init function in board/ folder Remove externs from generic board.c Use board_init_f function in board.c file. Signed-off-by: Michal Simek <monstr@monstr.eu> Acked-by: Stephan Linz <linz@li-pro.net>
* microblaze: timer: Prepare for device-tree initializationMichal Simek2012-09-11-33/+36
| | | | | | | | | Fix CONFIG_SYS_HZ usage in board config. Do not use hardcoded value. Use CONFIG_SYS_HZ instead. Separate static configuration to single block. Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: intc: Coding style cleanupMichal Simek2012-09-11-13/+13
| | | | | | | | | Just coding style cleanup. Remove unneeded externs. Signed-off-by: Michal Simek <monstr@monstr.eu> Acked-by: Simon Glass <sjg@chromium.org> Acked-by: Stephan Linz <linz@li-pro.net>
* microblaze: intc: Registering interrupt should return valueMichal Simek2012-09-11-7/+9
| | | | | | Return value to find out if un/registration was succesful. Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Add support for device tree driven board configurationMichal Simek2012-09-11-0/+1
| | | | | | | | | | | | | This is minimum code required to be able to use device-tree for u-boot initialization. Currently only for device driver initialization. Linker script change ensures DTB to be aligned for both options CONFIG_OF_EMBED and CONFIG_OF_SEPARATE. Signed-off-by: Michal Simek <monstr@monstr.eu> Acked-by: Stephan Linz <linz@li-pro.net> CC: Simon Glass <sjg@chromium.org>
* microblaze: intc: Clear interrupt codeMichal Simek2012-07-10-42/+50
| | | | | | | | | Clear and prepare for device-tree driven configuration. Remove CONFIG_SYS_INTC_0 definition Use dynamic allocation instead of static. Signed-off-by: Michal Simek <monstr@monstr.eu> Acked-by: Simon Glass <sjg@chromium.org>
* microblaze: Move __udelay implementationMichal Simek2012-07-10-0/+19
| | | | | | | | Move __udelay to the timer code because of unification. And clean coding style because of checkpatch.pl. Signed-off-by: Michal Simek <monstr@monstr.eu> Acked-by: Simon Glass <sjg@chromium.org>
* microblaze: Move individual board linker scripts to common script in cpu tree.Michal Simek2012-07-09-0/+71
| | | | | | Unification for all microblaze boards. Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: avoid interrupt race conditionsStephan Linz2012-02-23-2/+2
| | | | | | | | | | | | | | The interrupt acknowledge action have to run after the registered interrupt handler. So we have a chance to bear out the corresponding interrupt request in the corresponding controller hardware. With this reordering, we optain a proper interrupt handling for level triggered interrupt sources -- for example the new axi_timer v1.02.a introduced in ISE 13.2. Signed-off-by: Stephan Linz <linz@li-pro.net> Acked-by: Michal Simek <monstr@monstr.eu>
* microblaze: fix build failure due to undefined reference to `get_ticks'Stephan Linz2012-02-23-0/+18
| | | | | | | | | | | | | | after commit "common: add possibility for readline_into_buffer timeout" (sha1:9c34831) was applied. The Microblaze generic build fails with error below: common/libcommon.o: In function `cread_line': /devel/u-boot/common/main.c:717: undefined reference to `get_ticks' /devel/u-boot/common/main.c:717: undefined reference to `get_tbclk' /devel/u-boot/common/main.c:720: undefined reference to `get_ticks' Signed-off-by: Stephan Linz <linz@li-pro.net> Acked-by: Michal Simek <monstr@monstr.eu>
* microblaze: Clean up reset asm codeMichal Simek2011-10-03-20/+5
| | | | | | | | - Remove code copying - Reset address is setup from first stage bootloader - Support reset vector setup on little endian Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Save and restore first unused vectorMichal Simek2011-10-03-2/+4
| | | | | | | | | | | | | Use one memory space to detect little/big endian platforms. The first unused address(0x28) is used instead 0x0 address (reset vectors). Detection rewrited reset vector setup from first stage bootloader. Workflow: 1. Store 0x28 to r7 2. Do little/big endian test 3. Restore r7 to 0x28 Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Setup MB vectors if feature is enable for u-bootMichal Simek2011-10-03-12/+22
| | | | | | | For example: Setup reset vectors if reset address is setup. Setup user exception vector if user exception is enabled Signed-off-by: Michal Simek <monstr@monstr.eu>