• Carlo Caione's avatar
    pinctrl: amlogic: Make driver independent from two-domain configuration · 9dab1868
    Carlo Caione authored
    In the Amlogic Meson8 / Meson8b platforms we have two different buses:
    cbus and aobus, corresponding to 2 different power domains (regular and
    always-on). On each bus a different set of registers is mapped to manage
    muxes, GPIOs and in general to control a clear subset of the pins.
    
    Considering this architecture, having two different pinctrl devices, one
    for each bus / power domain, makes much more sense than just having one
    single device.
    
    Right now we have one single pin controller driver that uses two
    different domains (represented by 'gpio' and 'gpio-ao' sub-nodes in the
    DTS) to manage the set of registers on the two buses. This dual-domain
    configuration is hardcoded into the driver that strictly requires one
    domain for each bus in the same pin controller device.
    
    With this patch we refactor the driver to allow splitting the driver in
    two parts. This change is needed to have a proper description of the HW
    in the device-tree where we want to introduce aobus and cbus.
    Signed-off-by: default avatarCarlo Caione <carlo@endlessm.com>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    9dab1868
pinctrl-meson8.c 30.5 KB