public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* RPX Classic/Lite and byte ordering
@ 2001-03-30 17:43 Tim Bowman
  2001-03-30 19:32 ` AW: " Florian Schirmer / TayTron
  0 siblings, 1 reply; 6+ messages in thread
From: Tim Bowman @ 2001-03-30 17:43 UTC (permalink / raw)
  To: mtd mailing list

I am having trouble with an Embeddded Planet RPX board.  The mtd layer
seems to be reversing the data by double words.  If I write (then cat)
some text, every double word is reversed.  I can use a cramfs file
system, but I have to reverse the dwords myself before writing it to
flash, then everything works fine.  JFFS and other file systems
obviously don't work, since the data is written by mtd in the wrong
order.  I am doing everything on big-endian machines (PowerPC).

If someone can point me to the right code I would be glad to work on
this.

-TDB


To unsubscribe, send "unsubscribe mtd" to majordomo@infradead.org

^ permalink raw reply	[flat|nested] 6+ messages in thread
* RPX Classic/Lite and byte ordering
@ 2001-04-02 20:40 Tim Bowman
  0 siblings, 0 replies; 6+ messages in thread
From: Tim Bowman @ 2001-04-02 20:40 UTC (permalink / raw)
  To: mtd mailing list

Original message:

> I am having trouble with an Embeddded Planet RPX board.  The mtd layer
> seems to be reversing the data by double words.  If I write (then cat)
> some text, every double word is reversed.  I can use a cramfs file
> system, but I have to reverse the dwords myself before writing it to
> flash, then everything works fine.  JFFS and other file systems
> obviously don't work, since the data is written by mtd in the wrong
> order.  I am doing everything on big-endian machines (PowerPC).

I have tried all of the query ordering options in the kernel config, and
even tried changing just the read, and then just the write in
cfi-endian.h to order words and double words, to no avail.  I have the
latest code for both the bk kernel and the cvs mtd.

Eric B. suggested:
"You might want to take a look at .../include/mtd/cfi_endian.h and
be sure you are using __raw_writeb and friends. "

The rpxlite layer seems to be using memcpy_fromio, writeb, writew, etc,
not __raw_writeb.  Should these be replaced with the raw versions?

Finally, could this have something to do with flash interleave?  I am
relatively new at this low-level stuff, but if the interleave is 4 for
the RPX, then I could see how every 4 bytes might be reversed.  The
specific board I am using is a CLCC_E with 8M flash.

Thanks


To unsubscribe, send "unsubscribe mtd" to majordomo@infradead.org

^ permalink raw reply	[flat|nested] 6+ messages in thread
* RPX Classic/Lite and byte ordering
@ 2001-04-02 20:52 Tim Bowman
  2001-04-03  1:16 ` Brendan J Simon
  0 siblings, 1 reply; 6+ messages in thread
From: Tim Bowman @ 2001-04-02 20:52 UTC (permalink / raw)
  To: mtd mailing list

One more possibilty: 

Would cross-compiling the kernel on an x86 produce different ordering
than compiling natively on a PowerPC (which is how I am building it)? 
Maybe I need to build it on an x86?


Original message:

> I am having trouble with an Embeddded Planet RPX board.  The mtd layer
> seems to be reversing the data by double words.  If I write (then cat)
> some text, every double word is reversed.  I can use a cramfs file
> system, but I have to reverse the dwords myself before writing it to
> flash, then everything works fine.  JFFS and other file systems
> obviously don't work, since the data is written by mtd in the wrong
> order.  I am doing everything on big-endian machines (PowerPC).

I have tried all of the query ordering options in the kernel config, and
even tried changing just the read, and then just the write in
cfi-endian.h to order words and double words, to no avail.  I have the
latest code for both the bk kernel and the cvs mtd.

Eric B. suggested:
"You might want to take a look at .../include/mtd/cfi_endian.h and
be sure you are using __raw_writeb and friends. "

The rpxlite layer seems to be using memcpy_fromio, writeb, writew, etc,
not __raw_writeb.  Should these be replaced with the raw versions?

Finally, could this have something to do with flash interleave?  I am
relatively new at this low-level stuff, but if the interleave is 4 for
the RPX, then I could see how every 4 bytes might be reversed.  The
specific board I am using is a CLCC_E with 8M flash.

Thanks


To unsubscribe, send "unsubscribe mtd" to majordomo@infradead.org

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2001-04-03  0:43 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-03-30 17:43 RPX Classic/Lite and byte ordering Tim Bowman
2001-03-30 19:32 ` AW: " Florian Schirmer / TayTron
  -- strict thread matches above, loose matches on Subject: below --
2001-04-02 20:40 Tim Bowman
2001-04-02 20:52 Tim Bowman
2001-04-03  1:16 ` Brendan J Simon
2001-04-03  0:42   ` mferrell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox