diff options
author | Marek Vasut <marek.vasut@gmail.com> | 2017-08-28 14:13:11 +0200 |
---|---|---|
committer | Nobuhiro Iwamatsu <iwamatsu@nigauri.org> | 2017-09-05 07:51:39 +0900 |
commit | 0d0915bef756cb708c84462b8b2ade2606370167 (patch) | |
tree | 4731f1cbb8a0d699737c6a4f62cfdc430d897b01 | |
parent | 8212f56347e511ad2c9f5c0fcb611d142e4fb5bb (diff) |
ARM: rmobile: Add missing IPSR18 bits to R8A7795 PFC
The IPSR18 register bits were missing from the R8A7795 ES2.0+ PFC
tables, which triggered a BUG() in sh_pfc driver. This is because
of an out-of-bounds access to the pinmux_gpios[] array in the PFC
tables, which was too short due to the missing IPSR18 bits.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
-rw-r--r-- | arch/arm/mach-rmobile/pfc-r8a7795.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/arch/arm/mach-rmobile/pfc-r8a7795.c b/arch/arm/mach-rmobile/pfc-r8a7795.c index 44460939733..93aaf31ed96 100644 --- a/arch/arm/mach-rmobile/pfc-r8a7795.c +++ b/arch/arm/mach-rmobile/pfc-r8a7795.c @@ -2185,6 +2185,27 @@ enum { FSO_TOEx_MARK, TPU0TO1_MARK, + /* IPSR18 */ + USB3_PWEN_IMARK, + AUDIO_CLKOUT2_B_MARK, + SSI_SCK9_B_MARK, + TS_SDEN0_E_MARK, + STP_ISEN_0_E_MARK, + RIF2_D0_B_MARK, + TPU0TO2_MARK, + FMCLK_C_MARK, + FMCLK_D_MARK, + + USB3_OVC_IMARK, + AUDIO_CLKOUT3_B_MARK, + SSI_WS9_B_MARK, + TS_SPSYNC0_E_MARK, + STP_ISSYNC_0_E_MARK, + RIF2_D1_B_MARK, + TPU0TO3_MARK, + FMIN_C_MARK, + FMIN_D_MARK, + PINMUX_MARK_END, }; @@ -3288,6 +3309,27 @@ static struct pinmux_gpio pinmux_gpios[] = { GPIO_FN(RIF3_D1_B), GPIO_FN(FSO_TOEx), GPIO_FN(TPU0TO1), + + /* IPSR18 */ + GPIO_IFN(USB3_PWEN), + GPIO_FN(AUDIO_CLKOUT2_B), + GPIO_FN(SSI_SCK9_B), + GPIO_FN(TS_SDEN0_E), + GPIO_FN(STP_ISEN_0_E), + GPIO_FN(RIF2_D0_B), + GPIO_FN(TPU0TO2), + GPIO_FN(FMCLK_C), + GPIO_FN(FMCLK_D), + + GPIO_IFN(USB3_OVC), + GPIO_FN(AUDIO_CLKOUT3_B), + GPIO_FN(SSI_WS9_B), + GPIO_FN(TS_SPSYNC0_E), + GPIO_FN(STP_ISSYNC_0_E), + GPIO_FN(RIF2_D1_B), + GPIO_FN(TPU0TO3), + GPIO_FN(FMIN_C), + GPIO_FN(FMIN_D), }; static struct pinmux_cfg_reg pinmux_config_regs[] = { |