• Gregory Fong's avatar
    gpio: Add GPIO support for Broadcom STB SoCs · 3b0213d5
    Gregory Fong authored
    This adds support for the GPIO IP "UPG GIO" used on
    Broadcom STB SoCs (BCM7XXX and some others). Uses
    basic_mmio_gpio to instantiate a gpio_chip for each bank.
    The driver assumes that it handles the base set of GPIOs
    on the system and that it can start its numbering sequence
    from 0, so any GPIO expanders used with it must dynamically
    assign GPIO numbers after this driver has finished
    registering its GPIOs.
    
    Does not implement the interrupt-controller portion yet,
    will be done in a future commit.
    
    v2:
    - change include to use <linux/gpio/driver.h> instead of
      <linux/gpio.h>
    - get rid of unnecessary imask member in struct bank
    - rename GPIO_PER_BANK -> MAX_GPIO_PER_BANK
    - always have 32 GPIOs per bank and add 'width' member in
      struct bank to hold actual number of GPIOs in use
    - mark of_match table as const
    List-usage-fixed-by: default avatarBrian Norris <computersforpeace@gmail.com>
    Signed-off-by: default avatarGregory Fong <gregory.0xf0@gmail.com>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    3b0213d5
Kconfig 28 KB