pinctrl: renesas: r8a779f0: Fix GPIO function on I2C-capable pins
authorGeert Uytterhoeven <geert+renesas@glider.be>
Fri, 22 Apr 2022 07:29:31 +0000 (09:29 +0200)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Tue, 3 May 2022 07:58:25 +0000 (09:58 +0200)
commit8bdd369dba7ff2f89cfd723ca3a26602aae4e498
treeea584d4fe9dca3e8b1fd76db1abc277d9de06c3f
parent4288caed9a6319b766dc0adf605c7b401180db34
pinctrl: renesas: r8a779f0: Fix GPIO function on I2C-capable pins

Unlike on R-Car Gen3 SoCs, setting a bit to zero in a GPIO / Peripheral
Function Select Register (GPSRn) on R-Car S4-8 is not always sufficient
to configure a pin for GPIO.  For I2C-capable pins, the I2C function
must also be explicitly disabled in the corresponding Module Select
Register (MODSELn).

Add the missing FN_SEL_I2Ci_0 function enums to the pinmux_data[] array
by temporarily overriding the GP_1_j_FN function enum to expand to two
enums: the original GP_1_j_FN enum to configure the GPSR register bits,
and the missing FN_SEL_I2Ci_0 enum to configure the MODSEL register
bits.

Fixes: 030ac6d7eeff81e3 ("pinctrl: renesas: Initial R8A779F0 PFC support")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/c12c60ec1058140a37f03650043ab73f730f104f.1650610471.git.geert+renesas@glider.be
drivers/pinctrl/renesas/pfc-r8a779f0.c