• Linus Walleij's avatar
    gpio: ixp4xx: Add driver for the IXP4xx GPIO · 813e7d36
    Linus Walleij authored
    This adds a driver for the IXP4xx GPIO block found in
    the Intel XScale IXP4xx systems.
    
    The GPIO part of this block is pretty straight-forward and
    just uses the generic MMIO GPIO library.
    
    The irqchip side of this driver is hierarchical where
    the main irqchip will receive a processed level trigger
    in response to the edge detector of the GPIO block,
    so for this reason the v2 version of the irqdomain API
    is used (as well as in the parent IXP4xx irqchip) and
    masking, unmasking and setting up the type on IRQ
    happens on several levels.
    
    Currently this GPIO controller will grab the parent
    irqdomain using a special function, but as the platform
    move toward device tree probing, this will not be needed:
    we can just look up the parent irqdomain from the device
    tree.
    
    Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    813e7d36
gpio-ixp4xx.c 12 KB