Re: [U-Boot] [PATCH v2] avr32: disable branch folding

2010-06-29 Thread Wolfgang Denk
Dear =?UTF-8?q?Andreas=20Bie=C3=9Fmann?=,

In message 1276085625-7785-1-git-send-email-biessm...@corscience.de you wrote:
 
 Due to a hardware bug mentioned in latest AP7000 datasheet errata
 (revision M from 09.09) branch folding is unreliable.
 This patch disables CPUCR.FE bitfield as stated in datasheet.
 
 Signed-off-by: Andreas Bießmann biessm...@corscience.de
 ---
 
  Changes since v1:
   - fix comment
 
  arch/avr32/cpu/start.S |7 ---
  1 files changed, 4 insertions(+), 3 deletions(-)

Applied to next branch. Thanks.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
Humanity has the  stars  in  its  future,  and  that  future  is  too
important  to be lost under the burden of juvenile folly and ignorant
superstition.  - Isaac Asimov
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v2] avr32: disable branch folding

2010-06-09 Thread Andreas Bießmann
Due to a hardware bug mentioned in latest AP7000 datasheet errata
(revision M from 09.09) branch folding is unreliable.
This patch disables CPUCR.FE bitfield as stated in datasheet.

Signed-off-by: Andreas Bießmann biessm...@corscience.de
---

 Changes since v1:
  - fix comment

 arch/avr32/cpu/start.S |7 ---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/avr32/cpu/start.S b/arch/avr32/cpu/start.S
index d37a46e..99c9e06 100644
--- a/arch/avr32/cpu/start.S
+++ b/arch/avr32/cpu/start.S
@@ -27,9 +27,10 @@
 #define SYSREG_MMUCR_S_OFFSET  4
 
 #define SR_INIT (SYSREG_BIT(GM) | SYSREG_BIT(EM) | SYSREG_BIT(M0))
-#define CPUCR_INIT (SYSREG_BIT(BI) | SYSREG_BIT(BE)\
-   | SYSREG_BIT(FE) | SYSREG_BIT(RE)   \
-   | SYSREG_BIT(IBE) | SYSREG_BIT(IEE))
+/* due to errata (unreliable branch folding) clear FE bit explicitly */
+#define CPUCR_INIT ((SYSREG_BIT(BI) | SYSREG_BIT(BE)   \
+   | SYSREG_BIT(RE)   |  SYSREG_BIT(IBE)   \
+   | SYSREG_BIT(IEE))  ~SYSREG_BIT(FE))
 
/*
 * To save some space, we use the same entry point for
-- 
1.7.1

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot