<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/pinctrl/sh-pfc, branch linux-5.6.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.6.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.6.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2020-01-08T08:56:28Z</updated>
<entry>
<title>pinctrl: sh-pfc: Split R-Car H3 support in two independent drivers</title>
<updated>2020-01-08T08:56:28Z</updated>
<author>
<name>Geert Uytterhoeven</name>
</author>
<published>2019-12-30T08:31:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f2bc07562748c23609743ded0630ec965f9e4fec'/>
<id>urn:sha1:f2bc07562748c23609743ded0630ec965f9e4fec</id>
<content type='text'>
Despite using the same compatible values ("r8a7795"-based) because of
historical reasons, R-Car H3 ES1.x (R8A77950) and R-Car H3 ES2.0+
(R8A77951) are really different SoCs, with different part numbers, and
with different Pin Function Controller blocks.

Reflect this in the pinctrl configuration, by replacing the existing
CONFIG_PINCTRL_PFC_R8A7795 symbol by two new config symbols:
CONFIG_PINCTRL_PFC_R8A77950 and CONFIG_PINCTRL_PFC_R8A77951.  The latter
are selected automatically, depending on the soon-to-be-introduced
corresponding SoC-specific config options, and on the current common
config option, to relax dependencies.

Rename the individual pin control driver source files from
pfc-r8a7795-es1.c to pfc-r8a77950.c, and from pfc-r8a7795.c to
pfc-r8a77951.c, and make them truly independent.
As both SoCs share the same compatible value, special care must be taken
to match them to the correct pin control driver, if support for it is
included in the running kernel.

This will allow making support for early R-Car H3 revisions optional,
the largest share of which is taken by the pin control driver.

Signed-off-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;
Reviewed-by: Yoshihiro Shimoda &lt;yoshihiro.shimoda.uh@renesas.com&gt;
Reviewed-by: Niklas Söderlund &lt;niklas.soderlund+renesas@ragnatech.se&gt;
Tested-by: Yoshihiro Shimoda &lt;yoshihiro.shimoda.uh@renesas.com&gt;
Link: https://lore.kernel.org/r/20191230083156.19191-1-geert+renesas@glider.be
</content>
</entry>
<entry>
<title>pinctrl: sh-pfc: sh7269: Fix CAN function GPIOs</title>
<updated>2019-12-31T08:57:40Z</updated>
<author>
<name>Geert Uytterhoeven</name>
</author>
<published>2019-12-18T19:48:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=02aeb2f21530c98fc3ca51028eda742a3fafbd9f'/>
<id>urn:sha1:02aeb2f21530c98fc3ca51028eda742a3fafbd9f</id>
<content type='text'>
pinmux_func_gpios[] contains a hole due to the missing function GPIO
definition for the "CTX0&amp;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 &lt;geert+renesas@glider.be&gt;
Link: https://lore.kernel.org/r/20191218194812.12741-5-geert+renesas@glider.be
</content>
</entry>
<entry>
<title>pinctrl: sh-pfc: sh7264: Fix CAN function GPIOs</title>
<updated>2019-12-31T08:57:40Z</updated>
<author>
<name>Geert Uytterhoeven</name>
</author>
<published>2019-12-18T19:48:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=55b1cb1f03ad5eea39897d0c74035e02deddcff2'/>
<id>urn:sha1:55b1cb1f03ad5eea39897d0c74035e02deddcff2</id>
<content type='text'>
pinmux_func_gpios[] contains a hole due to the missing function GPIO
definition for the "CTX0&amp;CTX1" signal, which is the logical "AND" of the
two CAN outputs.

Fix this by:
  - Renaming CRX0_CRX1_MARK to CTX0_CTX1_MARK, as PJ2MD[2:0]=010
    configures the combined "CTX0&amp;CTX1" output signal,
  - Renaming CRX0X1_MARK to CRX0_CRX1_MARK, as PJ3MD[1:0]=10 configures
    the shared "CRX0/CRX1" input signal, which is fed to both CAN
    inputs,
  - Adding the missing function GPIO definition for "CTX0&amp;CTX1" to
    pinmux_func_gpios[],
  - Moving all CAN enums next to each other.

