• Qianggui Song's avatar
    pinctrl: meson: add a new callback for SoCs fixup · fd422964
    Qianggui Song authored
    In meson_pinctrl_parse_dt, it contains two parts: reg parsing and
    SoC relative fixup for AO. Several fixups in the same code make it hard
    to maintain, so move all fixups to each SoC's callback and make
    meson_pinctrl_parse_dt just do the reg parsing, separate these two
    parts.Overview of all current Meson SoCs fixup is as below:
    
    +------+--------------------------------------+--------------------------+
    |      |                                      |                          |
    | SoC  |                EE domain             |        AO domain         |
    +------+--------------------------------------+--------------------------+
    |m8    | parse regs:                          | parse regs:              |
    |m8b   |   gpio,mux,pull,pull-enable(skip ds) |    gpio,mux,pull(skip ds)|
    |gxl   | fixup:                               | fixup:                   |
    |gxbb  |   no                                 |     pull-enable = pull;  |
    |axg   |                                      |                          |
    +------+--------------------------------------+--------------------------+
    |g12a  | parse regs:                          | parse regs:              |
    |sm1   |   gpio,mux,pull,pull-enable,ds       |   gpio,mux,ds            |
    |      | fixup:                               | fixup:                   |
    |      |   no                                 |   pull = gpio;           |
    |      |                                      |   pull-enable = gpio;    |
    +------+--------------------------------------+--------------------------+
    |a1 or | parse regs:                                                     |
    |later |  gpio/mux (without ao domain)                                   |
    |SoCs  | fixup:                                                          |
    |      |  pull = gpio; pull-enable = gpio; ds = gpio;                    |
    +------+-----------------------------------------------------------------+
    Since m8-axg share the same ao fixup, make a common function
    meson8_aobus_parse_dt_extra to do the job.
    Signed-off-by: default avatarQianggui Song <qianggui.song@amlogic.com>
    Link: https://lore.kernel.org/r/1573819429-6937-2-git-send-email-qianggui.song@amlogic.comReviewed-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    fd422964
pinctrl-meson-gxbb.c 24.1 KB