From: Troy Kisky <troy.kisky@boundarydevices.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2] mx6: Add workaround for ARM errata
Date: Fri, 04 Jan 2013 18:27:09 -0700 [thread overview]
Message-ID: <50E7816D.2060003@boundarydevices.com> (raw)
In-Reply-To: <1357347279-28508-1-git-send-email-festevam@gmail.com>
On 1/4/2013 5:54 PM, Fabio Estevam wrote:
> From: Fabio Estevam <fabio.estevam@freescale.com>
>
> Add workaround for the following ARM errata: 743622 and 751472.
>
> The motivation for this change is the following kernel commit 62e4d357a
> (ARM: 7609/1: disable errata work-arounds which access
> secure registers), which removes the errata from multiplatform kernel.
>
> Since imx has been converted to multiplatform in the kernel, we need to apply
> such workaround into the bootloader.
>
> Workaround code has been taken from arch/arm/mm/proc-v7.S from 3.7.1 kernel.
>
> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
> ---
> Following patch has been proposed into arm kernel mailing list:
> http://www.spinics.net/lists/arm-kernel/msg214840.html
>
> Changes since v1:
> - Use the same style of the erratum in arch/arm/cpu/armv7/mx5/lowlevel_init.S.
>
> arch/arm/cpu/armv7/mx6/lowlevel_init.S | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/arch/arm/cpu/armv7/mx6/lowlevel_init.S b/arch/arm/cpu/armv7/mx6/lowlevel_init.S
> index acadef2..ae8141d 100644
> --- a/arch/arm/cpu/armv7/mx6/lowlevel_init.S
> +++ b/arch/arm/cpu/armv7/mx6/lowlevel_init.S
> @@ -20,6 +20,16 @@
>
> #include <linux/linkage.h>
>
> +.macro init_arm_errata
> + mrc 15, 0, r1, c1, c0, 1 /* read diagnostic register */
i.MX 6Quad_6Dual Errata (Rev 0) TO1.2.pdf says this should be
mrc 15, 0, r1, c15, c0, 1
Since it also says "undocumented Diagnostic Control register"
and "c1, c0, 1" is "Auxiliary Control Register" I think c15 is right.
Besides, you had C15 in rev 1.
> + /* ARM erratum ID #743622 */
> + orr r1, r1, #(1 << 6) /* set bit #6 */
> + /* ARM erratum ID #751472 */
> + orr r1, r1, #(1 << 11) /* set bit #11 */
> + mcr 15, 0, r1, c1, c0, 1 /* write diagnostic register */
mcr 15, 0, r1, c15, c0, 1
> +.endm
> +
> ENTRY(lowlevel_init)
> + init_arm_errata
> mov pc, lr
> ENDPROC(lowlevel_init)
prev parent reply other threads:[~2013-01-05 1:27 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-05 0:54 [U-Boot] [PATCH v2] mx6: Add workaround for ARM errata Fabio Estevam
2013-01-05 1:27 ` Troy Kisky [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50E7816D.2060003@boundarydevices.com \
--to=troy.kisky@boundarydevices.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox