[OpenBIOS] r546 - dev/olpc/cafenand
svn at openbios.org
svn at openbios.org
Wed Aug 15 05:30:45 CEST 2007
Author: wmb
Date: 2007-08-15 05:30:45 +0200 (Wed, 15 Aug 2007)
New Revision: 546
Modified:
dev/olpc/cafenand/cafenand.fth
Log:
OLPC CaFe NAND driver - added commented-out code for random-read and
random-write NAND commands, which might eventually be useful for diagnostics.
Modified: dev/olpc/cafenand/cafenand.fth
===================================================================
--- dev/olpc/cafenand/cafenand.fth 2007-08-15 03:28:22 UTC (rev 545)
+++ dev/olpc/cafenand/cafenand.fth 2007-08-15 03:30:45 UTC (rev 546)
@@ -96,6 +96,10 @@
h# 20.0070 1 0 >cmd constant read-status-cmd
h# 0420.0000 0 5 >cmd constant read-cmd
h# 0220.0080 0 6 >cmd constant write-cmd \ The 6 adds a dummy address cycle to meet tADR for Hynix
+[ifdef] notdef
+h# 0400.0005 0 2 >cmd constant random-read-cmd
+h# 0200.0085 0 2 >cmd constant random-write-cmd
+[then]
: wait-mask ( bitmask -- )
begin dup h# 10 cl@ and until ( bitmask )
@@ -223,6 +227,26 @@
dma-buf-va rot /page do-lmove ( error? )
;
+[ifdef] notdef
+: dma-read-buffer ( adr len offset -- )
+ h# 1c cl! ( adr len ) \ Offset in internal chip buffer
+ dup h# 18 cl! ( adr len )
+ dma-buf-pa h# 44 cl! ( adr len )
+ 0 h# 48 cl! ( adr len)
+ dup h# a000.0000 or h# 40 cl! ( adr len )
+ random-read-cmd h# 0800.01e0 cmd wait-dma ( adr len )
+ dma-buf-va -rot do-lmove ( )
+;
+
+: dma-write-buffer ( adr len offset -- )
+ write-enable ( adr len offset )
+ h# 1c cl! ( adr len ) \ Offset in internal chip buffer
+ dup false dma-setup ( )
+ random-write-cmd 0 cmd wait-cmd ( )
+ dma-release ( )
+;
+[then]
+
: dma-write-raw ( adr len page# offset -- )
write-enable ( adr len page# offset )
set-page ( adr len )
More information about the OpenBIOS
mailing list