Skip to contentSkip to conversation

Boards only supporting 16bit ram writes

DISCUSSION Martin Fuzzey 1 participant 1 message Sep 12, 2013 Memory technology devices (MTD)

lore
Share & tools
lore
#0 lore raw

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