@@ -54,13 +54,16 @@ enum {
#define _P_GPIO(bank, _pin, _name, sfx, cfg) \
_GP_GPIO(16, bank, _pin, _name, sfx, cfg)
-#define _P_DATA(bank, pin, name, sfx, cfg) \
- PINMUX_DATA(name##_DATA, name##_PMC_0, \
- name##_PIBC_1, name##_PBDC_1)
+#define _P_DATA(bank, pin, n, sfx, cfg) \
+ PINMUX_DATA(n##_DATA, n##_PMC_0, \
+ n##_PIPC_0, n##_PIBC_1, n##_PBDC_1)
-#define _P_FN(n, fn, pfcae, pfce, pfc) \
+#define _P_FN(n, fn, pfcae, pfce, pfc) \
PINMUX_DATA(n##_MARK_FN##fn, n##_PMC_1, \
- n##_PFCAE_##pfcae, n##_PFCE_##pfce, n##_PFC_##pfc)
+ n##_PFCAE_##pfcae, \
+ n##_PFCE_##pfce, \
+ n##_PFC_##pfc, \
+ n##_PIPC_1, n##_PIBC_0, n##_PBDC_0)
#define _P_MARK_FN1(bank, pin, name, sfx, cfg) _P_FN(name, 1, 0, 0, 0)
#define _P_MARK_FN2(bank, pin, name, sfx, cfg) _P_FN(name, 2, 0, 0, 1)
When selecting an alternate function for one pin, set the PIPCn.PIPCnm bit to 1 to enable direct IO mode control (the alternate function drives the pin direction) and disable input buffer and bidirection control functionalities (PIBCn.PIBCnm = 0 and PBDCn.PDBCnm = 0). Enable input buffer and bidirection control for port mode configuration. Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> --- drivers/pinctrl/sh-pfc/pfc-r7s72100.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-)