[PATCH] mtd: support for bit-reversed CFI cmd/query

David Woodhouse dwmw2 at infradead.org
Tue Apr 22 15:23:54 EDT 2008


On Tue, 2008-04-22 at 23:08 +0400, Nikita V. Youshchenko wrote:
> > On Wed, 2008-02-27 at 23:48 +0300, Nikita V. Youshchenko wrote:
> > >     mtd: support for bit-reversed CFI cmd/query
> > >
> > >     Some embedded boards have flash chips connected with reversed bit
> > > order. Example for 16-bit width:
> > >      chip D0 is bus D15
> > >      chip D1 is bus D14
> > >      ...
> > >      chip D15 is bus D0
> > >     It works perfectly for data access, however probing and issuing
> > > CFI commands for such chips require bit reversing. This patch adds
> > > support for this.
> > >
> > >     Signed-off-by: Nikita Youshchenko <yoush at cs.msu.su>
> >
> > Am I missing something, or did you only reverse the bits on 16-bit and
> > 64-bit access, and not 8-bit or 32-bit?
> 
> Hmm... Looks so :(.
> The board I work with has 16-bit flash, so I could not test others.
> 
> Btw, the vendor of the board confirmed that such a strange flash chip 
> connection is 'an old hardware bug', however they decided to keep it in 
> current and future revisions of the board 'for backward compatibility'.
> 
> Is it a good idea to support such strange cases in the official kernel?
> If yes, I may send an updated patch.

I don't think it's particularly problematic. I _think_ that hacking it
into the endianness support is going to work, and isn't going to screw
up data access (which we really _don't_ want to byteswap/mangle since we
want the CPU to be able to execute from it).

Perhaps we should even go back to supporting the LART this way?

-- 
dwmw2




More information about the linux-mtd mailing list