android_kernel_samsung_a7y1.../drivers/pinctrl/sh-pfc
Geert Uytterhoeven 6cc2db65f7 pinctrl: sh-pfc: sh7269: Fix CAN function GPIOs
[ Upstream commit 02aeb2f21530c98fc3ca51028eda742a3fafbd9f ]

pinmux_func_gpios[] contains a hole due to the missing function GPIO
definition for the "CTX0&CTX1" signal, which is the logical "AND" of the
first two CAN outputs.

A closer look reveals other issues:
  - Some functionality is available on alternative pins, but the
    PINMUX_DATA() entries is using the wrong marks,
  - Several configurations are missing.

Fix this by:
  - Renaming CTX0CTX1CTX2_MARK, CRX0CRX1_PJ22_MARK, and
    CRX0CRX1CRX2_PJ20_MARK to CTX0_CTX1_CTX2_MARK, CRX0_CRX1_PJ22_MARK,
    resp. CRX0_CRX1_CRX2_PJ20_MARK for consistency with the
    corresponding enum IDs,
  - Adding all missing enum IDs and marks,
  - Use the right (*_PJ2x) variants for alternative pins,
  - Adding all missing configurations to pinmux_data[],
  - Adding all missing function GPIO definitions to pinmux_func_gpios[].

See SH7268 Group, SH7269 Group User’s Manual: Hardware, Rev. 2.00:
  [1] Table 1.4 List of Pins
  [2] Figure 23.29 Connection Example when Using Channels 0 and 1 as One
      Channel (64 Mailboxes × 1 Channel) and Channel 2 as One Channel
      (32 Mailboxes × 1 Channel),
  [3] Figure 23.30 Connection Example when Using Channels 0, 1, and 2 as
      One Channel (96 Mailboxes × 1 Channel),
  [4] Table 48.3 Multiplexed Pins (Port B),
  [5] Table 48.4 Multiplexed Pins (Port C),
  [6] Table 48.10 Multiplexed Pins (Port J),
  [7] Section 48.2.4 Port B Control Registers 0 to 5 (PBCR0 to PBCR5).

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20191218194812.12741-5-geert+renesas@glider.be
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-04-07 13:56:29 +02:00
..
core.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
core.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
gpio.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
Kconfig A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
Makefile A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
pfc-emev2.c pinctrl: sh-pfc: emev2: Add missing pinmux functions 2020-04-07 13:40:26 +02:00
pfc-r8a73a4.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
pfc-r8a7740.c pinctrl: sh-pfc: r8a7740: Add missing LCD0 marks to lcd0_data24_1 group 2020-04-07 13:39:26 +02:00
pfc-r8a7778.c pinctrl: sh-pfc: r8a7778: Fix duplicate SDSELF_B and SD1_CLK_B 2020-04-07 13:54:45 +02:00
pfc-r8a7779.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
pfc-r8a7790.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
pfc-r8a7791.c pinctrl: sh-pfc: r8a7791: Fix scifb2_data_c pin group 2020-04-07 13:40:27 +02:00
pfc-r8a7794.c pinctrl: sh-pfc: r8a7794: Remove bogus IPSR9 field 2020-04-07 13:39:33 +02:00
pfc-r8a7795.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
pfc-sh73a0.c pinctrl: sh-pfc: sh73a0: Fix fsic_spdif pin groups 2020-04-07 13:40:29 +02:00
pfc-sh7203.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
pfc-sh7264.c pinctrl: sh-pfc: sh7264: Fix CAN function GPIOs 2020-04-07 13:55:38 +02:00
pfc-sh7269.c pinctrl: sh-pfc: sh7269: Fix CAN function GPIOs 2020-04-07 13:56:29 +02:00
pfc-sh7720.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
pfc-sh7722.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
pfc-sh7723.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
pfc-sh7724.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
pfc-sh7734.c pinctrl: sh-pfc: sh7734: Remove bogus IPSR10 value 2020-04-07 13:39:39 +02:00
pfc-sh7757.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
pfc-sh7785.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
pfc-sh7786.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
pfc-shx3.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
pinctrl.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
sh_pfc.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30