See SH7262 Group, SH7264 Group User's Manual: Hardware, Rev. 4.00:
  [1] Figure 1.2 (3) (Pin Assignment for the SH7264 Group (1-Mbyte
      Version),
  [2] Figure 1.2 (4) Pin Assignment for the SH7264 Group (640-Kbyte
      Version,
  [3] Table 1.4 List of Pins,
  [4] Figure 20.29 Connection Example when Using This Module as 1-Channel
      Module (64 Mailboxes x 1 Channel),
  [5] Table 32.10 Multiplexed Pins (Port J),
  [6] Section 32.2.30 (3) Port J Control Register 0 (PJCR0).

Note that the last 2 disagree about PJ2MD[2:0], which is probably the
root cause of this bug.  But considering [4], "CTx0&amp;CTx1" in [5] must
be correct, and "CRx0&amp;CRx1" in [6] must be wrong.

Signed-off-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;
Link: https://lore.kernel.org/r/20191218194812.12741-4-geert+renesas@glider.be
</content>
</entry>
<entry>
<title>pinctrl: sh-pfc: sh7264: Fix Port K I/O Register 0 definition</title>
<updated>2019-12-31T08:57:40Z</updated>
<author>
<name>Geert Uytterhoeven</name>
</author>
<published>2019-12-18T19:48:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2a069a92811fb35b57aaa1bfbe406afcc723f490'/>
<id>urn:sha1:2a069a92811fb35b57aaa1bfbe406afcc723f490</id>
<content type='text'>
The register definition block for the Port K I/O Register is
accidentally using the defines for Port J.  Replace them by the proper
Port K defines.

Signed-off-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;
Link: https://lore.kernel.org/r/20191218194812.12741-3-geert+renesas@glider.be
</content>
</entry>
<entry>
<title>pinctrl: sh-pfc: r8a7778: Fix duplicate SDSELF_B and SD1_CLK_B</title>
<updated>2019-12-31T08:57:40Z</updated>
<author>
<name>Geert Uytterhoeven</name>
</author>
<published>2019-12-18T19:48:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=805f635703b2562b5ddd822c62fc9124087e5dd5'/>
<id>urn:sha1:805f635703b2562b5ddd822c62fc9124087e5dd5</id>
<content type='text'>
The FN_SDSELF_B and FN_SD1_CLK_B enum IDs are used twice, which means
one set of users must be wrong.  Replace them by the correct enum IDs.

Fixes: 87f8c988636db0d4 ("sh-pfc: Add r8a7778 pinmux support")
Signed-off-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;
Link: https://lore.kernel.org/r/20191218194812.12741-2-geert+renesas@glider.be
</content>
</entry>
<entry>
<title>pinctrl: sh-pfc: r8a77965: Fix DU_DOTCLKIN3 drive/bias control</title>
<updated>2019-12-20T14:47:38Z</updated>
<author>
<name>Geert Uytterhoeven</name>
</author>
<published>2019-11-13T10:16:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a34cd9dfd03fa9ec380405969f1d638bc63b8d63'/>
<id>urn:sha1:a34cd9dfd03fa9ec380405969f1d638bc63b8d63</id>
<content type='text'>
R-Car Gen3 Hardware Manual Errata for Rev. 2.00 of October 24, 2019
changed the configuration bits for drive and bias control for the
DU_DOTCLKIN3 pin on R-Car M3-N, to match the same pin on R-Car H3.
Update the driver to reflect this.

After this, the handling of drive and bias control for the various
DU_DOTCLKINx pins is consistent across all of the R-Car H3, M3-W,
M3-W+, and M3-N SoCs.

Fixes: 86c045c2e4201e94 ("pinctrl: sh-pfc: r8a77965: Replace DU_DOTCLKIN2 by DU_DOTCLKIN3")
Signed-off-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;
Link: https://lore.kernel.org/r/20191113101653.28428-1-geert+renesas@glider.be
</content>
</entry>
<entry>
<title>pinctrl: sh-pfc: Remove use of ARCH_R8A7796</title>
<updated>2019-12-13T13:33:20Z</updated>
<author>
<name>Geert Uytterhoeven</name>
</author>
<published>2019-12-11T10:03:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0cf24c8f29bb06551c38210b96f5ea99d908749a'/>
<id>urn:sha1:0cf24c8f29bb06551c38210b96f5ea99d908749a</id>
<content type='text'>
CONFIG_ARCH_R8A7796 was renamed to CONFIG_ARCH_R8A77960 in commit
39e57e14d7eaf818 ("soc: renesas: Add ARCH_R8A77960 for existing R-Car
M3-W"), so its users can be removed.

Signed-off-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;
Link: https://lore.kernel.org/r/20191211100308.6958-1-geert+renesas@glider.be
</content>
</entry>
<entry>
<title>pinctrl: sh-pfc: Make legacy function GPIO handling less fragile</title>
<updated>2019-12-09T08:43:02Z</updated>
<author>
<name>Geert Uytterhoeven</name>
</author>
<published>2019-11-13T10:18:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1d0f9e1e1e46939ae52804917647982b43754996'/>
<id>urn:sha1:1d0f9e1e1e46939ae52804917647982b43754996</id>
<content type='text'>
If there are no function GPIOs, sh_pfc_register_gpiochip() returns early
with a success indicator.  This is fragile, as new code may be added
after the #ifdef block, which won't be executed in case of early return.

Invert the logic, so the code always continues until the end of the
function on success.

Signed-off-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;
Reviewed-by: Niklas Söderlund &lt;niklas.soderlund+renesas@ragnatech.se&gt;
Link: https://lore.kernel.org/r/20191113101809.28600-1-geert+renesas@glider.be
</content>
</entry>
<entry>
<title>pinctrl: sh-pfc: sh7734: Fix duplicate TCLK1_B</title>
<updated>2019-11-01T12:42:52Z</updated>
<author>
<name>Geert Uytterhoeven</name>
</author>
<published>2019-10-24T13:13:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=884caadad128efad8e00c1cdc3177bc8912ee8ec'/>
<id>urn:sha1:884caadad128efad8e00c1cdc3177bc8912ee8ec</id>
<content type='text'>
The definitions for bit field [19:18] of the Peripheral Function Select
Register 3 were accidentally copied from bit field [20], leading to
duplicates for the TCLK1_B function, and missing TCLK0, CAN_CLK_B, and
ET0_ETXD4 functions.

Fix this by adding the missing GPIO_FN_CAN_CLK_B and GPIO_FN_ET0_ETXD4
enum values, and correcting the functions.

Reported-by: Ben Dooks &lt;ben.dooks@codethink.co.uk&gt;
Signed-off-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;
Link: https://lore.kernel.org/r/20191024131308.16659-1-geert+renesas@glider.be
</content>
</entry>
<entry>
<title>pinctrl: sh-pfc: r8a7796: Add R8A77961 PFC support</title>
<updated>2019-11-01T12:42:52Z</updated>
<author>
<name>Geert Uytterhoeven</name>
</author>
<published>2019-10-23T12:29:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=708c69e9eaccffc944858c6fbb38f600926e1fcf'/>
<id>urn:sha1:708c69e9eaccffc944858c6fbb38f600926e1fcf</id>
<content type='text'>
Add support for the Pin Function Controller in the R-Car M3-W+
(R8A77961) SoC.

R-Car M3-W+ is pin compatible with R-Car M3-W (R8A77960), which allows
for both SoCs to share a driver.

Signed-off-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;
Reviewed-by: Yoshihiro Shimoda &lt;yoshihiro.shimoda.uh@renesas.com&gt;
Tested-by: Yoshihiro Shimoda &lt;yoshihiro.shimoda.uh@renesas.com&gt;
Link: https://lore.kernel.org/r/20191023122955.12420-4-geert+renesas@glider.be
</content>
</entry>
</feed>
