• Daniel Palmer's avatar
    gpio: msc313: MStar MSC313 GPIO driver · 93224edf
    Daniel Palmer authored
    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: default avatarDaniel Palmer <daniel@0x0f.com>
    Link: https://lore.kernel.org/r/20201129110803.2461700-4-daniel@0x0f.comSigned-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    93224edf
gpio-msc313.c 11.5 KB