summaryrefslogtreecommitdiffstats
path: root/arch
Commit message (Collapse)AuthorAgeFilesLines
...
* | | ARM: pxa: pxa2xx use PSPR for resume addressRobert Jarzmik2015-12-072-2/+2
| |/ |/| | | | | | | | | | | | | | | | | | | Both lubbock and mainstone suspend to RAM were broken by the same typo. The linux kernel saves the resume address to PSPR, ie. the scratch pad register, while it was PSSR which was checked in barebox. Fixing this typo was tested on mainstone where resume from S3 works. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | imx6-mmdc: Fix MAPSR usageMarek Vasut2015-11-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The commit ea1fb2f75db8c20f6b950c3b96dc39b26fc72bd0 by Eric Nelson imx6-mmdc: fix automatic power down enable in write level calibration fixed the incorrect usage of the MAPSR register, but there is one more place where the MAPSR is misused in the exact same way, so fix that as well. Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | ARM: Fix bug in remap_rangeSascha Hauer2015-11-131-16/+22
| | | | | | | | | | | | | | | | | | | | | | remap_range takes generic MAP_CACHED/MAP_UNCACHED flags which are then translated into the corresponding ARM specific bits. We call remap_range internally from dma_alloc_* aswell, but instead of passing the generic flags we pass the ARM specific bits. Fix this by creating an internal __remap_range function which takes the ARM specific bits and use it where appropriate. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | ARM: calculate compressed dtb len correctlySascha Hauer2015-11-111-1/+1
|/ | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/mvebu'Sascha Hauer2015-11-064-4/+4
|\
| * scripts/kwbimage: Make BINARY files relative to config fileSascha Hauer2015-10-194-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | The BINARY files given in the config files are expected to be relative to the place kwbimage is called from. This is bad since it breaks where kwbimage is called from the build directory and not the source directory. It makes more sense to make the paths in the config files relative to the config files which works with out of tree builds and is also more what a user normally expects. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/misc'Sascha Hauer2015-11-061-0/+7
|\ \
| * | arm: Disable unaligned accessesAndrey Smirnov2015-10-151-0/+7
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From reading ARM architecture related documentation if appears that while unaligned memory access is supported by the processor in general it is not supported if MMU is disabled. The problem in question can be easily reproduced by building the code without this patch, MMU disabled, and trying to run 'memtest' command. Which would in turn call mem_test() which would eventually call show_progress(). That last function, if build without -mno-unaligned-access would result in unaligned memory access which would result in Barebox hanging. This patch instructs the compiler to not generate any unaligned accesses to memory thus avoiding the problem. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/mips'Sascha Hauer2015-11-0616-3/+473
|\ \
| * | MIPS: tplink-mr3020_defconfig: enable pbl; make image shorterAntony Pavlov2015-11-031-0/+3
| | | | | | | | | | | | | | | Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | MIPS: tplink-mr3020: add pbl low level initAntony Pavlov2015-11-031-0/+6
| | | | | | | | | | | | | | | Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | MIPS: ath79: add pbl_ar9331_ddr1_config macroAntony Pavlov2015-11-031-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See also u-boot_mod/u-boot/cpu/mips/ar7240/hornet_ddr_init.S See also this openocd commit: commit f59d2d9ecfee8899df531b87b7acaa468725f238 Author: Oleksij Rempel <linux@rempel-privat.de> Date: Fri Jan 30 13:05:31 2015 +0100 tcl/target|board: add config Atheros ar9331 Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | MIPS: ath79: add black-swift_defconfigAntony Pavlov2015-11-031-0/+46
| | | | | | | | | | | | | | | Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | MIPS: ath79: add black-swift board supportAntony Pavlov2015-11-036-0/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Black Swift is a tiny coin-sized embedded computer based on AR9331 SoC. See http://www.black-swift.com/ for details. See also Black Swift kickstarter page: https://www.kickstarter.com/projects/1133560316/black-swift-tiny-wireless-computer Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | MIPS: ath79: add debug_ll_ar9331_init macroAntony Pavlov2015-11-031-0/+29
| | | | | | | | | | | | | | | Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | MIPS: ath79: add pbl_ar9331_uart_enable macroAntony Pavlov2015-11-033-0/+21
| | | | | | | | | | | | | | | | | | Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | MIPS: ath79: add pbl_ar9331_ddr2_config macroAntony Pavlov2015-11-032-0/+109
| | | | | | | | | | | | | | | | | | | | | | | | See also u-boot_mod/u-boot/cpu/mips/ar7240/hornet_ddr_init.S Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | MIPS: ath79: add pbl_ar9331_pll macroOleksij Rempel2015-11-033-0/+65
| | | | | | | | | | | | | | | | | | Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | mips: cpuinfo: report secondary cache configurationPeter Mamonov2015-11-031-1/+10
| | | | | | | | | | | | | | | Signed-off-by: Peter Mamonov <pmamonov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | mips: c-r4k: detect secondary cachePeter Mamonov2015-11-032-2/+31
| | | | | | | | | | | | | | | Signed-off-by: Peter Mamonov <pmamonov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | | Merge branch 'for-next/memtest'Sascha Hauer2015-11-0610-139/+48
|\ \ \
| * | | rework remap_rangeSascha Hauer2015-11-0310-139/+48
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | remap_range is for remapping regions with different cache attributes. It is implemented for ARM and PowerPC only, the other architectures only provide stubs. Currently the new cache attributes are passed in an architecture specific way and the attributes have to be retrieved by calls to mmu_get_pte_cached_flags() and mmu_get_pte_uncached_flags(). Make this simpler by providing architecture independent flags which can be directly passed to remap_range() Also provide a MAP_ARCH_DEFAULT flag and a arch_can_remap() function. The MAP_ARCH_DEFAULT defaults to whatever caching type the architecture has as default. the arch_can_remap() function returns true if the architecture can change the cache attributes, false otherwise. This allows the memtest code to better find out what it has to do. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | | Merge branch 'for-next/imx'Sascha Hauer2015-11-0631-51/+707
|\ \ \
| * | | embedsky-e9: enable barebox_update command for booter updateAnton Bondarenko2015-11-051-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simplify booter update with barebox_update command using special IMX6 MMC BBU handler. Signed-off-by: Anton Bondarenko <anton.bondarenko.sama@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | | embedsky-e9: cleanup and reorder DTS nodesAnton Bondarenko2015-11-021-45/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed duplicate ldb node. Removed disabled nodes Signed-off-by: Anton Bondarenko <anton.bondarenko.sama@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | | ARM: imx6: add OF fixup to delete nonexistent CPU coresLucas Stach2015-10-271-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure that the DT passed to Linux reflects the actual number of CPU cores present in the system by reading the SCU configuration. As both the Q and DL variants of the MX6 have versions with cores fused away, but the DTs have the maximum number of cores specified, this just deletes any nonexistent CPU core nodes. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | | ARM: i.MX6: add Technexion Wandboard supportMichael Grzeschik2015-10-2712-0/+532
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support support for the i.MX6 Technexion Wandboard. The board comes in different SoC variants and different amounts of RAM. The baord type is autodetected based on the SoC type, so all boards can be supported by the same binary image. Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | | ARM: i.MX6dl: dts: include arm/imx6dl.dtsi from board filesSascha Hauer2015-10-2710-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise boards cannot include board files from the kernel dts without getting the file ordering wrong. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | | ARM: Allow compressed dtb binariesSascha Hauer2015-10-273-0/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the current multi image build process the DTBs end up uncompressed in the PBL. This can be annoying because the PBL is often very size constrained. This patch allows to put the DTBs in as lzo compressed binary into the PBL. Since lzo offers quite good compression ratios for DTBs no other compression algorithm has been implemented for now. Boards which want to use the compressed DTBs only have to change the __dtb_ prefix in the DTB name to __dtb_z_. Also they should select ARM_USE_COMPRESSED_DTB to make sure barebox supports uncompressing the DTB. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | | ARM: Eltec-hypercam: Add missing dcdofd in flash headerSascha Hauer2015-10-271-0/+1
| | | | | | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | | imx6-mmdc: restore RALAT/WALAT in MMDC0, not MMDC1Eric Nelson2015-10-261-1/+1
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Eric Nelson <eric@nelint.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | | imx6-mmdc: fix automatic power down enable in write level calibrationEric Nelson2015-10-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bit 0 of the MAPSR register controls auto power down. Explicitly clear this bit instead of reserved bit when exiting from mmdc_do_write_level_calibration(). Signed-off-by: Eric Nelson <eric@nelint.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | | freescale-mx6-sabresd: Add CONFIG_DEBUG_LL supportAndrey Smirnov2015-10-121-0/+22
| | |/ | |/| | | | | | | | | | Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | | Merge branch 'for-next/arm'Sascha Hauer2015-11-0618-117/+418
|\ \ \ | |_|/ |/| |
| * | omap socfpga: Switch in flash env loading to use different configTrent Piepho2015-11-052-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On these systems, the base arch has code to load the in flash environment from a file located in a FAT filesystem. This was controlled by the config option DEFAULT_ENVIRONMENT. However, that option turns on compiling the env into the barebox binary itself, as a backup if the in flash env can't be loaded. Most other boards have in flash env support unconditionally. But omap and socfpga also have xloader configurations, which aren't supposed to have environment support, either in flash or compiled in. If the in flash env code were unconditional, then the xloaders would gain it. So the code depends on ENV_HANDLING, which is only set on those boards that are supposed to have an in flash env and not set on all the boards that aren't supposed to have it. If someone wanted to create a board that did have a saved env, but used an alternate to this generic omap/socfpga file in FAT method, then they'd probably want to create a new config option to control this code and have it not be enabled for their board. Signed-off-by: Trent Piepho <tpiepho@kymetacorp.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | ARM: am335x_defconfig: Enable SMSC phy driverTeresa Remmet2015-11-051-1/+1
| | | | | | | | | | | | | | | | | | | | | The phyCORE-AM335x has a SMSC phy mounted. Enabled the driver for it. Signed-off-by: Teresa Remmet <t.remmet@phytec.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | dts: phyFLEX-AM335x: Disable second ethernet interfaceTeresa Remmet2015-11-051-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | There are phyFLEX modules with only the first eth phy mounted. As barebox only supports the first interface anyway, disable the second interface for now. Signed-off-by: Teresa Remmet <t.remmet@phytec.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | arm/cpu: Avoid multiple definitions of barebox_arm_entryAndrey Smirnov2015-11-026-72/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All versions of barebox_arm_entry (in uncompress.c, start.c and start-pbl.c) appear to be doing exacty the same thing. So move the definition into a separate file and use IS_ENABLED macro to avoid re-definition. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | arm/cpu/start.c: Distil some common code in __start().Andrey Smirnov2015-11-021-24/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both barebox_boarddata and barebox_boot_dtb perform essentially the same function -- hold a pointer to a chunk of private data. Since only one variable is ever used at any given time we may as well merge those two variable into one. This also allows us to share more code between two boot paths (board data vs. device tree) Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | ARM: Add support for semihostingAndrey Smirnov2015-10-305-0/+284
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add semihosting API implementation and implement a filesystem driver to access debugging host filesystem using it. Tested on Freescale SabreSD board (i.MX6Q) using OpenOCD Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | ARM: imx6: set shared attribute override bit in PL310Lucas Stach2015-10-131-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to make the system compliant to the ARMv7 ARM RevC clarifications regarding conflicting memory aliases the shared override bit needs to be set. This needs to be done in the bootloader, as the kernel will not apply any modifications to the AUX_CTRL register by default, as it is a secure only register. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | ARM: imx6: use l2x0 header for register definitionsLucas Stach2015-10-131-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | Instead of using a redundant definition. This makes things a bit cleaner and also avoids to introduce another private define in the next patch. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | ARM: l2x0: move outer cache flush on disable to userLucas Stach2015-10-132-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are systems like the Calxeda Highbank, which need to do SMC calls in order to access the secure L2C registers, which means they want to replace the outer cache disable function with their own. As the cache flush before entering the boot target is still needed and to avoid exposing L2C internals to the architectures move the flush before disable into the only current user. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | ARM: l2x0: correct indentationLucas Stach2015-10-131-2/+2
| |/ | | | | | | | | | | | | This is a trivial commit. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* / ARM: imx: clocksource: add new DT compatibleLucas Stach2015-10-261-0/+3
|/ | | | | | | | | | The i.MX6 DL/S DT has been changed to use more specific compatibles as GPTv2 has a different programming model for modes used in Linux. This difference doesn't matter for Barebox, but the old mx31 compatible has been dropped from the DT, so we need to match on the one still present. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/omap'Sascha Hauer2015-10-0727-138/+392
|\
| * xload: be more flexible when searching for second stage bootloader.Vicente Bergas2015-10-021-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A first stage bootloader can read fat and ext4 filesystems, and even both can be compiled-in at the same time. But then xload has a hardcoded fat filesystem mount option which renders ext4 unusable. This patch tries to mount it as ext4 if the fat attempt fails. Then, a typical use case of an ext4 formatted filesystem is it to be a standard linux filesystem, which contains boot-related files in /boot. So, when searching for the second stage bootloader, try /boot/barebox.bin after not finding it in /barebox.bin Signed-off-by: Vicente Bergas <vicencb@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * ARM: am33xx: Enable ethernet node on NET bootWadim Egorov2015-09-291-0/+3
| | | | | | | | | | Signed-off-by: Wadim Egorov <w.egorov@phytec.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * ARM: dts: am335x-phytec-phycore-som: Disable mac node.Wadim Egorov2015-09-291-0/+4
| | | | | | | | | | Signed-off-by: Wadim Egorov <w.egorov@phytec.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * archosg9: add displayVicente Bergas2015-09-294-20/+123
| | | | | | | | | | Signed-off-by: Vicente Bergas <vicencb@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>