aboutsummaryrefslogtreecommitdiff
path: root/sim/bfin/dv-bfin_emac.c
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2011-03-24 03:17:14 +0000
committerMike Frysinger <vapier@gentoo.org>2011-03-24 03:17:14 +0000
commit9922f80319007ace0ad526d70019b3b5fee72a8d (patch)
tree7b6d8f6a4ada526ce0ffbfe49df57c50fd82f1b3 /sim/bfin/dv-bfin_emac.c
parent2d2bab5b21dda6842a044364fc6082722c2befc1 (diff)
downloadfsf-binutils-gdb-9922f80319007ace0ad526d70019b3b5fee72a8d.zip
fsf-binutils-gdb-9922f80319007ace0ad526d70019b3b5fee72a8d.tar.gz
fsf-binutils-gdb-9922f80319007ace0ad526d70019b3b5fee72a8d.tar.bz2
sim: bfin: fix inverted W1C logic
When I originally wrote the w1c helper funcs, I used it in a few places. Then I forgot how it worked and when I later documented it, I described the 3rd arg in the exact opposite way it is actually used. This error propagated to a bunch of devices registers that were not explicitly tested (a bunch of the devices are stubs which merely exist to say "no device is connected" to make device drivers happy). So once the documentation is unscrewed, fix all of the broken call sites. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'sim/bfin/dv-bfin_emac.c')
-rw-r--r--sim/bfin/dv-bfin_emac.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sim/bfin/dv-bfin_emac.c b/sim/bfin/dv-bfin_emac.c
index a64198d..af14103 100644
--- a/sim/bfin/dv-bfin_emac.c
+++ b/sim/bfin/dv-bfin_emac.c
@@ -224,7 +224,7 @@ bfin_emac_io_write_buffer (struct hw *me, const void *source,
dv_w1c_4_partial (valuep, value, 0xf20);
break;
case mmr_offset(systat):
- dv_w1c_4 (valuep, value, 0x1e);
+ dv_w1c_4 (valuep, value, 0xe1);
break;
case mmr_offset(staadd):
*valuep = value | STABUSY;
@@ -242,7 +242,7 @@ bfin_emac_io_write_buffer (struct hw *me, const void *source,
case mmr_offset(tx_stky):
case mmr_offset(mmc_rirqs):
case mmr_offset(mmc_tirqs):
- dv_w1c_4 (valuep, value, 0);
+ dv_w1c_4 (valuep, value, -1);
break;
case mmr_offset(mmc_ctl):
/* Writing to bit 0 clears all counters. */