pinctrl: renesas: r8a779a0: Fix GPIO function on I2C-capable pins
authorGeert Uytterhoeven <geert+renesas@glider.be>
Fri, 22 Apr 2022 07:29:30 +0000 (09:29 +0200)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Tue, 3 May 2022 07:57:35 +0000 (09:57 +0200)
commit4288caed9a6319b766dc0adf605c7b401180db34
treeb7fad47cbb678275502d46cfa7107bbe9022580a
parentf7bc5f52d2354b41d5a111942be7ee01e5560c78
pinctrl: renesas: r8a779a0: 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 V3U 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_2_j_FN function enum to expand to two
enums: the original GP_2_j_FN enum to configure the GSPR register bits,
and the missing FN_SEL_I2Ci_0 enum to configure the MODSEL register
bits.

Fixes: 741a7370fc3b8b54 ("pinctrl: renesas: Initial R8A779A0 (V3U) PFC support")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/4611e29e7b105513883084c1d6dc39c3ac8b525c.1650610471.git.geert+renesas@glider.be
drivers/pinctrl/renesas/pfc-r8a779a0.c