<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.18.1">
</HEAD>
<BODY>
Il giorno mer, 16/04/2008 alle 22.23 +0300, Vlad Lungu ha scritto:
<BLOCKQUOTE TYPE=CITE>
<PRE>
Luigi 'Comio' Mantellini wrote:
[snip]
&gt; I have 2 identical flash chip from spansion. 
&gt;   
Can you tell me the part number so I can do a quick check on it?
</PRE>
</BLOCKQUOTE>
<BR>
I'll send you the exact part number tomorrow.<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE>
&gt; Anyway, from my modest point of view, the u-boot flash memory model is
&gt; too rigid. I would like a &quot;linux&quot; model like this:
&gt;                          -----------
&gt;                          |         |-&gt; [ MTD Driver ] -&gt; Flash 1 (Nor)
&gt; ---&gt; flash operation --&gt; | MTD Mux |-&gt; &#65279;[ MTD Driver ] -&gt; Flash 2 (Nand)
&gt;                          |         |-&gt; &#65279;[ MTD Driver ] -&gt; Flash n (XXX)
&gt;                          -----------
&gt;   
I don't think it works that way in Linux. The devices you're 
concatenating must be basically the same (both nor or nand,
same width, same sector size / OOB area size for NAND, etc ) . That's 
what I understand after a quick read of the docs.

</PRE>
</BLOCKQUOTE>
Yes, you're right. I just proposed a different architecture that is not implemented in U-boot :)<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE>
&gt; MTD Mus is itself a MTD Driver. This infrastructure could be implemented
&gt; using smart descriptor to keep the need callback.
&gt;   

You could easily do that, but you still need to have similar devices. 
Anyway, we're talking about an embedded bootloader here, you put too 
much stuff in it and it gets bigger than the actual application :-)

</PRE>
</BLOCKQUOTE>
<BR>
I don't think that my proposed architecture is more complex than the actual u-boot implementation. Anyway, to implement proposed idea, we need a descriptor that keeps also the needed callbacks (like init, getsize, writebuffer, ...) as well as needed information (address base, bank number, ...). This architecture should permit to integrate and create a single front-end for all mtd devices avoiding to replicate the politics. Every mtd should define just the mechanisms and exports a descriptor.<BR>
<BR>
I think that these considerations are off-topic... but I prefer to share my vision.<BR>
<BR>
Thanks a lot,<BR>
<BR>
luigi<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE>
Vlad

</PRE>
</BLOCKQUOTE>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%">
<TR>
<TD>
<TABLE CELLSPACING="9" CELLPADDING="0">
<TR>
<TD>
<A HREF="http://www.idf-hit.com"><IMG SRC="file:///home/comio/Desktop/IDF/indDialFace_pulito.gif" ALIGN="bottom" BORDER="0"></A>
</TD>
<TD>
<B>Ing. Luigi Mantellini</B><BR>
Industrie Dial Face S.p.A.<BR>
Via Canzo, 4 <BR>
20068 Peschiera Borromeo (MI)<BR>
Tel.: +39 02 5167 2813<BR>
Fax: +39 02 5167 2459<BR>
E-mail: <A HREF="mailto:luigi.mantellini@idf-hit.com">luigi.mantellini@idf-hit.com</A>
</TD>
</TR>
</TABLE>
<BR>
<BR>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>