summaryrefslogtreecommitdiff
path: root/arch
Commit message (Collapse)AuthorAgeLines
* ppc: Fix ppc4xx CONFIG_SYS_GENERIC_BOARDDirk Eibach2014-11-05-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I realized that with v2014.10 u-boot is not starting up on ppc4xx boards with CONFIG_SYS_GENERIC_BOARD set. I bisected it down to this: d54d7eb support blackfin board initialization in generic board_f With d29437a ppc: Make ppc4xx ready for CONFIG_SYS_GENERIC_BOARD I set gd to a defined value for ppc4xx in cpu_init_f(). I did not realize that the gd struct has also to be memset() to zero at this point. But at least commit d54d7eb assumes it is: @@ -516,11 +528,13 @@ static int reserve_malloc(void) /* (permanently) allocate a Board Info struct */ static int reserve_board(void) { - gd->start_addr_sp -= sizeof(bd_t); - gd->bd = (bd_t *)map_sysmem(gd->start_addr_sp, sizeof(bd_t)); - memset(gd->bd, '\0', sizeof(bd_t)); - debug("Reserving %zu Bytes for Board Info at: %08lx\n", - sizeof(bd_t), gd->start_addr_sp); + if (!gd->bd) { + gd->start_addr_sp -= sizeof(bd_t); + gd->bd = (bd_t *)map_sysmem(gd->start_addr_sp, sizeof(bd_t)); + memset(gd->bd, '\0', sizeof(bd_t)); + debug("Reserving %zu Bytes for Board Info at: %08lx\n", + sizeof(bd_t), gd->start_addr_sp); + } return 0; } #endif This might also be an issue on other architectures, so maintainers should check. Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc> Signed-off-by: Stefan Roese <sr@denx.de>
* sparc: merge CONFIG_SYS_CPU and CONFIG_SYS_VENDOR definesMasahiro Yamada2014-11-04-3/+10
| | | | | | | For now, all the SPARC boards in U-Boot are provided by Gaisler. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Daniel Hellstrom <daniel@gaisler.com>
* sparc: merge arch/sparc/cpu/*/config.mk to arch/sparc/config.mkMasahiro Yamada2014-11-04-16/+2
| | | | | | | | Remove arch/sparc/cpu/{leon2,leon3}/config.mk and move duplicated defines of -fPIC to arch/sparc/config.mk. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Daniel Hellstrom <daniel@gaisler.com>
* sparc: move CONFIG_{LEON, LEON2, LEON3} to KconfigMasahiro Yamada2014-11-04-4/+16
| | | | | Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Daniel Hellstrom <daniel@gaisler.com>
* sparc: Use nicer prompt for board select menuMasahiro Yamada2014-11-04-6/+10
| | | | | | | | | | | The Board names in the board select menu were simply taken from the board directory name by a conversion tool when switching to Kconfig. Let's use more descriptive prompts taken from include/configs/gr*.h and board/gaisler/*/config.mk. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Daniel Hellstrom <daniel@gaisler.com>
* arm926ejs: cache: use __weakJeroen Hofstee2014-11-04-4/+1
| | | | | Cc: Albert Aribaud <albert.u.boot@aribaud.net> Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
* Merge branch 'agust@denx.de' of git://git.denx.de/u-boot-stagingTom Rini2014-11-04-45/+0
|\
| * ppc/arm: remove remainders of dead boards in KconfigMasahiro Yamada2014-10-31-10/+0
| | | | | | | | | | | | | | | | Commit d58a9451e733 (ppc/arm: zap EMK boards) removed TOP* boards support but missed to remove entries in Kconfig. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Wolfgang Denk <wd@denx.de>
| * Remove unused filesMasahiro Yamada2014-10-31-35/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [1] arch/arm/include/asm/arch-at91/at91_shdwn.h The top9000 was the last board to use this header file. It was removed by commit d58a9451e733 (ppc/arm: zap EMK boards). [2] board/matrix_vision/common/* Some Matrix Vision boards were dropped by commit e7a565638a7a (powerpc: mpc83xx: remove board support for MERGERBOX and MVBLM7) and commit af55e35d3389 (powerpc: mpc5xxx: remove board support for MVBC_P and MVSMR). Since then these files have been unused. [3] include/usb/omap1510_udc.h The omap5912osk was the last board to use this header file. It was removed by commit 62d636aa2ac2 (omap: remove omap5912osk board support). Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-By: Wolfgang Denk <wd@denx.de>
* | Merge branch 'master' of git://git.denx.de/u-boot-samsungTom Rini2014-11-04-20/+48
|\ \
| * | exynos4/4x12: gpio: use gpio extra base addressesPrzemyslaw Marczak2014-10-30-20/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds extra gpio part addresses to exynos4 and exynos4x12_gpio_data arrays, which are required since the gpio enum lists are linear Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Acked-by: Simon Glass <sjg@chromium.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| * | exynos4/4x12: cpu: add extra gpio base addressesPrzemyslaw Marczak2014-10-30-0/+9
| |/ | | | | | | | | | | | | | | | | After remove the offsets in Exynos4/4x12 gpio enums, an additional gpio base addresses are required. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Acked-by: Simon Glass <sjg@chromium.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* | Merge branch 'master' of git://git.denx.de/u-boot-mipsTom Rini2014-11-03-44/+156
|\ \
| * | MIPS: add .padding section to linker scriptDaniel Schwierzeck2014-11-01-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 79fd7e649e287228a1445820a72f7dd33baedb96 MIPS: always keep all sections in u-boot ELF binary. Always keep all sections in u-boot ELF binary. Move all unneeded sections after _end to avoid allocating space in the final binary. Also remove .deadcode section which is now obsolete. removed section .deadcode because the original symptoms were not visible anymore. Unfortuneatly the binutils bug still exists. The size of .rel.dyn section is often bigger than needed for all entries. But objcopy only allocates space as much as required for all reloc entries. Thus there is a gap between the last entry and __rel_dyn_end in u-boot.bin. If u-boot is booted from RAM (e.g. in SPL scenarios) that area could contain garbage data which could lead to CPU exceptions during relocation. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
| * | MIPS: refactor setting of compiler optionsDaniel Schwierzeck2014-11-01-41/+29
| | | | | | | | | | | | | | | | | | | | | Refactor and unify all compiler settings in arch/mips/config.mk. Also add tune flags for each supported CPU type. Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
| * | MIPS: kconfig: merge targets qemu_mips and qemu_mips64Daniel Schwierzeck2014-11-01-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | Now the user can separately select the CPU type. Thus the targets qemu_mips and qemu_mips64 can be merged to a single target. Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
| * | MIPS: kconfig: globally define CONFIG_SYS_CPU for MIPSDaniel Schwierzeck2014-11-01-0/+4
| | | | | | | | | | | | | | | | | | | | | Now the user can select the CPU type for each target. Thus CONFIG_SYS_CPU could be set globally. Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
| * | MIPS: kconfig: add options for CPU type selectDaniel Schwierzeck2014-11-01-0/+68
| | | | | | | | | | | | | | | | | | | | | | | | Add new Kconfig option to let the user select the targets CPU type. Each target have to select SUPPORTS_CPU_MIPS[32,64]_R[1,2] to indicate which CPU types are supported. Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
| * | MIPS: kconfig: add options for endianess selectDaniel Schwierzeck2014-11-01-0/+38
| |/ | | | | | | | | | | | | | | | | Add new Kconfig option to let the user select the targets endianess. Each target have to select SUPPORTS_BIG_ENDIAN and/or SUPPORTS_LITTLE_ENDIAN to indicate which endianess is supported. Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
* | Merge branch 'master' of git://git.denx.de/u-boot-uniphierTom Rini2014-11-03-1/+10
|\ \
| * | ARM: UniPhier: make pinmon command optionalMasahiro Yamada2014-10-29-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | Add CONFIG_CMD_PINMON to UniPhier-specific Kconfig and make the "pinmon" command user-configurable. This command can be disabled via the configuration if users do not need it. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* | | Merge git://git.denx.de/u-boot-x86Tom Rini2014-10-29-84/+474
|\ \ \ | |_|/ |/| |
| * | x86: Correct a few progress message nitsSimon Glass2014-10-28-3/+3
| | | | | | | | | | | | | | | | | | | | | We should use puts() instead of printf() where possible. Also clarify the setup.bin message. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | x86: bootm: Support booting a 64-bit raw kernelSimon Glass2014-10-28-2/+8
| | | | | | | | | | | | | | | | | | Detect an x86_64 kernel and boot it in 64-bit mode. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | x86: Move kernel boot function to arch/x86/lib/bootm.cSimon Glass2014-10-28-48/+63
| | | | | | | | | | | | | | | | | | | | | | | | The boot_zimage() function is badly named it can also boot a raw kernel. Rename it, and try to avoid pointers for memory addresses as it involves lots of casting. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | x86: Add support for starting 64-bit kernelSimon Glass2014-10-28-1/+165
| | | | | | | | | | | | | | | | | | | | | | | | Add code to jump to a 64-bit Linux kernel. We need to set up a flat page table structure, a new GDT and then go through a few hoops in the right order. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | x86: Display basic CPU information on bootSimon Glass2014-10-28-0/+71
| | | | | | | | | | | | | | | | | | Display the type of CPU (x86 or x86_64) when starting up. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | x86: Bring in msr-index.h from linux 3.8Simon Glass2014-10-28-2/+106
| | | | | | | | | | | | | | | | | | Update this file to include x86_64 fields. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | x86: Move paging functions into cpu.cSimon Glass2014-10-28-30/+60
| | | | | | | | | | | | | | | | | | | | | These functions really don't belong in physmem as they relate to the cpu. Move them. Signed-off-by: Simon Glass <sjg@chromium.org>
* | | arm: interrupt_init: set sp in IRQ/FIQ modesGeorges Savoundararadj2014-10-29-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this commit, the stack addresses for IRQ and FIQ modes, IRQ_STACK_START and FIQ_STACK_START, were computed in interrupt_init but they were not used. This commit sets the stack pointers for IRQ and FIQ modes. Signed-off-by: Georges Savoundararadj <savoundg@gmail.com> Acked-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
* | | arm: relocate the exception vectorsGeorges Savoundararadj2014-10-29-6/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit relocates the exception vectors. As ARM1176 and ARMv7 have the security extensions, it uses VBAR. For the other ARM processors, it copies the relocated exception vectors to the correct address: 0x00000000 or 0xFFFF0000. Signed-off-by: Georges Savoundararadj <savoundg@gmail.com> Acked-by: Albert ARIBAUD <albert.u.boot@aribaud.net> Cc: Tom Warren <twarren@nvidia.com>
* | | arm: make .vectors section allocatableGeorges Savoundararadj2014-10-29-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A regression was introduced in commit 41623c91. The consequence of that is the non-relocation of the section .vectors symbols : _undefined_instruction, _software_interrupt, _prefetch_abort, _data_abort, _not_used, _irq and _fiq. Before commit 41623c91, the exception vectors were in a .text section. The .text section has the attributes allocatable and executable [1]. In commit 41623c91, a specific section is created, called .vectors, with the attribute executable only. What have changed between commit 41623c91^ and 41623c91 is the attribute of the section which contains the exception vectors. An allocatable section is "a section [that] occupies memory during process execution" [1] which is the case of the section .vectors. Adding the lacking attribute (SHF_ALLOC or "a") for the definition of the section .vectors fixed the issue. To summarize, the fix has to mark .vectors as allocatable because the exception vectors reside in "memory during execution" and they need to be relocated. [1] http://man7.org/linux/man-pages/man5/elf.5.html Signed-off-by: Georges Savoundararadj <savoundg@gmail.com> Acked-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
* | | kconfig: arm: introduce symbol for ARM CPUsGeorges Savoundararadj2014-10-29-48/+212
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit introduces a Kconfig symbol for each ARM CPU: CPU_ARM720T, CPU_ARM920T, CPU_ARM926EJS, CPU_ARM946ES, CPU_ARM1136, CPU_ARM1176, CPU_V7, CPU_PXA, CPU_SA1100. Also, it adds the CPU feature Kconfig symbol HAS_VBAR which is selected for CPU_ARM1176 and CPU_V7. For each target, the corresponding CPU is selected and the definition of SYS_CPU in the corresponding Kconfig file is removed. Also, it removes redundant "string" type in some Kconfig files. Signed-off-by: Georges Savoundararadj <savoundg@gmail.com> Acked-by: Albert ARIBAUD <albert.u.boot@aribaud.net> Cc: Masahiro Yamada <yamada.m@jp.panasonic.com>
* | | i2c: designware: Convert driver to multibus/multiadapter frameworkStefan Roese2014-10-29-1/+1
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In preparation for the SoCFPGA support of the designware I2C driver, convert this driver to the common CONFIG_SYS_I2C framework. This patch converts all users of this driver, this is: - ST spearxxx boards - AXS101 (ARC700 platform) I couldn't test this patch on those boards. Only compile tested for all spear boards. And tested on SoCFPGA. Signed-off-by: Stefan Roese <sr@denx.de> Reviewed-by: Marek Vasut <marex@denx.de> Acked-by: Alexey Brodkin <abrodkin@synopsys.com> Tested-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Heiko Schocher <hs@denx.de> Cc: Vipin Kumar <vk.vipin@gmail.com> Cc: Jeroen Hofstee <jeroen@myspectrum.nl>
* | ppc/arm: zap EMK boardsWolfgang Denk2014-10-28-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The following bard configurations have been without active maintenance for a long time, and the board maintainer agrees to have them removed: MPC5200: TOP5200, MINI5200, EVAL5200 MPC860: TOP860 at91sam9xeXXX: top9000eval_xe, top9000su_xe Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Reinhard Meyer <reinhard.meyer@emk-elektronik.de> [trini: Add missing Kconfig removals] Signed-off-by: Tom Rini <trini@ti.com>
* | odroid: dts: fix name of included dtsiPrzemyslaw Marczak2014-10-27-1/+1
| | | | | | | | | | | | | | Odroid is based on Exynos4412. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Acked-by: Simon Glass <sjg@chromium.org>
* | odroid: dts: adjust sd cd-gpios for SD CardPrzemyslaw Marczak2014-10-27-1/+1
| | | | | | | | | | | | | | | | There is no gaps in exynos gpio enum after rework, so the gpio numbers should be adjusted to the new numbering. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Acked-by: Simon Glass <sjg@chromium.org>
* | trats2: dts: adjust gpio numbers after gpio reworkPrzemyslaw Marczak2014-10-27-3/+3
| | | | | | | | | | | | | | | | There is no gaps in exynos gpio enum after rework, so the gpio numbers should be adjusted to the new numbering. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Acked-by: Simon Glass <sjg@chromium.org>
* | trats: dts: adjust gpio numbers to new apiPrzemyslaw Marczak2014-10-27-2/+2
| | | | | | | | | | | | | | | | There is no gaps in exynos gpio enum after rework, so the gpio numbers should be adjusted to the new numbering. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Acked-by: Simon Glass <sjg@chromium.org>
* | universal: dts: adjust gpio numbers to new apiPrzemyslaw Marczak2014-10-27-2/+2
| | | | | | | | | | | | | | | | There is no gaps in exynos gpio enum after rework, so the gpio numbers should be adjusted to the new numbering. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Acked-by: Simon Glass <sjg@chromium.org>
* | exynos4210: dts: fix gpio offset in pinctrl-ubootPrzemyslaw Marczak2014-10-27-1/+1
| | | | | | | | | | | | | | | | The gpy0 don't need any additional register offset, but the gpx0 does, so now it is fixed. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Acked-by: Simon Glass <sjg@chromium.org>
* | exynos4412: dts: adjust pinctrl-uboot to changed gpio orderPrzemyslaw Marczak2014-10-27-4/+1
| | | | | | | | | | | | | | | | The gpf0 offset was bad and it's now fixed. After fix gpio order in *pinctrl.dts , the gpy0 offset is not required now. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Acked-by: Simon Glass <sjg@chromium.org>
* | exynos4412: dts: fix bad gpio order in pinctrlPrzemyslaw Marczak2014-10-27-27/+27
|/ | | | | | | | | The pinctrl dts was imported from the kernel, but the order of GPM and GPY is wrong. The gpio enum in: asm/arch/gpio.h is proper. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Acked-by: Simon Glass <sjg@chromium.org>
* kconfig: add CONFIG_SUPPORT_TPLMasahiro Yamada2014-10-27-0/+5
| | | | | | | | CONFIG_TPL should not be enabled for boards that do not have TPL. CONFIG_SUPPORT_TPL introduced by this commit should be "select"ed by boards with TPL support and CONFIG_TPL should depend on it. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* kconfig: add CONFIG_SUPPORT_SPLMasahiro Yamada2014-10-27-0/+91
| | | | | | | | | CONFIG_SPL should not be enabled for boards that do not have SPL. CONFIG_SUPPORT_SPL introduced by this commit should be "select"ed by boards with SPL support and CONFIG_SPL should depend on it. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Simon Glass <sjg@chromium.org>
* Rename some defines containing FAT in their name to be filesystem genericGuillaume GARDET2014-10-27-7/+7
| | | | | | | | | | | Rename some defines containing FAT in their name to be filesystem generic: MMCSD_MODE_FAT => MMCSD_MODE_FS CONFIG_SPL_FAT_LOAD_ARGS_NAME => CONFIG_SPL_FS_LOAD_ARGS_NAME CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME => CONFIG_SPL_FS_LOAD_PAYLOAD_NAME CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION => CONFIG_SYS_MMC_SD_FS_BOOT_PARTITION Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr> Cc: Tom Rini <trini@ti.com>
* x86: Use correct printf() format string for uintptr_tSimon Glass2014-10-27-1/+2
| | | | | | Use the inttypes header file to provide this. Signed-off-by: Simon Glass <sjg@chromium.org>
* Provide option to avoid defining a custom version of uintptr_t.Gabe Black2014-10-27-0/+10
| | | | | | | | | | | | | | | | | | There's a definition in stdint.h (provided by gcc) which will be more correct if available. Define CONFIG_USE_STDINT to use this feature, or USE_STDINT=1 on the 'make' commmand. This adjusts the settings for x86 and sandbox, with both have 64-bit options. Signed-off-by: Gabe Black <gabeblack@google.com> Reviewed-by: Gabe Black <gabeblack@chromium.org> Tested-by: Gabe Black <gabeblack@chromium.org> Reviewed-by: Bill Richardson <wfrichar@google.com> Rewritten to be an option, since stdint.h is often available only in glibc. Changed to preserve a clear boundary between stdint and non-stdint Signed-off-by: Simon Glass <sjg@chromium.org>
* Merge branch 'master' of git://git.denx.de/u-boot-mpc5xxxTom Rini2014-10-27-162/+5
|\
| * ppc: Zap TQM8272 boardMarek Vasut2014-10-27-6/+0
| | | | | | | | | | | | | | | | | | | | | | This board is old and is using CONFIG_I2C_X, which is wrong. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Tom Rini <trini@ti.com> Cc: Wolfgang Denk <wd@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Heiko Schocher <hs@denx.de>