
MediaTek SoC's pinconf register usage varies by SoC, So the original code uses V0/V1 to mark different pinconf design. But actually, the real difference is the design of the "pin" itself.
Different SoCs will choose specify "pin design", which we call the "io_type" of the pin.
For a better understanding of mediatek pinctrl design. and make the driver clear and flexible, this patch series changes common parts of mediatek pinctrl driver to support various pinctrl controller designs.
The following mediatek config were tested to ensure the build passed: - mt7622_rfb_defconfig - mt7623a_unielec_u7623_02_defconfig - mt7623n_bpir2_defconfig - mt7629_rfb_defconfig - mt8183_pumpkin_defconfig - mt8512_bm1_emmc_defconfig - mt8516_pumpkin_defconfig - mt8518_ap1_emmc_defconfig
--- v4: fix mt8518_ap1_emmc build fail v3: fix v2 patch series misapplied v2: fix build fail caused by patch [2/3]
Sam Shih (3): pinctrl: mediatek: rewrite mtk_pinconf_set and related functions pinctrl: mediatek: introduce multiple memory bases support pinctrl: mediatek: add support for different types of IO pins
drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 221 ++++++++++++++---- drivers/pinctrl/mediatek/pinctrl-mtk-common.h | 78 ++++++- 2 files changed, 248 insertions(+), 51 deletions(-)