summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2015-04-03arc: add support for SLC (System Level Cache, AKA L2-cache)Alexey Brodkin
ARCv2 cores may have built-in SLC (System Level Cache, AKA L2-cache). This change adds functions required for controlling SLC: * slc_enable/disable * slc_flush/invalidate For now we just disable SLC to escape DMA coherency issues until either: * SLC flush/invalidate is supported in DMA APIin U-Boot * hardware DMA coherency is implemented (that might be board specific so probably we'll need to have a separate Kconfig option for controlling SLC explicitly) Signed-off-by: Alexey Brodkin <[email protected]>
2015-04-03board: Switch Abilis TB-100 board to Driver Model for serial portAlexey Brodkin
Signed-off-by: Alexey Brodkin <[email protected]> Cc: Masahiro Yamada <[email protected]> Cc: Simon Glass <[email protected]>
2015-04-03serial-arc: switch to DMAlexey Brodkin
Now when all infrastructure in ARC is ready for it let's switch ARC UART to driver model. Signed-off-by: Alexey Brodkin <[email protected]> Cc: Masahiro Yamada <[email protected]> Cc: Simon Glass <[email protected]>
2015-04-03arc: minor fixes in KconfigAlexey Brodkin
[1] Fix misspeling in ARC_CACHE_LINE_SHIFT dependency, now cache-line lenth selection is correctly enabled if either I$ or D$ are enabled. [2] Add dummy entry to target list to make sure target type is always mentioned in defconfig. Otherwise defconfig for the first target in the list will not have target name and later on with addition of the new target on top of the list in Kconfig will lead to corrupted configuration expanded from defconfig. Signed-off-by: Alexey Brodkin <[email protected]>
2015-04-03arc: get rid of CONFIG_SYS_GENERIC_GLOBAL_DATAAlexey Brodkin
As discussed on mailing list we're drifting away from CONFIG_SYS_GENERIC_GLOBAL_DATA in favour to use of board_init_f_mem() for global data. So do this for ARC architecture. Signed-off-by: Alexey Brodkin <[email protected]>
2015-04-03arc: clean-up init procedureAlexey Brodkin
Intention behind this work was elimination of as much assembly-written code as it is possible. In case of ARC we already have relocation fix-up implemented in C so why don't we use C for U-Boot copying, .bss zeroing etc. It turned out x86 uses pretty similar approach so we re-used parts of code in "board_f.c" initially implemented for x86. Now assembly usage during init is limited to stack- and frame-pointer setup before and after relocation. Signed-off-by: Alexey Brodkin <[email protected]> Cc: Simon Glass <[email protected]>
2015-04-03arc: move low-level interrupt and exception handlers in a separate fileAlexey Brodkin
This separation makes maintenance of code easier because those low-level interrupt- or exception handling routines are pretty static and usually require not much care while start-up code is a subject of modifications and enhancements. Signed-off-by: Alexey Brodkin <[email protected]>
2015-04-03arc: merge common start-up code between ARC and ARCv2Alexey Brodkin
Even though ARCompact and ARCv2 are not binary compatible most of assembly instructions are used in both. With this change we'll get rid of duplicate code. Still IVTs are implemented differently so we're keeping them in separate files. Signed-off-by: Alexey Brodkin <[email protected]>
2015-04-03arc: cache - build invalidate_icache_all() and invalidate_dcache_all()Alexey Brodkin
always Make both invalidate_icache_all() and invalidate_dcache_all() available even if U-Boot is configured with CONFIG_SYS_DCACHE_OFF and/or CONFIG_SYS_ICACHE_OFF. This is useful because configuration of U-Boot may not match actual hardware features. Real board may have cache(s) but for some reason we may want to run U-Boot with cache(s) disabled (for example if some peripherals work improperly with existing drivers if data cache is enabled). So board may start with cache(s) enabled (that's the case for ARC cores with built-in caches) but early in U-Boot we disable cache(s) and make sure all contents of data cache gets flushed in RAM. Signed-off-by: Alexey Brodkin <[email protected]>
2015-03-31Merge branch 'master' of git://git.denx.de/u-boot-atmelTom Rini
2015-04-01ARM: atmel: at91sam9n12ek: enable spl supportBo Shen
Enable SPL support for at91sam9n12ek boards, now it supports boot up from NAND flash, serial flash. Signed-off-by: Bo Shen <[email protected]>
2015-04-01ARM: atmel: at91sam9x5ek: enable spl supportBo Shen
Enable SPL support for at91sam9x5ek board. Now, it supports boot up from NAND flash and SPI flash. Signed-off-by: Bo Shen <[email protected]>
2015-04-01ARM: atmel: at91sam9m10g45ek: enable spl supportBo Shen
Supports boot up from NAND flash with software ECC eanbled. And supports boot up from SD/MMC card with FAT file system. As the boot from SD/MMC card with FAT file system, the BSS segment is too big to fit into SRAM, so, use the lds to put it into SDRAM. Signed-off-by: Bo Shen <[email protected]>
2015-04-01ARM: atmel: arm926ejs: fix clock configurationBo Shen
Config MCKR according to the datasheet sequence, or else it will cause the MCKR configuration failed. Remove timeout checking for clock configuration, if configure the clock failed, let the system hang while not run in wrong clock configuration. Signed-off-by: Bo Shen <[email protected]> Tested-by: Heiko Schocher <[email protected]>
2015-04-01spl_atmel.c: Switch s_init to board_init_fTom Rini
To facilitate changing lowlevel_init to become s_init, move the current contents of s_init into board_init_f and add the rest of what board_init_f does here. In order to compile clean without CONFIG_SKIP_LOWLEVEL_INIT set, leave an empty stub of s_init(). It can be removed when lowlevel_init becomes s_init. Cc: Bo Shen <[email protected]> Cc: Andreas Bießmann <[email protected]> Tested-by: Matt Porter <[email protected]> on sama5d3_xplained Signed-off-by: Tom Rini <[email protected]> [rebased on current master, leave s_init() as empty stub] Signed-off-by: Andreas Bießmann <[email protected]>
2015-04-01ARM: atmel: armv7: switch to use common timer functionsBo Shen
The commit 8dfafdd (Introduce common timer functions), add common timer functions, we can use them directly. Signed-off-by: Bo Shen <[email protected]> [rebase on current master] Sigend-off-by: Andreas Bießmann <[email protected]>
2015-04-01ARM: atmel: arm9: switch to use common timer functionsBo Shen
Signed-off-by: Bo Shen <[email protected]> [rebase on current master] Signed-off-by: Andreas Bießmann <[email protected]>
2015-03-31Merge branch 'master' of git://git.denx.de/u-boot-imxTom Rini
2015-03-30tegra: pinmux: fix FUNCMUX_NDFLASH_KBC_8_BITLucas Stach
Even the 8-bit case needs KBCB configured, as pin D7 is located in this pingroup. Please note that pingroup ATC seems to come out of reset with its config set to NAND so one needs to explicitly configure some other function to this group in order to avoid clashing settings which is outside the scope of this patch. Signed-off-by: Lucas Stach <[email protected]> Signed-off-by: Marcel Ziswiler <[email protected]> Tested-by: Marcel Ziswiler <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2015-03-30ARM: tegra: fix colibri_t20 machine typeMarcel Ziswiler
A while ago I got Russell to change the machine type of our Colibri T20 from COLIBRI_TEGRA2 to COLIBRI_T20 which at least in parts is also reflected in his machine registry: http://www.arm.linux.org.uk/developer/machines/list.php?id=3323 For us it is really very beneficial to actually still be able to boot downstream L4T kernel with its working hardware accelerated graphics/multimedia stack albeit it being proprietary/closed-source. Signed-off-by: Marcel Ziswiler <[email protected]> Acked-by: Stephen Warren <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2015-03-30ARM: tegra: rename colibri_t20 board/configuration/device-treeMarcel Ziswiler
In accordance with our other modules supported by U-Boot and as agreed upon for Apalis/Colibri T30 get rid of the carrier board in the board/ configuration/device-tree naming. While at it also bring the prompt more in line with our other products. Signed-off-by: Marcel Ziswiler <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2015-03-30ARM: tegra: enable MIPI PAD CTRL support for Tegra124Stephen Warren
This allows selection between CSI and DSI_B on the MIPI pads. Signed-off-by: Stephen Warren <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2015-03-30ARM: tegra: pinctrl: add support for MIPI PAD control groupsStephen Warren
Some pinmux controls are in a different register set. Add support for manipulating those in a similar way to existing pins/groups. Signed-off-by: Stephen Warren <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2015-03-30ARM: tegra: pinctrl: minor cleanupStephen Warren
Move struct pmux_pingrp_desc type and tegra_soc_pingroups variable declaration together with other pin/mux level definitions. Now the whole file is grouped/ordered pin/mux-related then drvgrp-related definitions. Fix typo in ifdef comment. Signed-off-by: Stephen Warren <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2015-03-30ARM: tegra: pinctrl: move Tegra210 code to the correct dirStephen Warren
Patches that added the Tegra210 pinctrl driver and renamed directories arch/arm/cpu/tegra{$soc}-common -> arch/arm/mach-tegra/tegra-${soc} crossed. Move the Tegra210 pinctrl driver to the correct location. This wasn't detected since Tegra210 support is in the process of being added, and isn't buildable yet. Signed-off-by: Stephen Warren <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2015-03-29sunxi: use CONFIG_SYS_CLK_FREQ to set cpu clockIain Paton
make the CPU clock selectable via Kconfig this removes the sunxi specific CONFIG_CLK_FULL_SPEED defined in each soc header and replaces it's use in board/sunxi/board.c with CONFIG_SYS_CLK_FREQ from Kconfig which allows us to configure board specific frequency on boot Signed-off-by: Iain Paton <[email protected]> [[email protected] s/CONFIG_SYS_CLK_FREQ/CONFIG_TIMER_CLK_FREQ/ for the arch-timer clk speed on sun7i to fix mis-compile on sun7i] Acked-by: Hans de Goede <[email protected]> Signed-off-by: Hans de Goede <[email protected]>
2015-03-29sunxi: sun4i: improve cpu clock selection methodIain Paton
clock_set_pll1 would pick the next highest available cpu clock speed if a value not in the pre defined table was selected. this potentially results in overclocking the soc. reverse the selection method so that we select the next lowest speed and add the missing 912Mhz setting that's requested by sun7i which also uses the sun4i clock code. Signed-off-by: Iain Paton <[email protected]> Acked-by: Hans de Goede <[email protected]> Signed-off-by: Hans de Goede <[email protected]>
2015-03-29sunxi: musb: Fix some lo speed devices not working with musb hostHans de Goede
The usb0 / otg phy on sunxi boards has a bug where it wrongly detects a high speed squelch on usb reset deassert when a lo speed device is plugged in. The android kernel has a work around for this in the form of temporary disabling the phy's squelch detection on reset deassert, this commit adds the same workaround to the u-boot sunxi musb code, thereby fixing various usb lo speed devices not working. Tested with a (before non working) usb keyboard and a usb 2.4 GHz wireless keyboard/mouse combo receiver. Signed-off-by: Hans de Goede <[email protected]> Acked-by: Ian Campbell <[email protected]>
2015-03-28armv8: semihosting: delete external interfaceLinus Walleij
Now that loading files using semihosting can be done using a command in standard scripts, and we have rewritten the boardfile and added it to the Vexpress64, let's delete the external interface to the semihosting file retrieveal and rely solely on these commands, and staticize them inside that file so the whole business is self-contained. Signed-off-by: Linus Walleij <[email protected]>
2015-03-28armv8: semihosting: add a command to load semihosted imagesLinus Walleij
Instead of sprinkling custom code and calls over the Vexpress64 boardfile, create a command that loads images using semihosting just like we would load from flash memory of over the network, using a special command: smhload <image> <address> This will make it possible to remove some custom calls and code and make the boot easier. Signed-off-by: Linus Walleij <[email protected]>
2015-03-28armv8: semihosting: do not inline trap callLinus Walleij
The semihosting trap call does not like being inlined, probably because that will mean register reordering screwing up the return value in r0, so tag this function "noinline". Signed-off-by: Linus Walleij <[email protected]>
2015-03-28m68k: merge per-CPU config.mk into arch/m68k/MakefileMasahiro Yamada
Collect CPU specific flags into the single place. Signed-off-by: Masahiro Yamada <[email protected]> Cc: Alison Wang <[email protected]> Cc: Angelo Dureghello <[email protected]>
2015-03-28m68k: mcf547x_8x: move CPU type to Kconfig and refactor config.mkMasahiro Yamada
Move the CPU type config options from include/configs/*.h to arch/m68k/Kconfig and refactor the CPU flags select in arch/m68k/cpu/mcf547x_8x/config.mk. Signed-off-by: Masahiro Yamada <[email protected]> Cc: Alison Wang <[email protected]> Cc: Angelo Dureghello <[email protected]>
2015-03-28m68k: mcf523x: move CPU type to Kconfig and refactor config.mkMasahiro Yamada
Move the CPU type config options from include/configs/M5235EVB.h to arch/m68k/Kconfig and refactor the CPU flags select in arch/m68k/cpu/mcf523x/config.mk. Signed-off-by: Masahiro Yamada <[email protected]> Cc: Alison Wang <[email protected]> Cc: Angelo Dureghello <[email protected]>
2015-03-28m68k: mcf5227x: move CPU type to Kconfig and refactor config.mkMasahiro Yamada
Move the CPU type config options from include/configs/M52277EVB.h to arch/m68k/Kconfig and refactor the CPU flags select in arch/m68k/cpu/mcf5227x/config.mk. Signed-off-by: Masahiro Yamada <[email protected]> Cc: Alison Wang <[email protected]> Cc: Angelo Dureghello <[email protected]>
2015-03-28m68k: mcf5445x: move CPU type to Kconfig and refactor config.mkMasahiro Yamada
This commit intends to stop grepping CPU type in arch/m68k/cpu/mcf5445x/config.mk. Move the CPU type config options from include/configs/*.h to arch/m68k/Kconfig and refactor the CPU flags select in arch/m68k/cpu/mcf5445x/config.mk. Signed-off-by: Masahiro Yamada <[email protected]> Cc: Alison Wang <[email protected]> Cc: Angelo Dureghello <[email protected]>
2015-03-28m68k: mcf532x: move CPU type to Kconfig and refactor config.mkMasahiro Yamada
This commit intends to stop grepping CPU type in arch/m68k/cpu/mcf532x/config.mk. Move the CPU type config options from include/configs/*.h to arch/m68k/Kconfig and refactor the CPU flags select in arch/m68k/cpu/mcf532x/config.mk. Signed-off-by: Masahiro Yamada <[email protected]> Cc: Alison Wang <[email protected]> Cc: Angelo Dureghello <[email protected]>
2015-03-28m68k: mcf530x: move CPU type to Kconfig and refactor config.mkMasahiro Yamada
This commit intends to stop grepping CPU type in arch/m68k/cpu/mcf530x/config.mk. Move the CPU type config options from include/configs/amcore.h to arch/m68k/Kconfig and refactor the CPU flags select in arch/m68k/cpu/mcf530x/config.mk. Signed-off-by: Masahiro Yamada <[email protected]> Cc: Alison Wang <[email protected]> Cc: Angelo Dureghello <[email protected]>
2015-03-28m68k: mcf52x2: move CPU type to Kconfig and refactor config.mkMasahiro Yamada
This commit intends to stop grepping CPU type in arch/m68k/cpu/mcf52x2/config.mk. Move the CPU type config options from include/configs/*.h to arch/m68k/Kconfig and refactor the CPU flags select in arch/m68k/cpu/mcf52x2/config.mk. Signed-off-by: Masahiro Yamada <[email protected]> Cc: Alison Wang <[email protected]> Cc: Angelo Dureghello <[email protected]>
2015-03-28ARM: bcm283x: move SoC headers to mach-bcm283x/include/machMasahiro Yamada
Move arch/arm/include/asm/arch-bcm283x/* -> arch/arm/mach-bcm283x/include/mach/* Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Stephen Warren <[email protected]>
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-28malloc_f: enable SYS_MALLOC_F by default if DM is onMasahiro Yamada
This option has a bool type, not hex. Fix it and enable it if CONFIG_DM is on because Driver Model always requires malloc memory. Devices are scanned twice, before/after relocation. CONFIG_SYS_MALLOC_F should be enabled to use malloc memory before relocation. As it is board-independent, handle it globally. Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Stephen Warren <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Robert Baldyga <[email protected]>
2015-03-28malloc_f: remove redundant defalut values of CONFIG_SYS_MALLOC_F_LENMasahiro Yamada
The default value of CONFIG_SYS_MALLOC_F_LEN is defined by ./Kconfig as 0x400. Each defconfig or Kconfig need not repeat the same value. Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Stephen Warren <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Robert Baldyga <[email protected]>
2015-03-28m68k: remove arch/m68k/lib/board.cMasahiro Yamada
All the M68000 boards have switched to Generic Board. This file is no longer necessary. Signed-off-by: Masahiro Yamada <[email protected]> Cc: Huan Wang <[email protected]> Cc: Angelo Dureghello <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-03-28generic-board: select SYS_GENERIC_BOARD for some architecturesMasahiro Yamada
We have done with the generic board conversion for all the boards of ARC, Blackfin, M68000, MicroBlaze, MIPS, NIOS2, Sandbox, X86. Let's select SYS_GENERIC_BOARD for those architectures, so we can tell which architecture has finished the conversion at a glance. Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Alexey Brodkin <[email protected]>
2015-03-28generic-board: move __HAVE_ARCH_GENERIC_BOARD to KconfigMasahiro Yamada
Move the option to Kconfig renaming it to CONFIG_HAVE_GENERIC_BOARD. Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Alexey Brodkin <[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-27ARMv8: enable pre-allocation mallocDavid Feng
Allocate memory space for pre-allocation malloc and zero global data. This code is partly from crt0.S. Signed-off-by: David Feng <[email protected]>
2015-03-24x86: quark: Enable on-chip ethernet controllersBin Meng
Intel Quark SoC integrates two 10/100 ethernet controllers which can be connected to an external RMII PHY. The MAC IP is from Designware. Enable this support with the existing U-Boot Designware MAC driver so that the ethernet port on Intel Galileo board can be used. Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-03-24arch/x86/cpu/quark/mrc.c: Switch to U_BOOT_DATE / U_BOOT_TIMETom Rini
Using __DATE__ and __TIME__ results in an error due to -Werror=date-time with gcc-4.9 (__DATE__ / __TIME__ might prevent reproducible builds) so switch these over to U_BOOT_DATE / U_BOOT_TIME Cc: Bin Meng <[email protected]> Cc: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]> Acked-by: Simon Glass <[email protected]>