| #
11f9ae3a |
| 23-Mar-2023 |
Joseph Chen <chenjh@rock-chips.com> |
cpu: armv7: Disable align access in cpu_init_cp15()
There is unalign access when decompress firmware.
Signed-off-by: Joseph Chen <chenjh@rock-chips.com> Change-Id: I780e4a0c3bd0a5285f5624e79bdc7184
cpu: armv7: Disable align access in cpu_init_cp15()
There is unalign access when decompress firmware.
Signed-off-by: Joseph Chen <chenjh@rock-chips.com> Change-Id: I780e4a0c3bd0a5285f5624e79bdc7184c8bbe40f
show more ...
|
| #
7c1a6210 |
| 21-Mar-2022 |
Joseph Chen <chenjh@rock-chips.com> |
arm: v7: Add zero CNTVOFF support
Signed-off-by: Joseph Chen <chenjh@rock-chips.com> Change-Id: I844ea7592e1448d7e5408b6ec1b26ed80af53358
|
| #
617c1bec |
| 12-Jul-2021 |
Joseph Chen <chenjh@rock-chips.com> |
arm: v7/v8: Enable SError/Asynchronous external abort for TPL/SPL/U-Boot
Add this patch to support report SError/Asynchronous external abort immediately in current exception level.
=== issue scene
arm: v7/v8: Enable SError/Asynchronous external abort for TPL/SPL/U-Boot
Add this patch to support report SError/Asynchronous external abort immediately in current exception level.
=== issue scene === When access a illegal address, It results in: - read: Synchronous data-abort - write: SError(64-bit)/Asynchronous external abort(32-bit)
=== 64-bit === EL3 SError ASynchronous exception in TPL/SPL was already enabled in start.S and crt0_64.S which sets SCR_EL3.EA=1 and DAIF.A=0. We can test result of TPL/SPL by access address 0xfe108000 in rk3568. Let's enable SError in U-Boot proper.
=== 32-bit === Let's set CPSR.A=0 to enable Asynchronous external abort, we can test result by access address 0xfe808000 in rv1126. Note: TPL/SPL vectors only provides "b ." for all exception entry.
Signed-off-by: Joseph Chen <chenjh@rock-chips.com> Change-Id: Id9f660a9275f69fdc8443ad239aabf79682d95d0
show more ...
|
| #
a3f8c59f |
| 28-Aug-2018 |
Zhihuan He <huan.he@rock-chips.com> |
rockchip: ARM: tpl: add TPL_TINY_FRAMEWORK flow for arm
If sram size is small for TPL build, it can defined CONFIG_TPL_TINY_FRAMEWORK to reduce TPL size. For ARM if defined CONFIG_TPL_TINY_FRAMEWORK
rockchip: ARM: tpl: add TPL_TINY_FRAMEWORK flow for arm
If sram size is small for TPL build, it can defined CONFIG_TPL_TINY_FRAMEWORK to reduce TPL size. For ARM if defined CONFIG_TPL_TINY_FRAMEWORK when build TPL, after save_boot_params(), it jump to board_init_f() directly, then return to maskrom. and stack also use maskrom defined result, never change the SP.
Change-Id: I9a90d031a5d200f86c437175e9ea47e8a34062ac Signed-off-by: Zhihuan He <huan.he@rock-chips.com>
show more ...
|
| #
817007c1 |
| 02-Jan-2018 |
Joseph Chen <chenjh@rock-chips.com> |
armv7: start.S: enable ACTLR.SMP bit
For cortex-A7 core, when ACTLR.SMP is 0 during the processor power-up and power-down procedures, the caches are disabled regardless of the SCTLR.C bit setting. I
armv7: start.S: enable ACTLR.SMP bit
For cortex-A7 core, when ACTLR.SMP is 0 during the processor power-up and power-down procedures, the caches are disabled regardless of the SCTLR.C bit setting. It's similar for other cortex A series core.
Change-Id: I69512787015d651fe5bb5d6961f5ed01c2505058 Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
show more ...
|
| #
b04bb64b |
| 10-Oct-2017 |
Philipp Tomsich <philipp.tomsich@theobroma-systems.com> |
UPSTREAM: arm: mark save_boot_params_ret as a function
As no '.type' was set for save_boot_params_ret in start.S, binutils did not track whether it was emitted as A32 or T32. By properly marking sa
UPSTREAM: arm: mark save_boot_params_ret as a function
As no '.type' was set for save_boot_params_ret in start.S, binutils did not track whether it was emitted as A32 or T32. By properly marking save_boot_params_ret as a potential function entry, we can make sure that the compiler will insert the appropriate instructions for branching to save_boot_params_ret both for call-sites emitted as A32 and T32.
Change-Id: I51807d61cd8655853f672ab0baeae641b16a0493 Reported-by: Andy Yan <andy.yan@rock-chips.com> Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Tested-by: Andy Yan <andy.yan@rock-chips.com> Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
show more ...
|
| #
470135be |
| 16-Aug-2017 |
Tom Rini <trini@konsulko.com> |
Merge git://www.denx.de/git/u-boot-imx
Update pfla02 for setenv changes and PHYLIB/etc migration to Kconfig.
Signed-off-by: Tom Rini <trini@konsulko.com>
|
| #
11d94319 |
| 08-Aug-2017 |
Peng Fan <peng.fan@nxp.com> |
arm: Implement workaround for Cortex-A9 errata 845369
Under very rare timing circumstances, transitioning into streaming mode might create a data corruption. Present on Two or more processors or 1 c
arm: Implement workaround for Cortex-A9 errata 845369
Under very rare timing circumstances, transitioning into streaming mode might create a data corruption. Present on Two or more processors or 1 core with ACP, all revisions. This erratum can be worked round by setting bit[22] of the undocumented Diagnostic Control Register to 1.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Cc: Albert Aribaud <albert.u.boot@aribaud.net> Cc: Tom Rini <trini@konsulko.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Fabio Estevam <fabio.estevam@nxp.com> Reviewed-by: Stefano Babic <sbabic@denx.de>
show more ...
|
| #
4f66e09b |
| 09-May-2017 |
Stefano Babic <sbabic@denx.de> |
Merge branch 'master' of git://git.denx.de/u-boot
Signed-off-by: Stefano Babic <sbabic@denx.de>
|
| #
8776350d |
| 26-Apr-2017 |
Nisal Menuka <nisalmenuka23@gmail.com> |
Add ARM errata workaround 852421 and 852423 for Cortex-A17
ARM errata 852421 and 852423 applies to r1p0, r1p1 and r1p2 revisions of Cortex-A17 processors. These workarounds exist in Linux kernel and
Add ARM errata workaround 852421 and 852423 for Cortex-A17
ARM errata 852421 and 852423 applies to r1p0, r1p1 and r1p2 revisions of Cortex-A17 processors. These workarounds exist in Linux kernel and I thought it would be better to add them in to U-Boot.
Signed-off-by: Nisal Menuka <nisalmenuka23@gmail.com>
show more ...
|
| #
19a75b8c |
| 06-Mar-2017 |
Siarhei Siamashka <siarhei.siamashka@gmail.com> |
arm: omap3: Bring back ARM errata workaround 725233
The workaround for ARM errata 725233 had been lost since commit 45bf05854bc94e (armv7: adapt omap3 to the new cache maintenance framework). Bring
arm: omap3: Bring back ARM errata workaround 725233
The workaround for ARM errata 725233 had been lost since commit 45bf05854bc94e (armv7: adapt omap3 to the new cache maintenance framework). Bring it back in order to avoid very difficult to reproduce, but actually encountered in the wild CPU deadlocks when running software rendered X11 desktop on OMAP3530 hardware.
Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com> [trini: Migrate to Kconfig] Signed-off-by: Tom Rini <trini@konsulko.com>
show more ...
|
| #
d31d4a2d |
| 14-Sep-2016 |
Keerthy <j-keerthy@ti.com> |
ARM: Introduce function to switch to hypervisor mode
On some of the SoCs one cannot enable hypervisor mode directly from the u-boot because the ROM code puts the chip to supervisor mode after it jum
ARM: Introduce function to switch to hypervisor mode
On some of the SoCs one cannot enable hypervisor mode directly from the u-boot because the ROM code puts the chip to supervisor mode after it jumps to boot loader. Hence introduce a weak function which can be overridden based on the SoC type and switch to hypervisor mode in a custom way.
Cc: beagleboard-x15@googlegroups.com Signed-off-by: Keerthy <j-keerthy@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
show more ...
|
| #
fd9102da |
| 13-Jun-2016 |
Tom Rini <trini@konsulko.com> |
Merge branch 'master' of git://git.denx.de/u-boot-atmel
|
| #
b5bd0982 |
| 05-May-2016 |
Simon Glass <sjg@chromium.org> |
arm: Allow skipping of low-level init with I-cache on
At present CONFIG_SKIP_LOWLEVEL_INIT prevents U-Boot from calling lowlevel_init(). This means that the instruction cache is not enabled and the
arm: Allow skipping of low-level init with I-cache on
At present CONFIG_SKIP_LOWLEVEL_INIT prevents U-Boot from calling lowlevel_init(). This means that the instruction cache is not enabled and the board runs very slowly.
What is really needed in many cases is to skip the call to lowlevel_init() but still perform CP15 init. Add an option to handle this.
Reviewed-by: Heiko Schocher <hs@denx.de> Tested-on: smartweb, corvus, taurus, axm Tested-by: Heiko Schocher <hs@denx.de> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com> Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Andreas Bießmann <andreas@biessmann.org>
show more ...
|
| #
a615d0be |
| 27-Jul-2015 |
Nishanth Menon <nm@ti.com> |
ARM: Introduce erratum workaround for 801819
Add workaround for Cortex-A15 ARM erratum 801819 which says in summary that "A livelock can occur in the L2 cache arbitration that might prevent a snoop
ARM: Introduce erratum workaround for 801819
Add workaround for Cortex-A15 ARM erratum 801819 which says in summary that "A livelock can occur in the L2 cache arbitration that might prevent a snoop from completing. Under certain conditions this can cause the system to deadlock. "
Recommended workaround is as follows: Do both of the following:
1) Do not use the write-back no-allocate memory type. 2) Do not issue write-back cacheable stores at any time when the cache is disabled (SCTLR.C=0) and the MMU is enabled (SCTLR.M=1). Because it is implementation defined whether cacheable stores update the cache when the cache is disabled it is not expected that any portable code will execute cacheable stores when the cache is disabled.
For implementations of Cortex-A15 configured without the “L2 arbitration register slice” option (typically one or two core systems), you must also do the following:
3) Disable write-streaming in each CPU by setting ACTLR[28:25] = 0b1111
So, we provide an option to disable write streaming on OMAP5 and DRA7. It is a rare condition to occur and may be enabled selectively based on platform acceptance of risk.
Applies to: A15 revisions r2p0, r2p1, r2p2, r2p3 or r2p4 and REVIDR[3] is set to 0.
Note: certain unicore SoCs *might* not have REVIDR[3] not set, but might not meet the condition for the erratum to occur when they donot have ACP (Accelerator Coherency Port) hooked to ACE (AXI Coherency Extensions). Such SoCs will need the work around handled in the SoC specific manner, since there is no ARM generic manner to detect such configurations.
Based on ARM errata Document revision 18.0 (22 Nov 2013)
Suggested-by: Richard Woodruff <r-woodruff2@ti.com> Suggested-by: Brad Griffis <bgriffis@ti.com> Reviewed-by: Brad Griffis <bgriffis@ti.com> Signed-off-by: Nishanth Menon <nm@ti.com>
show more ...
|
| #
1254ff97 |
| 10-Jul-2015 |
Stefano Babic <sbabic@denx.de> |
Merge branch 'master' of git://git.denx.de/u-boot
|
| #
3cbb15d0 |
| 07-Jul-2015 |
Tom Rini <trini@konsulko.com> |
Merge branch 'master' of git://git.denx.de/u-boot-arm
|
| #
003b09da |
| 08-Apr-2015 |
Pavel Machek <pavel@denx.de> |
armv7: better comment in start.S
Fix big/small letters in comment.
Signed-off-by: Pavel Machek <pavel@denx.de> Tested-by: Marek Vasut <marex@denx.de>
|
| #
7682a998 |
| 17-Mar-2015 |
Rob Herring <robh@kernel.org> |
remove unnecessary version.h includes
Various files are needlessly rebuilt every time due to the version and build time changing. As version.h is not actually needed, remove the include.
Signed-off
remove unnecessary version.h includes
Various files are needlessly rebuilt every time due to the version and build time changing. As version.h is not actually needed, remove the include.
Signed-off-by: Rob Herring <robh@kernel.org> Cc: Albert Aribaud <albert.u.boot@aribaud.net> Cc: Stefano Babic <sbabic@denx.de> Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Marek Vasut <marex@denx.de> Cc: Tom Warren <twarren@nvidia.com> Cc: Michal Simek <monstr@monstr.eu> Cc: Macpaul Lin <macpaul@andestech.com> Cc: Wolfgang Denk <wd@denx.de> Cc: York Sun <yorksun@freescale.com> Cc: Stefan Roese <sr@denx.de> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Cc: Simon Glass <sjg@chromium.org> Cc: Philippe Reynes <tremyfr@yahoo.fr> Cc: Eric Jarrige <eric.jarrige@armadeus.org> Cc: "David Müller" <d.mueller@elsoft.ch> Cc: Phil Edworthy <phil.edworthy@renesas.com> Cc: Robert Baldyga <r.baldyga@samsung.com> Cc: Torsten Koschorrek <koschorrek@synertronixx.de> Cc: Anatolij Gustschin <agust@denx.de> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: Łukasz Majewski <l.majewski@samsung.com>
show more ...
|
| #
9b4d65f9 |
| 09-Mar-2015 |
Nishanth Menon <nm@ti.com> |
ARM: Introduce erratum workaround for 621766
621766: Under a specific set of conditions, executing a sequence of NEON or vfp load instructions can cause processor deadlock Impacts: Every Cortex-A8
ARM: Introduce erratum workaround for 621766
621766: Under a specific set of conditions, executing a sequence of NEON or vfp load instructions can cause processor deadlock Impacts: Every Cortex-A8 processors with revision lower than r2p1 Work around: Set L1NEON to 1
Based on ARM errata Document revision 20.0 (13 Nov 2010)
Signed-off-by: Nishanth Menon <nm@ti.com> Tested-by: Matt Porter <mporter@konsulko.com> Reviewed-by: Tom Rini <trini@konsulko.com>
show more ...
|
| #
5902f4ce |
| 09-Mar-2015 |
Nishanth Menon <nm@ti.com> |
ARM: Introduce erratum workaround for 430973
430973: Stale prediction on replaced inter working branch causes Cortex-A8 to execute in the wrong ARM/Thumb state Impacts: Every Cortex-A8 processors w
ARM: Introduce erratum workaround for 430973
430973: Stale prediction on replaced inter working branch causes Cortex-A8 to execute in the wrong ARM/Thumb state Impacts: Every Cortex-A8 processors with revision lower than r2p1 Work around: Set IBE to 1
Based on ARM errata Document revision 20.0 (13 Nov 2010)
Signed-off-by: Nishanth Menon <nm@ti.com> Tested-by: Matt Porter <mporter@konsulko.com> Reviewed-by: Tom Rini <trini@konsulko.com>
show more ...
|
| #
b45c48a7 |
| 09-Mar-2015 |
Nishanth Menon <nm@ti.com> |
ARM: Introduce erratum workaround for 454179
454179: Stale prediction may inhibit target address misprediction on next predicted taken branch Impacts: Every Cortex-A8 processors with revision lower
ARM: Introduce erratum workaround for 454179
454179: Stale prediction may inhibit target address misprediction on next predicted taken branch Impacts: Every Cortex-A8 processors with revision lower than r2p1 Work around: Set IBE and disable branch size mispredict to 1
Also provide a hook for SoC specific handling to take place if needed.
Based on ARM errata Document revision 20.0 (13 Nov 2010)
Signed-off-by: Nishanth Menon <nm@ti.com> Tested-by: Matt Porter <mporter@konsulko.com> Reviewed-by: Tom Rini <trini@konsulko.com>
show more ...
|
| #
c616a0df |
| 09-Mar-2015 |
Nishanth Menon <nm@ti.com> |
ARM: Introduce erratum workaround for 798870
Add workaround for Cortex-A15 ARM erratum 798870 which says "If back-to-back speculative cache line fills (fill A and fill B) are issued from the L1 data
ARM: Introduce erratum workaround for 798870
Add workaround for Cortex-A15 ARM erratum 798870 which says "If back-to-back speculative cache line fills (fill A and fill B) are issued from the L1 data cache of a CPU to the L2 cache, the second request (fill B) is then cancelled, and the second request would have detected a hazard against a recent write or eviction (write B) to the same cache line as fill B then the L2 logic might deadlock."
Implementations for SoC families such as Exynos, OMAP5/DRA7 etc will be widely different.
Every SoC has slightly different manner of setting up access to L2ACLR and similar registers since the Secure Monitor handling of Secure Monitor Call(smc) is diverse. Hence an weak function is introduced which may be overriden to implement SoC specific accessor implementation.
Based on ARM errata Document revision 18.0 (22 Nov 2013)
Signed-off-by: Nishanth Menon <nm@ti.com> Tested-by: Matt Porter <mporter@konsulko.com> Reviewed-by: Tom Rini <trini@konsulko.com>
show more ...
|
| #
b9cb6482 |
| 02-Mar-2015 |
Stefano Babic <sbabic@denx.de> |
Merge branch 'master' of git://git.denx.de/u-boot
|
| #
e1cc4d31 |
| 24-Feb-2015 |
Albert ARIBAUD <albert.u.boot@aribaud.net> |
Merge remote-tracking branch 'u-boot/master' into 'u-boot-arm/master'
|