Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 11304
b: refs/heads/master
c: 931db7d
h: refs/heads/master
v: v3
  • Loading branch information
Lennert Buytenhek authored and Russell King committed Oct 29, 2005
1 parent f041cfb commit b592759
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 30 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 13bfb34c10fae6016710f5f070043c8b94b40583
refs/heads/master: 931db7d6880027bb2b6b0cb78a488ab1486e28b7
29 changes: 0 additions & 29 deletions trunk/include/asm-arm/arch-ixp2000/platform.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,39 +15,10 @@

#ifndef __ASSEMBLY__

/*
* The IXP2400 B0 silicon contains an erratum (#66) that causes writes
* to on-chip I/O register to not complete fully. What this means is
* that if you have a write to on-chip I/O followed by a back-to-back
* read or write, the first write will happen twice. OR...if it's
* not a back-to-back transaction, the read or write will generate
* incorrect data.
*
* The official work around for this is to set the on-chip I/O regions
* as XCB=101 and then force a read-back from the register.
*
*/
#if defined(CONFIG_ARCH_ENP2611) || defined(CONFIG_ARCH_IXDP2400) || defined(CONFIG_ARCH_IXDP2401)

#include <asm/system.h> /* Pickup local_irq_ functions */

static inline void ixp2000_reg_write(volatile void *reg, unsigned long val)
{
unsigned long dummy;
unsigned long flags;

local_irq_save(flags);
*((volatile unsigned long *)reg) = val;
barrier();
dummy = *((volatile unsigned long *)reg);
local_irq_restore(flags);
}
#else
static inline void ixp2000_reg_write(volatile void *reg, unsigned long val)
{
*((volatile unsigned long *)reg) = val;
}
#endif /* IXDP2400 || IXDP2401 */
#define ixp2000_reg_read(reg) (*((volatile unsigned long *)reg))

/*
Expand Down

0 comments on commit b592759

Please sign in to comment.