summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorMarek Vasut <marek.vasut@gmail.com>2017-08-28 14:13:11 +0200
committerNobuhiro Iwamatsu <iwamatsu@nigauri.org>2017-09-05 07:51:39 +0900
commit0d0915bef756cb708c84462b8b2ade2606370167 (patch)
tree4731f1cbb8a0d699737c6a4f62cfdc430d897b01 /arch
parent8212f56347e511ad2c9f5c0fcb611d142e4fb5bb (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>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-rmobile/pfc-r8a7795.c42
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 4446093973..93aaf31ed9 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[] = {