summaryrefslogtreecommitdiffstats
path: root/arch
Commit message (Collapse)AuthorAgeFilesLines
* ARM: tegra: set up stack before calling maincluster entryLucas Stach2016-04-141-3/+4
| | | | | | | | Allows this code to work correct regardless of the used compiler optimizations. Signed-off-by: Lucas Stach <dev@lynxeye.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/ubifs'Sascha Hauer2016-04-084-2/+336
|\
| * ARM: Add atomic.h from u-boot v2016.03Alexander Stein2016-04-082-0/+335
| | | | | | | | | | | | | | | | atomic-long.h: * Replace __UBOOT__ with __BAREBOX__ Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * PPC: atomic: remove non existing header includeSascha Hauer2016-04-081-2/+0
| | | | | | | | | | | | linux/config.h does not exist. Remove its inclusion. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * PPC: discard unused functionsSascha Hauer2016-04-081-0/+1
| | | | | | | | | | | | | | Use --gc-sections to discard unused functions. This makes the image smaller. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * ARM: i.MX27: Fix gpt compatible for latest device treesSascha Hauer2016-04-081-0/+3
| | | | | | | | | | | | | | | | In v4.2-rc3 the "fsl,imx1-gpt" compatible was replaced with "fsl,imx21-gpt" so i.MX27 currently ends up without clocksource. Fix this. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/imx'Sascha Hauer2016-04-0830-301/+102
|\ \
| * | ARM: i.MX: xload-esdhc: Find entry in imageSascha Hauer2016-04-011-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The binary image generated by barebox contains an instruction at the very beginning to jump over the header. However, when the image is written to a SD card and the first 512 bytes are skipped in order to preserve the partition table then this jump instruction is lost. Instead of relying on the jump instruction at the image beginning calculate the image entry from the i.MX header instead of relying on the beginning of the image being the entry point. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | ARM: i.MX: xload-esdhc: Add debug messagesSascha Hauer2016-04-011-1/+5
| | | | | | | | | | | | | | | | | | | | | When imx6_esdhc_start_image fails print an error, otherwise print a success message. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | ARM: i.MX: xload-esdhc: Fix typo successul -> successfulSascha Hauer2016-04-011-1/+1
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | ARM: i.MX: xload-esdhc: Add GPL headerSascha Hauer2016-04-011-0/+11
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | ARM: i.MX: remove unused imx-flash-header.hSascha Hauer2016-04-0112-277/+0
| | | | | | | | | | | | | | | | | | | | | All i.MX images are nowadays built with the imx-image tool, so we do not need the header files and Kconfig options anymore. Remove them. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | ARM: i.MX6: esdctl: Fix CS0_end for 4GiB/csSascha Hauer2016-04-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | On i.MX6 a single chipselect can have 4GiB. In this case the calculation for CS0_end overflows the 7 bit field. Clamp it to 127, the maximum supported value. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | ARM: i.MX6: esdctl: Fix memsize calculation for 4GiB/csSascha Hauer2016-04-011-3/+3
| | | | | | | | | | | | | | | | | | | | | On i.MX6 a single chipselect can have 4GiB, which overflows a 32bit type, so imx6_mmdc_sdram_size() must return a u64 to support this case. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | ARM i.MX35: Read reset source from CCMAlexander Stein2016-03-291-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | CCM has reset status bits with more detailed information than the watchdog. Set reset source with higher priority. Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | i.MX6: PL310: Adjust settings for performanceAndrey Smirnov2016-03-171-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to commit f6b6f3c7b2bb7d6277801882afdced6f2b10fc17 from git://git.freescale.com/imx/uboot-imx.git: Also set Prefetch offset to 15, since it improves memcpy performance by 35%. Don't enable Incr double Linefill enable since it adversely affects memcpy performance by about 32MB/s and reads by 90MB/s. Tested with 4K to 16MB sized src and dst aligned buffer. This commit ports those chagnes from U-Boot. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | i.MX6: Apply PL310 errata base on PL310's revisionAndrey Smirnov2016-03-171-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I.MX6Q Plus parts have r3p2 revision of PL310 so double linefill errata no longer applies for all of the i.MX6Q SoCs. Change the code to use PL310's revision inforation to determine if workaround needs to be applied. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | L2x0: i.MX6: Replace magic numbers with constantsAndrey Smirnov2016-03-172-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | Use constants instead of magic numbers for PL301 registers bits in imx6_mmu_init() Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | i.MX6: Apply errata 845369 workaroundAndrey Smirnov2016-03-171-0/+1
| | | | | | | | | | | | | | | Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | ARM: Add errata 845369 workaroundAndrey Smirnov2016-03-171-0/+9
| | | | | | | | | | | | | | | Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | i.MX: Add revision detection for i.MX6D/Q PlusAndrey Smirnov2016-03-171-3/+14
| | | | | | | | | | | | | | | Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | clk-imx6: Call clk_enable on mmdc_ch0_axi_podfAndrey Smirnov2016-03-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Call clk_enable on mmdc_ch0_axi_podf in order to properly increase reference counters for all of the nodes in this particular clock path. Otherwise it becomes possible for peripherals, located on other branches stemming from "periph", to shut down the whole clock tree (up to "pll2_bus") when they try to manage their own local clocks. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | i.MX6: dts: Include local .dtsi's lastAndrey Smirnov2016-03-169-9/+9
| |/ | | | | | | | | | | | | | | | | Make sure that Barebox specific .dtsi files are included after .dtsi files imported from Linux kernel. This way those local .dtsi files can reference phandles defined in Linux kernel files. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/arm'Sascha Hauer2016-04-086-41/+133
|\ \
| * | ARM: Rework vector table setupSascha Hauer2016-04-012-37/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current vector table setup has some shortcomings. First of all currently the case when the high vectors are inside SDRAM (that is, SDRAM reaches the end of the address space) is not supported. In this case we create a secondary page table for the section containing the vectors which gets overwritten by the general SDRAM secondary page table entries creation afterwards. On ARMv7 and later the exception table setup can be improved: Here the vector table address is configurable in the VBAR register. We can use this register to skip remapping the vector table. With this patch we first try to use the VBAR register before doing something else. Also, when we have to use the high vectors we first try a request_sdram_region to test if the vector table memory is already mapped. While at it sprinkle some comments into the code. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | ARM: Do not use last 64KiB of address space for bareboxSascha Hauer2016-04-012-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | The last 64KiB of address space may be used for the vector table at 0xffff0000, so we cannot use it for barebox. The easiest way to archieve this is to never use the last 64KiB of memory. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | ARM: start: Fix wrong format specifierSascha Hauer2016-04-011-1/+1
| | | | | | | | | | | | | | | | | | Print a hex number after 0x, not a decimal number. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | ARM: pbl-multi: Fix SDRAM at end of address spaceSascha Hauer2016-04-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | When SDRAM reaches to the end of the address space the comparison membase + memsize evaluates to 0, so pc - membase < memsize can never be true. Fix this by substracting membase on both sides of the comparison. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | | efi: let the generic relocate code handle all relocationsMichael Olbrich2016-04-072-42/+2
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Part of the barebox code and variables are put in separate sections (.barebox* and .initcall*). When this code is compiled as position independent code then the compiler creates corresponding .rela.barebox* and .rela.initcall* sections with the relocation table entries. These sections don't match the .rela.data* wildcard in the linker script. As a result, they are not added to the .rela section during linking but are added individually after it instead. And when the EFI binary is created from the ELF binary, these sections are not copied. This has two side effects: 1. The corresponding relocations are not handled by the generic relocation code. 'fixup_tables()' was added to do these relocations manually. 2. In the DYNAMIC section, the RELASZ entry contains the total size of relocations in bytes. This includes the .rela.barebox* and .rela.initcall* sections. This value is not modified when the EFI binary is created. So the value is too large. The generic relocation code in _relocate() used this value when iterating over all relocation entries. With the wrong RELASZ value it iterates beyond the end of the .rela section into uninitialized memory. After power-on this memory is zero and the relocation code interprets this as 'nothing to do', so there is no visible effect. After a soft reset, random data in that area may produce a seemingly valid relocation entry, a random address is modified and barebox crashes. This patch adds the .rela.barebox* and .rela.initcall* sections to the normal .rela section. The RELASZ now contains the correct size and the generic relocation code works correctly. 'fixup_tables()' must be removed at the same time to avoid relocating these entries twice. Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* / ARM: i.MX27: Fix gpt compatible for latest device treesSascha Hauer2016-03-161-0/+3
|/ | | | | | | | In v4.2-rc3 the "fsl,imx1-gpt" compatible was replaced with "fsl,imx21-gpt" so i.MX27 currently ends up without clocksource. Fix this. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/misc'Sascha Hauer2016-03-114-3/+13
|\
| * ARM: i.MX: bbu-internal: detect device before writing to itSascha Hauer2016-03-021-0/+3
| | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Tested-by: Stefan Christ <s.christ@phytec.de>
| * ARM: am335x_defconfig: Enable the of_fixup_status commandTeresa Remmet2016-03-011-0/+1
| | | | | | | | | | Signed-off-by: Teresa Remmet <t.remmet@phytec.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * Kconfig: avoid tabs in help textAlexander Kurz2016-02-251-2/+2
| | | | | | | | | | | | | | | | Tabs in kconfig help text will create unwanted indention artefacs when the help text is scrolled horizontally. Replacing tabs with spaces. Signed-off-by: Alexander Kurz <akurz@blala.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * edb9302 eth: provide proper phy configAlexander Kurz2016-02-251-1/+7
| | | | | | | | | | | | | | | | The evaluation boards EDB9302 and Olimex-CS-E9302 both use a KS8721BL transceiver in default strapping which is phy_addr=1 Signed-off-by: Alexander Kurz <akurz@blala.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/mips'Sascha Hauer2016-03-1119-12/+510
|\ \
| * | MIPS: tplink-mr3020: fix "WPS" and "3G" LEDsAntony Pavlov2016-03-101-0/+6
| | | | | | | | | | | | | | | Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | MIPS: black-swift_defconfig: enable gpio-related stuffAntony Pavlov2016-03-101-0/+6
| | | | | | | | | | | | | | | Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | MIPS: black-swift: enable GPIO keyAntony Pavlov2016-03-101-0/+11
| | | | | | | | | | | | | | | Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | MIPS: black-swift: enable GPIO LEDAntony Pavlov2016-03-092-0/+21
| | | | | | | | | | | | | | | Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | MIPS: ath79: pbl: add pbl_ar9331_mdio_gpio_enable macroAntony Pavlov2016-03-091-0/+8
| | | | | | | | | | | | | | | Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | MIPS: black-swift_defconfig: use cached memory regionAntony Pavlov2016-03-091-0/+2
| | | | | | | | | | | | | | | Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | MIPS: tplink-mr3020_defconfig: use cached memory regionAntony Pavlov2016-03-091-0/+2
| | | | | | | | | | | | | | | Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | MIPS: dtb: register only one memory bankPeter Mamonov2016-03-091-5/+7
| | | | | | | | | | | | | | | | | | Signed-off-by: Peter Mamonov <pmamonov@gmail.com> Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | MIPS: implement dma_sync_* functionsPeter Mamonov2016-03-094-1/+69
| | | | | | | | | | | | | | | | | | Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Peter Mamonov <pmamonov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | MIPS: flush cache on shutdownAntony Pavlov2016-03-094-0/+43
| | | | | | | | | | | | | | | | | | Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Peter Mamonov <pmamonov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | MIPS: add initial R4000-style cache supportAntony Pavlov2016-03-093-0/+57
| | | | | | | | | | | | | | | | | | Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Peter Mamonov <pmamonov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | MIPS: tplink-mr3020: pbl: init cacheAntony Pavlov2016-03-091-0/+6
| | | | | | | | | | | | | | | Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | MIPS: black-swift: pbl: init cacheAntony Pavlov2016-03-091-0/+6
| | | | | | | | | | | | | | | Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | MIPS: pbl: import cache init code from U-Boot v2016.01-212-ga3ab2aeAntony Pavlov2016-03-093-0/+170
| | | | | | | | | | | | | | | Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>