85xx io out functions need sync after write.
PATCH 1/1 85xx io out functions need sync after write.
This fixes the mc146818 rtc_read/write functions for 85xx.
---
cpu/mpc85xx/start.S | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
cpu/mpc85xx/start.S +5 -0
@@ -701,6 +701,7 @@ in8: .globl out8 out8: stb r4,0x0000(r3) + sync blr /*------------------------------------------------------------------------------- */
@@ -710,6 +711,7 @@ out8: .globl out16 out16: sth r4,0x0000(r3) + sync blr /*------------------------------------------------------------------------------- */
@@ -719,6 +721,7 @@ out16: .globl out16r out16r: sthbrx r4,r0,r3 + sync blr /*------------------------------------------------------------------------------- */
@@ -728,6 +731,7 @@ out16r: .globl out32 out32: stw r4,0x0000(r3) + sync blr /*------------------------------------------------------------------------------- */
@@ -737,6 +741,7 @@ out32: .globl out32r out32r: stwbrx r4,r0,r3 + sync blr /*------------------------------------------------------------------------------- */
Signature · 1 line
1.5.3.1.65.g47184
Andy Fleming
AppliedPATCH 1/1 85xx io out functions need sync after write.
Quoted 3 lines · Ed Swarthout
This fixes the mc146818 rtc_read/write functions for 85xx.
Signed-off-by Ed Swarthout <[email protected]>
applied, thanks
Andy
PATCH 1/1 85xx io out functions need sync after write.
In reply to Ed SwarthoutQuoted 13 lines · Ed Swarthout
This fixes the mc146818 rtc_read/write functions for 85xx.
Signed-off-by Ed Swarthout <[email protected]>---
cpu/mpc85xx/start.S | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)cpu/mpc85xx/start.S +0
-0
cpu/mpc85xx/start.S in8: · line 704
Quoted 4 lines
cpu/mpc85xx/start.S +1
-0@@ -701,6 +701,7 @@ in8: .globl out8 out8: stb r4,0x0000(r3) + sync
Another way would be to use the out_be32() and friends functions defined in asm-ppc/io.h. They already have the sync/barrier included and are recommened for accessing peripheral devices.
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================
PATCH 1/1 85xx io out functions need sync after write.
From: Stefan Roese
Quoted 12 lines · Ed Swarthout
cpu/mpc85xx/start.S in8: · line 704
Quoted 6 lines
This fixes the mc146818 rtc_read/write functions for 85xx.
---
a/cpu/mpc85xx/start.S
out8:cpu/mpc85xx/start.S +1
-0stb r4,0x0000(r3) + syncAnother way would be to use the
out_be32()and friends functions defined inasm-ppc/io.h. They already have the sync/barrier included and are recommened for accessing peripheral devices.
Agreed, but grep finds 132 calls to out[813] in driver and rtc files.
I only noticed the missing sync's when debugging a failing "date" command that uses rtc/mc145818.
-Ed
PATCH 1/1 85xx io out functions need sync after write.
Quoted 6 lines · In message <B52955765C54604CB1A62A9967F22C73026F7696@az33exm20.fsl.freescale.ne…
Quoted 4 lines
Another way would be to use the
out_be32()and friends functions defined inasm-ppc/io.h. They already have the sync/barrier included and are recommened for accessing peripheral devices.Agreed, but grep finds 132 calls to out[813] in driver and rtc files.
As Stefan already pointed out on #u-boot, this is just an indication that this is a pretty common error.
Best regards,
Wolfgang Denk
Signature · 4 lines
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: wd at denx.de All easy problems have already been solved.