linux/drivers/pinctrl/meson
Qianggui Song fd42296407 pinctrl: meson: add a new callback for SoCs fixup
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: Qianggui Song <qianggui.song@amlogic.com>
Link: https://lore.kernel.org/r/1573819429-6937-2-git-send-email-qianggui.song@amlogic.com
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2019-11-19 15:53:58 +01:00
..
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
pinctrl-meson8-pmx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 446 2019-06-05 17:37:18 +02:00
pinctrl-meson8-pmx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 446 2019-06-05 17:37:18 +02:00
pinctrl-meson8.c pinctrl: meson: add a new callback for SoCs fixup 2019-11-19 15:53:58 +01:00
pinctrl-meson8b.c pinctrl: meson: add a new callback for SoCs fixup 2019-11-19 15:53:58 +01:00
pinctrl-meson-axg-pmx.c pinctrl: meson-axg: Introduce a pinctrl pinmux ops for Meson-AXG SoC 2017-11-30 14:28:16 +01:00
pinctrl-meson-axg-pmx.h pinctrl: meson-axg: Introduce a pinctrl pinmux ops for Meson-AXG SoC 2017-11-30 14:28:16 +01:00
pinctrl-meson-axg.c pinctrl: meson: add a new callback for SoCs fixup 2019-11-19 15:53:58 +01:00
pinctrl-meson-g12a.c pinctrl: meson: add a new callback for SoCs fixup 2019-11-19 15:53:58 +01:00
pinctrl-meson-gxbb.c pinctrl: meson: add a new callback for SoCs fixup 2019-11-19 15:53:58 +01:00
pinctrl-meson-gxl.c pinctrl: meson: add a new callback for SoCs fixup 2019-11-19 15:53:58 +01:00
pinctrl-meson.c pinctrl: meson: add a new callback for SoCs fixup 2019-11-19 15:53:58 +01:00
pinctrl-meson.h pinctrl: meson: add a new callback for SoCs fixup 2019-11-19 15:53:58 +01:00