In order to support device tree probing of IXP4xx NOR flash chips, a certain big-endian or mixed-endian memory access pattern need to be used. I have opted to use the pattern set by previous plug-ins to physmap for Gemini and Versatile, just override some functions and reuse most of the physmap core code as it is to minimize maintenance. Parts of drivers/mtd/ixp4xx.c are copied into this file. After we have IXP4xx converted fully to device tree, the drivers/mtd/ixp4xx.c file will be deleted and this will be the only access pattern to the IXP4xx flash. I did not keep the quirk in the flash write function after probe, where the old code for a while checks for access to odd addresses, fails and assigns a "faster" write function once it has convinced probe to only use 2-byte accesses. As we mandate that this device should be using bank-width = <2> this should not be a problem unless misconfigured. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> |
||
|---|---|---|
| .. | ||
| amd76xrom.c | ||
| cfi_flagadm.c | ||
| ck804xrom.c | ||
| dc21285.c | ||
| esb2rom.c | ||
| ichxrom.c | ||
| impa7.c | ||
| intel_vr_nor.c | ||
| ixp4xx.c | ||
| Kconfig | ||
| l440gx.c | ||
| lantiq-flash.c | ||
| Makefile | ||
| map_funcs.c | ||
| netsc520.c | ||
| nettel.c | ||
| pci.c | ||
| pcmciamtd.c | ||
| physmap-core.c | ||
| physmap-gemini.c | ||
| physmap-gemini.h | ||
| physmap-ixp4xx.c | ||
| physmap-ixp4xx.h | ||
| physmap-versatile.c | ||
| physmap-versatile.h | ||
| pismo.c | ||
| plat-ram.c | ||
| pmcmsp-flash.c | ||
| pxa2xx-flash.c | ||
| rbtx4939-flash.c | ||
| sa1100-flash.c | ||
| sbc_gxx.c | ||
| sc520cdp.c | ||
| scb2_flash.c | ||
| scx200_docflash.c | ||
| solutionengine.c | ||
| sun_uflash.c | ||
| ts5500_flash.c | ||
| tsunami_flash.c | ||
| uclinux.c | ||
| vmu-flash.c | ||