summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2015-01-21MIPS: add support for pre-relocation mallocDaniel Schwierzeck
Implement MIPS specific setup of the gd_t structure to support pre-relocation malloc. If CONFIG_SYS_MALLOC_F_LEN is specified, a memory area will be reserved after the initial stack area and the gd->malloc_base pointer will be initialized. After this patch the new driver model can be used on MIPS. Signed-off-by: Daniel Schwierzeck <[email protected]>
2015-01-21MIPS: add support for CONFIG_SYS_INIT_SP_ADDRDaniel Schwierzeck
Support the existing config option CONFIG_SYS_INIT_SP_ADDR on MIPS. This allows to move the initial stack to other places than the beginning of RAM. Signed-off-by: Daniel Schwierzeck <[email protected]>
2015-01-21MIPS: add Kconfig option for CONFIG_SWAP_IO_SPACEDaniel Schwierzeck
Signed-off-by: Daniel Schwierzeck <[email protected]>
2015-01-21MIPS: replace $(CPU) with Kconfig symbolsDaniel Schwierzeck
Conditionally set head-y and lib-y with boolean Kconfig symbols for selected CPU. This deprecates the usage of the $(CPU) variable. Signed-off-by: Daniel Schwierzeck <[email protected]>
2015-01-21MIPS: use common code from lib/time.cThomas Langer
The common code just needs the C0_COUNT as free running counter, without the need of writing and checking C0_COMPARE. The function get_tbclk() is still implemented here instead of changing all places of CONFIG_SYS_MIPS_TIMER_FREQ to CONFIG_SYS_TIMER_RATE. The change was tested on a MIPS32 system, but as the MIPS64 code was/is the same, this should be no problem. Signed-off-by: Thomas Langer <[email protected]>
2015-01-21MIPS: bootm: add bootstage reportingDaniel Schwierzeck
Signed-off-by: Daniel Schwierzeck <[email protected]>
2015-01-21MIPS: bootm: prepare a flattened device tree for the kernelDaniel Schwierzeck
Add the initial code to prepare a flattened device tree for the kernel like relocating the FDT blob and fixing up the /chosen and /memory nodes. The final hand over to the kernel is not yet implemented. After the community agreed on the MIPS boot interface for device trees, the corresponding code will be added. Signed-off-by: Daniel Schwierzeck <[email protected]>
2015-01-21MIPS: bootm: add mem, rd_start and rd_size to kernel command lineDaniel Schwierzeck
If the user wants to boot a kernel without legacy environment, information like memory size, initrd address and size should be handed over to the kernel in the command line. Signed-off-by: Daniel Schwierzeck <[email protected]>
2015-01-21MIPS: bootm: refactor preparation of Linux kernel environmentDaniel Schwierzeck
Move preparation of Linux kernel environment in a separate function and mark it as legacy. Add a Kconfig option to make that legacy mode configurable. Signed-off-by: Daniel Schwierzeck <[email protected]>
2015-01-21MIPS: bootm: refactor preparation of Linux kernel command lineDaniel Schwierzeck
Move preparation of Linux kernel command line in a separate function and mark it as legacy. Add a Kconfig option to make that legacy mode configurable. Signed-off-by: Daniel Schwierzeck <[email protected]>
2015-01-21microblaze: Support stack protection featureMichal Simek
Ensure that stack didn't rewrite important part of u-boot. Signed-off-by: Michal Simek <[email protected]>
2015-01-21mmc: zynq: Use phys_addr_t for addressesMichal Simek
phys_addr_t is designed for physical addresses that's why use it. Signed-off-by: Michal Simek <[email protected]>
2015-01-21microblaze: Enable hardware exception by defaultMichal Simek
Enable hardware exception by default to be able to handle it. Signed-off-by: Michal Simek <[email protected]>
2015-01-20Merge git://git.denx.de/u-boot-arcTom Rini
2015-01-20Merge branch 'master' of git://git.denx.de/u-boot-mmcTom Rini
2015-01-20zynq: Remove reference to gdataSimon Glass
The global_data pointer (gd) has already been set before board_init_f() is called. We should not assign it again. We should also not use gdata since it is going away. Signed-off-by: Simon Glass <[email protected]>
2015-01-19mmc: rmobile: Add SDHC support for Renesas rmobile ARM SoCNobuhiro Iwamatsu
This adds Renesas rmobile ARM SoC's SD/MMC host support. This drivers tested with Gose board and Koelsch board. Signed-off-by: Nobuhiro Iwamatsu <[email protected]> Acked-by: Pantelis Antoniou <[email protected]>
2015-01-19ARM: atmel: sama5d4: add usb device initial codeBo Shen
Signed-off-by: Bo Shen <[email protected]>
2015-01-19ARM: atmel: sama5d4: add usb platform dataBo Shen
The SAMA5D4 has the same usb platform data with SAMA5D3 SoC. Signed-off-by: Bo Shen <[email protected]>
2015-01-19arm, arm926ejs: make thumb mode compileableHeiko Schocher
in thumb mode compiler says for example for arch/arm/lib/cache-cp15.c when enabling CONFIG_SYS_THUMB_BUILD: {standard input}: Assembler messages: {standard input}:373: Error: selected processor does not support Thumb mode `mrc p15,0,r4,c1,c0,0' {standard input}:416: Error: selected processor does not support Thumb mode `mcr p15,0,r3,c2,c0,0' so, if caches are disabled, do not use this command on arm926ejs. used on at91 in SPL, to reduce size of SPL. Signed-off-by: Heiko Schocher <[email protected]>
2015-01-19arm: mx6: Add Barco platinum-picon and platinum-titaniumStefan Roese
This patch adds the new Barco platinum platform. It currently includes those two boards: platinum-titanium ----------------- This is the same board as the titanium that is already supported in mainline U-Boot. But its now moved to this new platform to support multiple "flavors" of imx6 boards in one directory. Its also moved to support SPL booting. And with this we use the run-time DDR configuration of this SPL support. The board is equipped with the Micron MT41J128M16JT-125 DDR chips. We now can remove the DDR related registers tuples from the imximage.cfg file. As all this is done in the SPL at run-time. platinum-picon -------------- This board is new and based on the MX6DL with 1GiB DDR using the Micron MT41K256M16HA DDR3 chips. Its also equipped with 2 NAND chips (each 512MiB). Signed-off-by: Stefan Roese <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Pieter Ronsijn <[email protected]>
2015-01-16sunxi: Drop use of lowlevel_init()Simon Glass
This does nothing now, so drop it. We have SPL anyway to do our low-level init. Signed-off-by: Simon Glass <[email protected]> Acked-by: Ian Campbell <[email protected]>
2015-01-16sunxi: Move SPL s_init() code to board_init_f()Simon Glass
The current sunxi implementation uses gdata, which is going away. It also sets up DRAM before board_init_f() in SPL. There is really no reason to do much in s_init() since board_init_f() is called immediately afterwards. The only change is that we need our own implementation of board_init_f() which sets up DRAM before the BSS (which is in DRAM) is cleared. The s_init() code runs once for SPL and again for U-Boot proper. We shouldn't need to init the clock/timer/gpio/i2c init twice, so just have it in SPL. Signed-off-by: Simon Glass <[email protected]>
2015-01-16arm: Add warnings about using gdataSimon Glass
We need to get rid of this SPL-specific setting of the global_data pointer. It is already set up in start.S immediately before board_init_f() is called, and there may be information there that is needed (e.g. pre-reloc malloc info). Signed-off-by: Simon Glass <[email protected]>
2015-01-16TI ARMv7: Don't use GD before crt0.S has set itTom Rini
Prior to this change we set the gd pointer early so that we can store data in it. This becomes problematic for DM changes as well as being odd in general. Re-work the code paths so that we don't need to set the gd pointer so early and instead can rely upon the normal setting of it. In order to do this we do need to move certain calls from s_init into spl_board_init(), mainly preloader_console_init and save_omap_boot_params. Tested on: Beaglebone Black, AM43xx GP EVM, Beagleboard, Beagleboard xM, OMAP5 uEVM, DRA7xx EVM Signed-off-by: Tom Rini <[email protected]> Tested-by: Simon Glass <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-01-16arch/powerpc: Add SGMII support for the L2 Switch portsCodrin Ciubotariu
Some Freescale SoCs like T1020 and T1040 have an integrated L2 Switch. The L2 Switch ports may be connected to Ethernet PHYs over SGMII and QSGMII. Signed-off-by: Codrin Ciubotariu <[email protected]> Reviewed-by: York Sun <[email protected]>
2015-01-16arch/powerpc: Fix mapping of Freescale SerDes protocolsCodrin Ciubotariu
The number of supported serdes protocols on Freescale SoCs has increased over time. Until now, an u64 variable have been initialized on boot with the configured protocols. However, since this number has increased (enum srds_prtcl has more than 64 values), 64 bits are no longer sufficient to hold track of all the configured protocols. This patch replaces the u64 map values with static arrays. To keep track of the number of serdes protocols, the SERDES_PRCTL_COUNT vale has been added at the end of enum srds_prtcl. This value must always be the last one. Signed-off-by: Codrin Ciubotariu <[email protected]> Reviewed-by: York Sun <[email protected]>
2015-01-16mpc85xx: clean up the old deep sleep frameworktang yuantian
All the boards that support deep sleep feature are converted to deep sleep generic board interface. The old interface which support non-generic board is not used anymore. So clean it up. Signed-off-by: Tang Yuantian <[email protected]> Reviewed-by: York Sun <[email protected]>
2015-01-16powerpc/t1024: add serdes protocol 0x40 and 0x5fShengzhou Liu
Add serdes protocol 0x40 and 0x5f. Signed-off-by: Shengzhou Liu <[email protected]> Reviewed-by: York Sun <[email protected]>
2015-01-16powerpc/mpc85xx: Define PBI Flash Base for C29XPCIE Secure BootAneesh Bansal
CONFIG_SYS_PBI_FLASH_BASE is defined for Secure Boot on C29X Signed-off-by: Aneesh Bansal <[email protected]> Reviewed-by: York Sun <[email protected]>
2015-01-16b4860: Correct LIODN assignment for PCIeTudor Laurentiu
For B4 the LIODN register for PCIe is in PCIe address space and not in GUTs Signed-off-by: Poonam Aggrwal <[email protected]> Signed-off-by: Varun Sethi <[email protected]> Signed-off-by: Shaveta Leekha <[email protected]> Signed-off-by: Laurentiu Tudor <[email protected]> Reviewed-by: York Sun <[email protected]>
2015-01-16powerpc: mpc85xx: Add dummy gpio.h to enable CONFIG_OF_CONTROLRuchika Gupta
If CONFIG_OF_CONTROL is enabled, lib/fdtdec.c is compiled. It includes <asm/gpio.h> and then <asm/gpio.h> includes <asm/arch/gpio.h>. As a result, all the SoCs that enable CONFIG_OF_CONTROL must have <asm/arch/gpio.h>. The right fix would be to split the lib/fdtdec.c to remove dependency on GPIO. This commit adds a dummy <asm/arch/gpio.h> to support OF_CONTROL for mpc85xx platform. A file mpc85xx_gpio.h exists in arch/powerpc/include/asm. The defintions in that file conflict with the ones in asm-generic/gpio.h. Hence a dummy header file has been added. This will be removed after FDT-GPIO stuff is fixed correctly. Signed-off-by: Ruchika Gupta <[email protected]> Reviewed-by: York Sun <[email protected]>
2015-01-16Merge branch 'master' of git://git.denx.de/u-boot-tiTom Rini
2015-01-16powerpc: 74xx_7xx: remove 74xx_7xx cpu supportMasahiro Yamada
All the 74xx_7xx boards are still non-generic boards: P3G4, ZUMA, ppmc7xx, ELPPC, mpc7448hpc2 Acked-by: Marek Vasut <[email protected]> Acked-by: Stefan Roese <[email protected]> Acked-by: York Sun <[email protected]> Signed-off-by: Masahiro Yamada <[email protected]> Cc: Wolfgang Denk <[email protected]> Cc: Nye Liu <[email protected]> Cc: Roy Zang <[email protected]>
2015-01-16mpc8xx: remove unused linker scriptMasahiro Yamada
Now TQM8xx is the only remaining board family of mpc8xx. It uses its own linker script, board/tqc/tqm8xx/u-boot.lds. arch/powerpc/cpu/mpc8xx/u-boot.lds is not used by any boards. Signed-off-by: Masahiro Yamada <[email protected]> Cc: Wolfgang Denk <[email protected]>
2015-01-16ppc4xx: remove dead codeMasahiro Yamada
Since commit 843125daebd7 (ppc4xx: remove HH405 board), CONFIG_HH405 is not defined. Since commit d52633047913 (ppc4xx: remove PMC405), CONFIG_PMC405 is not defined. Acked-by: Stefan Roese <[email protected]> Signed-off-by: Masahiro Yamada <[email protected]> Cc: Matthias Fuchs <[email protected]>
2015-01-15arc: rename "arc700" in "arcv1"Alexey Brodkin
As a preparation to ARCv2 port submission we rename "arc700" folder to "arcv1" which stands for ARCv1 ISA also known as ARCompact. This will allow us to add more flavours of binary-compatible ARCv1 CPUs like ARC600 if needed later on and all required ARCv2 CPUs (which are binary incompatible with ARCv1) in "arcv2" folder in subsequent commits. Signed-off-by: Alexey Brodkin <[email protected]> Signed-off-by: Igor Guryanov <[email protected]>
2015-01-15board/synopsys: remove selection of CPU from the boardAlexey Brodkin
Both ARCangel4 and AXS10x are FPGA-based boards so they may have different CPUs. For now we have only 1 option (ARC700) and we define this as default in arch Kconfig. Signed-off-by: Alexey Brodkin <[email protected]>
2015-01-15arc: move common sources in libraryAlexey Brodkin
"reset.c" and "cpu.c" have no architecture-specific code at all. Others are applicable to either ARC CPU. This change is a preparation to submission of ARCv2 architecture port. Even though ARCv1 and ARCv2 ISAs are not binary compatible most of built-in modules still have the same programming model - AUX registers are mapped in the same addresses and hold the same data (new featues extend existing ones). So only low-level assembly code (start-up, interrupt handlers) is left as CPU(actually ISA)-specific. This significantyl simplifies maintenance of multiple CPUs/ISAs. Signed-off-by: Alexey Brodkin <[email protected]> Signed-off-by: Igor Guryanov <[email protected]>
2015-01-15arc: move linker script in arch/arc/cpu folderAlexey Brodkin
This way we'll be able to use the same one script for either ARC CPU. Signed-off-by: Alexey Brodkin <[email protected]>
2015-01-15arc: relocate - minor refactoring and clean-upAlexey Brodkin
* use better symbols for relocatable region boundaries ("__image_copy_start" instead of "CONFIG_SYS_TEXT_BASE") * remove useless debug messages because they will only show up in case of both problem (when normal "if" branch won't be taken) and DEBUG take place which is pretty rare situation. Signed-off-by: Alexey Brodkin <[email protected]>
2015-01-15arc: introduce separate section for interrupt vector tableIgor Guryanov
Even though existing implementation works fine in preparation to submission of ARCv2 architecture we need this change. In case of ARCv2 interrupt vector table consists of just addresses of corresponding handlers. And if those addresses will be in .text section then assembler will encode them as everything in .text section as middle-endian and then on real execution CPU will read swapped addresses and will jump into the wild. Once introduced new section is situated so .text section remains the first which allows us to use common linker option for linking everything to a specified CONFIG_SYS_TEXT_BASE. Signed-off-by: Alexey Brodkin <[email protected]> Signed-off-by: Igor Guryanov <[email protected]>
2015-01-15arc: add dependences on MMU presenceAlexey Brodkin
Depending on MMU presence in CPU there're differences in HW behavior. For example address of instruction that caused exception is put in ECR register if MMU exists and in ERET register otherwise. Signed-off-by: Alexey Brodkin <[email protected]> Signed-off-by: Igor Guryanov <[email protected]>
2015-01-15arc: interrupts - fix mask setupIgor Guryanov
To disable interrupts we need to reset corresponding flags in STATUS32 register. For this we need to OR flags for interrupts level1 and level2 and then AND with current value in STATUS32. Before that implementation was incorrect. Signed-off-by: Alexey Brodkin <[email protected]> Signed-off-by: Igor Guryanov <[email protected]>
2015-01-15arc: add ECR (exception cause register) outputIgor Guryanov
Exception cause register (ECR) contains value that describes a reason for exception that has happened. This helps a lot to figure-out what went wrong. Now we print this register contents when dumping registers. Signed-off-by: Alexey Brodkin <[email protected]> Signed-off-by: Igor Guryanov <[email protected]>
2015-01-15arc: check caches existence before useIgor Guryanov
Some cache operations ({i|d}cache_{enable|disable|status} or flush_dcache_all) are built and used even if CONFIG_SYS_{I|D}CACHE_OFF is set. This is required for force disable of caches on early boot. What if something was executed before U-boot and enabled caches (low-level bootloaders, previously run kernel etc.)? But if CPU doesn't really have caches any attempt to access cache-related AUX registers triggers instruction error exception. So for convenience we'll try to avoid exceptions by checking if CPU actually has caches (we check separately data and instruction cache existence) at all. Signed-off-by: Alexey Brodkin <[email protected]> Signed-off-by: Igor Guryanov <[email protected]>
2015-01-14ARM: armv8: Fix typo in commentaryMichal Simek
Signed-off-by: Michal Simek <[email protected]>
2015-01-14Add support for Seagate BlackArmor NAS220Evgeni Dobrev
Add support for Seagate BlackArmor NAS220 Signed-off-by: Evgeni Dobrev <[email protected]>
2015-01-14sunxi: usbc: Add support for usb-vbus0 controller by axp drivebus pinHans de Goede
The axp221 / axp223's N_VBUSEN pin can be configured as an output rather then an input, and this is used on some boards to control usb-vbus0, add support for this. Signed-off-by: Hans de Goede <[email protected]> Acked-by: Ian Campbell <[email protected]>
2015-01-14sunxi: usbc: Add support for usb0 to the common usbc codeHans de Goede
Signed-off-by: Hans de Goede <[email protected]> Acked-by: Ian Campbell <[email protected]>