• Linus Walleij's avatar
    mtd: physmap_of: add a hook for Versatile write protection · b0afd44b
    Linus Walleij authored
    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: default avatarLinus Walleij <linus.walleij@linaro.org>
    b0afd44b
physmap_of.c 9.53 KB