summaryrefslogtreecommitdiff
path: root/arch/nios2
AgeCommit message (Collapse)Author
2017-05-01fdt: Move fdt_fixup_ethernet to a common placeTom Rini
With 3f66149d9fb4 we no longer have a common call fdt_fixup_ethernet. This was fine to do on PowerPC as they largely had calls already in ft_cpu_fixup. On ARM however we largely relied on this call. Rather than introduce a large number of changes to ft_cpu_fixup / ft_board_fixup we recognize that this is a common enough call that we should be doing it in a central location. Do it early enough that we can do any further updates in ft_cpu_fixup / ft_board_fixup. Cc: Gerd Hoffmann <[email protected]> Cc: Chen-Yu Tsai <[email protected]> Cc: Maxime Ripard <[email protected]> Cc: Thomas Chou <[email protected]> (maintainer:NIOS) Cc: York Sun <[email protected]> (maintainer:POWERPC MPC85XX) Cc: Stefan Roese <[email protected]> (maintainer:POWERPC PPC4XX) Cc: Simon Glass <[email protected]> Cc: Joakim Tjernlund <[email protected]> Fixes: 3f66149d9fb4 ("Remove extra fdt_fixup_ethernet() call") Signed-off-by: Tom Rini <[email protected]> Acked-by: Stefan Roese <[email protected]> Acked-by: York Sun <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2017-04-13board_f: Rename initdram() to dram_init()Simon Glass
This allows us to use the same DRAM init function on all archs. Add a dummy function for arc, which does not use DRAM init here. Signed-off-by: Simon Glass <[email protected]> [trini: Dummy function on nios2] Signed-off-by: Tom Rini <[email protected]>
2017-02-08dm: core: Replace of_offset with accessorSimon Glass
At present devices use a simple integer offset to record the device tree node associated with the device. In preparation for supporting a live device tree, which uses a node pointer instead, refactor existing code to access this field through an inline function. Signed-off-by: Simon Glass <[email protected]>
2016-10-19efi: Use asmlinkage for EFIAPISimon Glass
This is required for x86 and is also correct for ARM (since it is empty). Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2016-09-23Remove arch/${ARCH}/include/asm/errno.hMasahiro Yamada
Unlike Linux, nothing about errno.h is arch-specific in U-Boot. As you see, all of arch/${ARCH}/include/asm/errno.h is just a wrapper of <asm-generic/errno.h>. Actually, U-Boot does not export headers to user-space, so we just have to care about the consistency in the U-Boot tree. Now all of include directives for <asm/errno.h> are gone. Deprecate <asm/errno.h>. Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Alexey Brodkin <[email protected]>
2016-05-27Delete tests of CONFIG_OF_LIBFDT when testing CONFIG_OF_BOARD_SETUPRobert P. J. Day
Since CONFIG_OF_BOARD_SETUP depends on CONFIG_OF_LIBFDT: config OF_BOARD_SETUP bool "Set up board-specific details in device tree before boot" depends on OF_LIBFDT ... remove superfluous tests of CONFIG_OF_LIBFDT when testing for CONFIG_OF_BOARD_SETUP. Signed-off-by: Robert P. J. Day <[email protected]> [trini: Typo fix: s/ifdefi/ifdef/] Signed-off-by: Tom Rini <[email protected]>
2016-03-14dm: Use uclass_first_device_err() where it is usefulSimon Glass
Use this new function in places where it simplifies the code. Signed-off-by: Simon Glass <[email protected]>
2016-02-06nios2: set up the debug UART earlyThomas Chou
Set up the debug UART early if enabled, so that it is ready to use. Signed-off-by: Thomas Chou <[email protected]> Acked-by: Chin Liang See <[email protected]>
2016-01-13Fix board init code to respect the C runtime environmentAlbert ARIBAUD
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 <[email protected]> Acked-by: Thomas Chou <[email protected]>
2015-12-19nios2: display altera sysid at startupThomas Chou
Display altera sysid at startup, which was once removed during the move. Signed-off-by: Thomas Chou <[email protected]> Acked-by: Marek Vasut <[email protected]>
2015-11-21nios2: 10m50: change to ns16550 uartThomas Chou
Change to ns16550 uart for 10m50 devboard based on a new Altera release. Signed-off-by: Thomas Chou <[email protected]> Reviewed-by: Tom Rini <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-11-18nios2: zap ioremapThomas Chou
Zap ioremap(), as it is replaced by map_physmem(,,MAP_NOCACHE). Signed-off-by: Thomas Chou <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2015-11-18nios2: dma-mapping.h: change ioremap to map_physmemThomas Chou
Change ioremap() to map_physmem(), as it is more used in u-boot. Signed-off-by: Thomas Chou <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2015-11-12nios2: add 10m50 devboard supportThomas Chou
Add 10m50 devboard support. It is based on the Golden Hardware Reference Design (GHRD), available at, http://rocketboards.org/foswiki/view/Documentation/ AlteraMAX1010M50RevCDevelopmentKitLinuxSetup Though we supported only one nios2-generic board in the past. Now, with the removal of the nios2-generic board dir, adding new nios2 boards to u-boot is easier than before. It should be helpful to add those boards supported in Linux mainline. There are only two such nios2 boards, the 3c120 devboard and 10m50 devboard. The nios2-generic is actually 3c120, and should restore the name. The 10m50 is this one. Signed-off-by: Thomas Chou <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2015-11-12nios2: add memcpy_fromio and memcpy_toioThomas Chou
Add memcpy_fromio() and memcpy_toio(). Signed-off-by: Thomas Chou <[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-06Merge branch 'master' of git://git.denx.de/u-boot-niosTom Rini
2015-11-06nios2: fix cached mode in clearing the BSSThomas Chou
As the generic board runs in cached mode, it should not use "stwio" which bypass the cache. Signed-off-by: Thomas Chou <[email protected]> Reviewed-by: Chin Liang See <[email protected]>
2015-11-06nios2: remove CONFIG_SYS_INIT_SP macroThomas Chou
Remove CONFIG_SYS_INIT_SP macro, as the initial stack is set to below the u-boot code. Signed-off-by: Thomas Chou <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Reviewed-by: Chin Liang See <[email protected]>
2015-11-06nios2: change virt_to_phys to use physaddr_mask in global dataThomas Chou
As virt_to_phys() is used a lot in DMA transfer, change it to use physaddr_mask in global data. This will save an "if" statement and get a little faster. Signed-off-by: Thomas Chou <[email protected]> Acked-by: Marek Vasut <[email protected]>
2015-11-06nios2: remove the useless parenthesis in asm/io.hThomas Chou
Remove the useless parenthesis in asm/io.h as suggested by Marek. Signed-off-by: Thomas Chou <[email protected]> Acked-by: Marek Vasut <[email protected]>
2015-11-06nios2: fix map_physmem to do real cache mappingThomas Chou
Fix the map_physmem() to do real cache mapping. Signed-off-by: Thomas Chou <[email protected]> Acked-by: Marek Vasut <[email protected]>
2015-11-05nios2: Use the generic bitops headersFabio Estevam
The generic bitops headers are required when calling logarithmic functions, such as ilog2(). Signed-off-by: Fabio Estevam <[email protected]> Acked-by: Thomas Chou <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2015-10-23nios2: fix virt_to_phys for nios2 with MMUThomas Chou
As the virtual address and physical address mapping of nios2 with MMU are different. Add a check of MMU, and fix the mapping. Signed-off-by: Thomas Chou <[email protected]> Acked-by: Marek Vasut <[email protected]> Reviewed-by: Ley Foon Tan <[email protected]>
2015-10-23nios2: zap nios2-generic board dirThomas Chou
As we use device tree to control u-boot now, the generic board can be removed. Signed-off-by: Thomas Chou <[email protected]>
2015-10-23nios2: convert dma_alloc_coherent to use malloc_cache_alignedThomas Chou
Convert dma_alloc_coherent to use memalign. Signed-off-by: Thomas Chou <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2015-10-23nios2: convert copy_exception_trampoline to use dm cpu dataThomas Chou
Convert copy_exception_trampoline() to use dm cpu data. Signed-off-by: Thomas Chou <[email protected]>
2015-10-23nios2: convert cache flush to use dm cpu dataThomas Chou
Convert cache flush to use dm cpu data. The original cache flush functions are written in assembly and use CONFIG_SYS_{I,D}CACHE_SIZE... macros. It is difficult to convert to use cache configuration in dm cpu data which is extracted from device tree. The cacheflush.c of Linux nios2 arch uses cpuinfo structure, which is very close to our dm cpu data. So we copy and modify it to arch/nios2/lib/cache.c to replace the old cache.S. Signed-off-by: Thomas Chou <[email protected]>
2015-10-23nios2: set default cache configuration in start.SThomas Chou
Set default icache and dcache configuration for start.S. We want to remove the CONFIG_SYS_{I,D}CACHE_SIZE... configuration macros. As we are just barely starting from reset, there is no luxury of device tree. We will set some maximum cache configuration so that it will work for most configurations. This is used only in this start.S. The speed penalty is only once here. After start up, during board initialization, cpu information will be extracted from device tree. Then cache flush operations will have correct cache configurations. Signed-off-by: Thomas Chou <[email protected]> Acked-by: Marek Vasut <[email protected]>
2015-10-23nios2: clean up comments style in start.SThomas Chou
Clean up comments style in start.S. Signed-off-by: Thomas Chou <[email protected]>
2015-10-23nios2: convert ioremap to use dm cpu dataThomas Chou
Convert ioremap() to use io_region_base in dm cpu global data. Also remove three unused io functions, which have style issue and are replaced by macros already. Signed-off-by: Thomas Chou <[email protected]>
2015-10-23nios2: convert do_reset to use dm cpu dataThomas Chou
Convert do_reset to use dm cpu data. Signed-off-by: Thomas Chou <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-10-23nios2: remove asm/psr.hThomas Chou
Remove asm/psr.h, which is not used. Also clean up asm/sections.h and unaligned.h. Signed-off-by: Thomas Chou <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2015-10-23nios2: convert altera sysid to driver modelThomas Chou
Convert altera sysid to driver model with misc uclass. Signed-off-by: Thomas Chou <[email protected]> Acked-by: Chin Liang See <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-10-23nios2: convert altera timer to driver modelThomas Chou
Convert altera timer to driver model. Signed-off-by: Thomas Chou <[email protected]> Acked-by: Chin Liang See <[email protected]>
2015-10-23nios2: convert nios2 cpu to driver modelThomas Chou
Convert nios2 cpu to driver model. The cpu parameters are extracted from device tree and saved to global data structure. We will use them to replace the custom_fpga.h . Signed-off-by: Thomas Chou <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-10-23nios2 : convert altera_pio to driver modelThomas Chou
Convert altera_pio to driver model. Signed-off-by: Thomas Chou <[email protected]> Acked-by: Chin Liang See <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-10-23nios2: add clear and set bits macrosThomas Chou
These macros can be used to clear and set multiple bits in a register using a single call. Signed-off-by: Thomas Chou <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Acked-by: Chin Liang See <[email protected]>
2015-10-23nios2: convert altera_jtag_uart to driver modelThomas Chou
Convert altera_jtag_uart to driver model. Signed-off-by: Thomas Chou <[email protected]> Acked-by: Marek Vasut <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-10-23nios2: map physical address to uncached virtual addressThomas Chou
Add ioremap() to map physical address to uncached virtual address. We need this to convert the reg address from the device tree. The order of headers inclusion in interrupts.c is changed because common.h will include board header that contains IO_REGION_BASE. In the future, the IO_REGION_BASE should be decided from the device tree. tree Signed-off-by: Thomas Chou <[email protected]> Acked-by: Marek Vasut <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-10-23nios2: call board_init_f_memThomas Chou
We will need CONFIG_SYS_MALLOC_F_LEN to use serial uclass. So we shall undefine CONFIG_SYS_GENERIC_GLOBAL_DATA, and call board_init_f_mem() to allocates early malloc() memory with size of CONFIG_SYS_MALLOC_F_LEN in board_f.c. Signed-off-by: Thomas Chou <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2015-10-23nios2: zap version_stringThomas Chou
There is a weak version_string[] at common/cmd_version.c . Remove the one in start.S. Signed-off-by: Thomas Chou <[email protected]> Acked-by: Marek Vasut <[email protected]>
2015-10-23nios2: zap dly_clksThomas Chou
The dly_clks() in start.S is no use after switching to generic timer. Remove it. Signed-off-by: Thomas Chou <[email protected]> Acked-by: Marek Vasut <[email protected]>
2015-10-23nios2: Split timer code into timer.cThomas Chou
Move the timer code from interrupts.c into timer.c . Eliminate the installation of timer interrupt handler, which is no longer used. Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Thomas Chou <[email protected]>
2015-10-23nios2: Switch to generic timerThomas Chou
Zap almost all of the ad-hoc timer code from interrupts.c and use the code in lib/time.c instead. Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Thomas Chou <[email protected]>
2015-10-23nios2: enable device tree control of U-BootThomas Chou
This patch adds device tree control of U-Boot to nios2 boards. The example dts is taken from Linux kernel. Signed-off-by: Thomas Chou <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Marek Vasut <[email protected]>
2015-10-23nios2: define _end in link scriptThomas Chou
Since commit 44c6e6591cb451ae606f8bde71dd5fb7b4002544 "rename _end to __bss_end__" , the _end was removed. But we need it now for separated device tree control, ie, CONFIG_OF_SEPARATE . The _end is used by fdtdec_setup() to find the blob. Signed-off-by: Thomas Chou <[email protected]> Acked-by: Marek Vasut <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-10-23nios2: remove gp assignments in link scriptThomas Chou
Since we don't use gp for small data with option "-G0", we use gp as global data pointer. The _gp location is not needed. The ALIGN(16) was for gp only. It is removed, so that we can get correct address of dtb in u-boot-dtb.bin image. Signed-off-by: Thomas Chou <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Marek Vasut <[email protected]>
2015-10-23nios2: enlarge the code relocation rangeThomas Chou
As we will use u-boot-dtb.bin, the code relocation range should be adjusted to accommodate the additional dtb. It might be overkilled to look into dtb header to find the dtb size, so we will simply use CONFIG_SYS_MONITOR_LEN. Signed-off-by: Thomas Chou <[email protected]>
2015-10-23nios2: BSS should be cleared only after board_init_fThomas Chou
As dtb in u-boot-dtb.bin overlapped the BSS section, we should delay the clearing of BSS until dtb is relocated in board_init_f(). Signed-off-by: Thomas Chou <[email protected]> Acked-by: Marek Vasut <[email protected]>