summaryrefslogtreecommitdiff
path: root/drivers/gpio/gpio-aspeed.c
AgeCommit message (Collapse)AuthorFilesLines
2017-02-06gpio: aspeed: Remove dependence on GPIOF_* macrosAndrew Jeffery1-3/+2
commit 1736f75d35e4 ("gpio: aspeed: Add banks Y, Z, AA, AB and AC") is a (v2) patch which had unresolved review comments[1]. Address the comments by removing the use of macros from the consumer header (this patch represents the diff between v2 and v3[2]). [1] https://lkml.org/lkml/2017/1/26/337 [2] https://lkml.org/lkml/2017/1/26/786 Applied with a commit message tweak from: https://patchwork.kernel.org/patch/9550977/ Fixes: 1736f75d35e4 ("gpio: aspeed: Add banks Y, Z, AA, AB and AC") Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Joel Stanley <joel@jms.id.au>
2017-02-06gpio: aspeed: Add banks Y, Z, AA, AB and ACAndrew Jeffery1-14/+135
This is less straight-forward than one would hope, as some banks only have 4 pins rather than 8, others are output only, yet more (W and X, already supported) are input-only, and in the case of the g4 SoC bank AC doesn't exist. Add some structs to describe the varying properties of different banks and integrate mechanisms to deny requests for unsupported configurations. Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> (cherry picked from commit 1736f75d35e47409ad776273133d0f558a4c8253) [AJ: Drop irq valid code as it's not present in 4.7] Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Joel Stanley <joel@jms.id.au>
2017-02-06gpio: aspeed: Make bank names stringsJoel Stanley1-7/+7
The Aspeed SoCs have more GPIOs than can be represented with A-Z. The documentation uses two letter names such as AA and AB, so make the names a three-character array in the bank struct to accommodate this. Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> (cherry picked from commit 7153f8ef679d5fcb2d9c69a19613399194600f5b) Signed-off-by: Joel Stanley <joel@jms.id.au>
2017-02-06gpio: aspeed: Reset to mainlineAndrew Jeffery1-75/+62
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Joel Stanley <joel@jms.id.au>
2016-08-09gpio: Add Aspeed driverJoel Stanley1-0/+468
The Aspeed SoCs contain GPIOs grouped by letter, where each letter group contains 8 pins. The GPIO letter groups are then banked in sets of four in the register layout. The implementation exposes multiple banks through the one driver, and requests and releases pins via the pinctrl subsystem. The hardware supports generation of interrupts with per-pin triggers, and exposes this capability through an irqchip and devicetree. A number of supported features are not yet implemented: Configuration of interrupt direction (ARM or LPC), debouncing, and provides WDT reset tolerance for output ports. Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Alistair Popple <alistair@popple.id.au> Signed-off-by: Jeremy Kerr <jk@ozlabs.org> Signed-off-by: Andrew Jeffery <andrew@aj.id.au> (cherry picked from commit 9320a7a27b0f78b68890e965c6b530c551506f59) Signed-off-by: Joel Stanley <joel@jms.id.au>