aboutsummaryrefslogtreecommitdiff
path: root/sim/bfin
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2021-05-28 23:29:40 -0400
committerMike Frysinger <vapier@gentoo.org>2021-05-28 23:31:24 -0400
commitf006d9e205f729aad48c0876eb8cd8feb70a6972 (patch)
treec8d8e010925e7784a26641e61e63d56189eff719 /sim/bfin
parent49149d595cfdfa32611b2abba564b9b5d7542c91 (diff)
downloadfsf-binutils-gdb-f006d9e205f729aad48c0876eb8cd8feb70a6972.zip
fsf-binutils-gdb-f006d9e205f729aad48c0876eb8cd8feb70a6972.tar.gz
fsf-binutils-gdb-f006d9e205f729aad48c0876eb8cd8feb70a6972.tar.bz2
sim: bfin: fix the otp fix fix
Need to shift the upper 32-bits and not just combine directly with the lower 32-bits.
Diffstat (limited to 'sim/bfin')
-rw-r--r--sim/bfin/ChangeLog4
-rw-r--r--sim/bfin/dv-bfin_otp.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/sim/bfin/ChangeLog b/sim/bfin/ChangeLog
index 29dfde8..e5b6449 100644
--- a/sim/bfin/ChangeLog
+++ b/sim/bfin/ChangeLog
@@ -1,3 +1,7 @@
+2021-05-28 Mike Frysinger <vapier@gentoo.org>
+
+ * dv-bfin_otp.c (bfin_otp_write_page): Shift data1 & data3 by 32-bits.
+
2021-05-23 Mike Frysinger <vapier@gentoo.org>
* dv-bfin_otp.c (bfin_otp_write_page): Fix args to
diff --git a/sim/bfin/dv-bfin_otp.c b/sim/bfin/dv-bfin_otp.c
index cdc010a..a9f768d 100644
--- a/sim/bfin/dv-bfin_otp.c
+++ b/sim/bfin/dv-bfin_otp.c
@@ -91,8 +91,8 @@ bfin_otp_write_page_val2 (struct bfin_otp *otp, bu16 page, bu64 lo, bu64 hi)
static void
bfin_otp_write_page (struct bfin_otp *otp, bu16 page)
{
- bfin_otp_write_page_val2 (otp, page, (bu64)otp->data1 | otp->data0,
- (bu64)otp->data3 | otp->data2);
+ bfin_otp_write_page_val2 (otp, page, ((bu64)otp->data1 << 32) | otp->data0,
+ ((bu64)otp->data3 << 32) | otp->data2);
}
static unsigned