Commit 0d0915bef756cb708c84462b8b2ade2606370167

Authored by Marek Vasut
Committed by Nobuhiro Iwamatsu
1 parent 8212f56347

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>

Showing 1 changed file with 42 additions and 0 deletions Side-by-side Diff

arch/arm/mach-rmobile/pfc-r8a7795.c
... ... @@ -2185,6 +2185,27 @@
2185 2185 FSO_TOEx_MARK,
2186 2186 TPU0TO1_MARK,
2187 2187  
  2188 + /* IPSR18 */
  2189 + USB3_PWEN_IMARK,
  2190 + AUDIO_CLKOUT2_B_MARK,
  2191 + SSI_SCK9_B_MARK,
  2192 + TS_SDEN0_E_MARK,
  2193 + STP_ISEN_0_E_MARK,
  2194 + RIF2_D0_B_MARK,
  2195 + TPU0TO2_MARK,
  2196 + FMCLK_C_MARK,
  2197 + FMCLK_D_MARK,
  2198 +
  2199 + USB3_OVC_IMARK,
  2200 + AUDIO_CLKOUT3_B_MARK,
  2201 + SSI_WS9_B_MARK,
  2202 + TS_SPSYNC0_E_MARK,
  2203 + STP_ISSYNC_0_E_MARK,
  2204 + RIF2_D1_B_MARK,
  2205 + TPU0TO3_MARK,
  2206 + FMIN_C_MARK,
  2207 + FMIN_D_MARK,
  2208 +
2188 2209 PINMUX_MARK_END,
2189 2210 };
2190 2211  
... ... @@ -3288,6 +3309,27 @@
3288 3309 GPIO_FN(RIF3_D1_B),
3289 3310 GPIO_FN(FSO_TOEx),
3290 3311 GPIO_FN(TPU0TO1),
  3312 +
  3313 + /* IPSR18 */
  3314 + GPIO_IFN(USB3_PWEN),
  3315 + GPIO_FN(AUDIO_CLKOUT2_B),
  3316 + GPIO_FN(SSI_SCK9_B),
  3317 + GPIO_FN(TS_SDEN0_E),
  3318 + GPIO_FN(STP_ISEN_0_E),
  3319 + GPIO_FN(RIF2_D0_B),
  3320 + GPIO_FN(TPU0TO2),
  3321 + GPIO_FN(FMCLK_C),
  3322 + GPIO_FN(FMCLK_D),
  3323 +
  3324 + GPIO_IFN(USB3_OVC),
  3325 + GPIO_FN(AUDIO_CLKOUT3_B),
  3326 + GPIO_FN(SSI_WS9_B),
  3327 + GPIO_FN(TS_SPSYNC0_E),
  3328 + GPIO_FN(STP_ISSYNC_0_E),
  3329 + GPIO_FN(RIF2_D1_B),
  3330 + GPIO_FN(TPU0TO3),
  3331 + GPIO_FN(FMIN_C),
  3332 + GPIO_FN(FMIN_D),
3291 3333 };
3292 3334  
3293 3335 static struct pinmux_cfg_reg pinmux_config_regs[] = {