Boards only supporting 16bit ram writes

Martin Fuzzey mfuzzey at parkeon.com
Thu Sep 12 10:24:25 EDT 2013


Hello,

I have a board with a FRAM device which I am trying to get to work with 
mtd-ram, on a DT based system (i.MX53) using physmap-of.

The chip is connected to a 16 bit data bus, however the signals that are 
supposed to indicate which of the upper and lower bytes
are not connected to the processor but forced so as to use both bytes.

This means that all write operations must be done 16bits at a time (read 
operations are fine since the processor handles that).

Looking at the mtd code it seems possible to support this using specific 
mapping functions.
However it's likely to be a little complicated / ugly, especially for 
partial unaligned writes which will have to do a read, mask, write.

So my questions:
* Is there currently any way of doing this?
* Would a patch implementing it be acceptable for mainline or would it 
be a case of "go fix your hardware"?

Also while looking at this I noticed that 
Documentation/devicetree/bindings/mtd/mtd-physmap.txt refers to a property
"device-width" which is used in a number of files in 
arch/powerpc/boot/dts but I can't find any code that actually implements it.

Regards,

Martin



More information about the linux-mtd mailing list