]> git.karo-electronics.de Git - linux-beck.git/commit
mtd: physmap_of: add a hook for Versatile write protection
authorLinus Walleij <linus.walleij@linaro.org>
Tue, 26 Jan 2016 10:58:07 +0000 (11:58 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 4 Apr 2016 08:33:16 +0000 (10:33 +0200)
commitb0afd44bc192ff4c0e90a5fc1724350bcfc32b33
tree1d0d2bdc42defee1c7f4345a6e3dca319d1e43ac
parent9735a22799b9214d17d3c231fe377fc852f042e9
mtd: physmap_of: add a hook for Versatile write protection

In order to support device tree probing of Versatile NOR flash
chips, there must be a way to add the VPP (write protection)
enable/disable callback. The register in question is in the
system controllers of these machines. Apart from this quirk,
the ARM flash chips are standard CFI flash chips from various
vendors.

Additionally, the Integrator/AP require you to set up the external
bus interface (EBI) to allow writes to the chip select where the
flash memory is connected.

Solve this by looking for the arm,versatile-flash compatible
string in the flash device tree node. In the driver,
add a special hook to check for the various Versatile syscons and
register a callback for .set_vpp() if this compatible is present.

Provide a special Kconfig entry for the addon hook so it will
not be compiled in if the Versatile boards are not supported.
Stubs in the header file make sure the impact will be zero on
other platforms. (Compilers optimze this out.)

With this patch, a large slew of ARM board file code can be
removed.

Cc: Grant Likely <grant.likely@linaro.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/mtd/maps/Kconfig
drivers/mtd/maps/Makefile
drivers/mtd/maps/physmap_of.c
drivers/mtd/maps/physmap_of_versatile.c [new file with mode: 0644]
drivers/mtd/maps/physmap_of_versatile.h [new file with mode: 0644]