gpio: msc313: MStar MSC313 GPIO driver
authorDaniel Palmer <daniel@0x0f.com>
Sun, 29 Nov 2020 11:08:00 +0000 (20:08 +0900)
committerLinus Walleij <linus.walleij@linaro.org>
Sat, 5 Dec 2020 21:41:22 +0000 (22:41 +0100)
commit93224edf0b9fd7f643e7ead5b683bdac87f20aa2
tree0b4715a08b763211f5e8b563f772eee7ca80e08c
parent493c7e03f837b46c64ebf941d0084e3e25909b7e
gpio: msc313: MStar MSC313 GPIO driver

This adds a driver that supports the GPIO block found in
MStar/SigmaStar ARMv7 SoCs.

The controller seems to have enough register for 128 lines
but where they are wired up differs between chips and
no currently known chip uses anywhere near 128 lines so there
needs to be some per-chip data to collect together what lines
actually have physical pins attached and map the right names to them.

The core peripherals seem to use the same lines on the
currently known chips but the lines used for the sensor
interface, lcd controller etc pins seem to be totally
different between the infinity and mercury chips

The code tries to collect all of the re-usable names,
offsets etc together so that it's easy to build the extra
per-chip data for other chips in the future.

So far this only supports the MSC313 and MSC313E chips.

Support for the SSC8336N (mercury5) is trivial to add once
all of the lines have been mapped out.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Link: https://lore.kernel.org/r/20201129110803.2461700-4-daniel@0x0f.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
MAINTAINERS
drivers/gpio/Kconfig
drivers/gpio/Makefile
drivers/gpio/gpio-msc313.c [new file with mode: 0644]