summaryrefslogtreecommitdiff
path: root/drivers/pinctrl/renesas
AgeCommit message (Collapse)Author
2026-01-09dm: core: Default to using DEVRES outside of xPLTom Rini
The devm alloc functions that we have may follow the Linux kernel model where allocations are (almost always) automatically free()'d. However, quite often we don't enable, in full U-Boot, the tracking and free()'ing functionality. This in turn leads to memory leaks because the driver author expects that since the functions have the same name as in the Linux Kernel they have the same behavior. In turn we then get functionally correct commits such as commit 00e1fed93c8c ("firmware: ti_sci: Fix memory leaks in devm_ti_sci_get_of_resource") that manually add these calls. Rather than manually tracking allocations and implementing free()s, rework things so that we follow expectations by enabling the DEVRES functionality (outside of xPL phases). This turns DEVRES from a prompted symbol to a symbol that must be select'd, and we now remove our non-managed alloc/free functions from outside of xPL builds. Reviewed-by: Michael Trimarchi <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2025-11-13pinctrl: renesas: r8a779h0: Remove STPWT_EXTFXRGeert Uytterhoeven
Rev.0.81 of the R-Car V4M Series Hardware User’s Manual removed the "STPWT_EXTFXR" signal from the pin control register tables. As this is further unused in the pin control driver, it can be removed safely. Signed-off-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2025-11-13pinctrl: renesas: r8a779h0: Remove CC5_OSCOUTHuy Bui
Rev.0.71 of the R-Car V4M Series Hardware User’s Manual removed the "CC5_OSCOUT" signal from the pin control register tables. As this is further unused in the pin control driver, it can be removed safely. Signed-off-by: Huy Bui <[email protected]> Signed-off-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2025-11-13pinctrl: renesas: r8a779g0: Remove STPWT_EXTFXRHuy Bui
Rev.1.30 of the R-Car V4H Series Hardware User’s Manual removed the "STPWT_EXTFXR" signal from the pin control register tables. As this is further unused in the pin control driver, it can be removed safely. Signed-off-by: Huy Bui <[email protected]> Signed-off-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2025-11-13pinctrl: renesas: r8a779g0: Remove CC5_OSCOUTHuy Bui
Rev.1.30 of the R-Car V4H Series Hardware User’s Manual removed the "CC5_OSCOUT" signal from the pin control register tables. As this is further unused in the pin control driver, it can be removed safely. Signed-off-by: Huy Bui <[email protected]> Signed-off-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2025-11-13pinctrl: renesas: r8a779g0: Remove AVB[01]_MIIThanh Quan
Rev.1.30 of the R-Car V4H Series Hardware User’s Manual removed the "AVB[01]_MII_*" signals from the pin control register tables. As these are further unused in the pin control driver, they can be removed safely. Signed-off-by: Thanh Quan <[email protected]> Signed-off-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2025-11-06pinctrl: renesas: Add initial R8A78000 R-Car X5H PFC tablesHuy Bui
Add initial pin control tables for the Renesas R-Car X5H R8A78000 SoC. This SoC is the first one which includes custom DRV register handling, different from previous generations due to change in DRV register bit layout. Signed-off-by: Huy Bui <[email protected]> Signed-off-by: Khanh Le <[email protected]> Signed-off-by: Hai Pham <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2025-11-06pinctrl: renesas: Move drive strength configuration into sh_pfc_soc_operationsHai Pham
The upcoming Renesas R-Car Gen5 uses different mapping of bits in DRV control register, which is incompatible with existing DRV register bit mapping. Add .set_drive_strength callback into sh_pfc_soc_operations and call it from sh_pfc_pinconf_set(), to allow each SoC specific PFC driver to implement replacement .set_drive_strength. Make the current sh_pfc_pinconf_set_drive_strength() non-static, rename it with rcar_ prefix, and pass it as .set_drive_strength for existing PFC drivers. This is a preparatory patch for R-Car Gen5, no functional change. Signed-off-by: Hai Pham <[email protected]> Signed-off-by: Marek Vasut <[email protected]> [Marek: Consistently use .set_drive_strength() and pass exisiting sh_pfc_pinconf_set_drive_strength() as its parameter for all PFC drivers. Rewrite commit message.]
2025-11-06pinctrl: renesas: Show bit position in config writeHai Pham
Show bit position in config write debug log, which is helpful for cases where the p port setting is applied at the exact p bit position. Signed-off-by: Hai Pham <[email protected]> Signed-off-by: Marek Vasut <[email protected]> # Unsplit the string
2025-11-06pinctrl: renesas: Align Kconfig entry indentMarek Vasut
Fix Kconfig entry indent to be always consistently indented with leading tabs, never with leading spaces. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2025-09-03pinctrl: rzg2l: Variable may not have been assigned toAndrew Goodbody
In rzg2l_pinconf_set and rzg2l_get_pin_muxing if the call to rzg2l_selector_decode fails then the variable pin may not have been assigned to. Remove the use of pin from the error message. Also update the error message to show the invalid selector used instead of port which will be the error code returned. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]> Reviewed-by: Paul Barker <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2024-12-29pinctrl: renesas: Convert to IS_ENABLED() macroMarek Vasut
Use the IS_ENABLED() macro to reduce amount of #ifdef use in the driver and improve code coverage. With IS_ENABLED() macro, the code is compiled and then optimized out, which prevents bitrot. In case no PFC table matches the SoC in use, do not probe the driver and instead exit with -ENODEV. This should never happen under normal conditions, because this would mean the driver DT compatible string match happened, but the list in probe() cannot match the model listed in match data associated with the compatible string on which the match did happen. Signed-off-by: Marek Vasut <[email protected]>
2024-12-25Merge tag 'v2025.01-rc5' into nextTom Rini
Prepare v2025.01-rc5
2024-12-25pinctrl: renesas: Minimize R8A779H0 V4M PFC tablesMarek Vasut
Reduce the PFC tables by ifdeffing out pinmux settings which are unlikely to be used by U-Boot. This helps reduce the size of the bootloader in the 10 kiB range. This includes conditional build of these PFC additions: - Audio - CAN/CANFD - INTC/INTC-EX - MSIOF - PWM - SSI Signed-off-by: Marek Vasut <[email protected]>
2024-12-25pinctrl: renesas: Minimize R8A779G0 V4H PFC tablesMarek Vasut
Reduce the PFC tables by ifdeffing out pinmux settings which are unlikely to be used by U-Boot. This helps reduce the size of the bootloader in the 10 kiB range. This includes conditional build of these PFC additions: - Audio - CAN/CANFD - DU - INTC-EX - MSIOF - PWM - SSI Signed-off-by: Marek Vasut <[email protected]>
2024-12-25pinctrl: renesas: Minimize R8A779F0 S4 PFC tablesMarek Vasut
Reduce the PFC tables by ifdeffing out pinmux settings which are unlikely to be used by U-Boot. This helps reduce the size of the bootloader in the 10 kiB range. This includes conditional build of these PFC additions: - INTC-EX - MSIOF Signed-off-by: Marek Vasut <[email protected]>
2024-12-25pinctrl: renesas: Minimize R8A779A0 V3U PFC tablesMarek Vasut
Reduce the PFC tables by ifdeffing out pinmux settings which are unlikely to be used by U-Boot. This helps reduce the size of the bootloader in the 10 kiB range. This includes conditional build of these PFC additions: - CAN/CANFD - DU - INTC-EX - MSIOF - PWM Signed-off-by: Marek Vasut <[email protected]>
2024-12-25pinctrl: renesas: Minimize R8A77995 D3 PFC tablesMarek Vasut
Reduce the PFC tables by ifdeffing out pinmux settings which are unlikely to be used by U-Boot. This helps reduce the size of the bootloader in the 10 kiB range. This includes conditional build of these PFC additions: - Audio - CAN/CANFD - DU - MSIOF - PWM - SSI - VIN Signed-off-by: Marek Vasut <[email protected]>
2024-12-25pinctrl: renesas: Minimize R8A77990 E3 PFC tablesMarek Vasut
Reduce the PFC tables by ifdeffing out pinmux settings which are unlikely to be used by U-Boot. This helps reduce the size of the bootloader in the 10 kiB range. This includes conditional build of these PFC additions: - Audio - CAN/CANFD - DU - INTC/INTC-EX - MSIOF - PWM - SSI - VIN Signed-off-by: Marek Vasut <[email protected]>
2024-12-25pinctrl: renesas: Minimize R8A77980 V3H PFC tablesMarek Vasut
Reduce the PFC tables by ifdeffing out pinmux settings which are unlikely to be used by U-Boot. This helps reduce the size of the bootloader in the 10 kiB range. This includes conditional build of these PFC additions: - CANFD - DU - INTC-EX - MSIOF - PWM - VIN Signed-off-by: Marek Vasut <[email protected]>
2024-12-25pinctrl: renesas: Minimize R8A77970 V3M PFC tablesMarek Vasut
Reduce the PFC tables by ifdeffing out pinmux settings which are unlikely to be used by U-Boot. This helps reduce the size of the bootloader in the 10 kiB range. This includes conditional build of these PFC additions: - CANFD - DU - INTC-EX - MSIOF - PWM - VIN Signed-off-by: Marek Vasut <[email protected]>
2024-12-25pinctrl: renesas: Minimize R8A77965 M3-N PFC tablesMarek Vasut
Reduce the PFC tables by ifdeffing out pinmux settings which are unlikely to be used by U-Boot. This helps reduce the size of the bootloader in the 10 kiB range. This includes conditional build of these PFC additions: - Audio - CAN/CANFD - DU - INTC-EX - MSIOF - PWM - SSI - VIN Signed-off-by: Marek Vasut <[email protected]>
2024-12-25pinctrl: renesas: Minimize R8A77960 M3-W and R8A77961 M3-W+ PFC tablesMarek Vasut
Reduce the PFC tables by ifdeffing out pinmux settings which are unlikely to be used by U-Boot. This helps reduce the size of the bootloader in the 10 kiB range. This includes conditional build of these PFC additions: - Audio - CAN/CANFD - DU - INTC-EX - MSIOF - PWM - SSI - VIN Signed-off-by: Marek Vasut <[email protected]>
2024-12-25pinctrl: renesas: Minimize R8A77951 H3 PFC tablesMarek Vasut
Reduce the PFC tables by ifdeffing out pinmux settings which are unlikely to be used by U-Boot. This helps reduce the size of the bootloader in the 10 kiB range. This includes conditional build of these PFC additions: - Audio - CAN/CANFD - DU - INTC-EX - MSIOF - PWM - SSI - VIN Signed-off-by: Marek Vasut <[email protected]>
2024-12-25pinctrl: renesas: Minimize R8A7794 E2 PFC tablesMarek Vasut
Reduce the PFC tables by ifdeffing out pinmux settings which are unlikely to be used by U-Boot. This helps reduce the size of the bootloader in the 10 kiB range. This includes conditional build of these PFC additions: - Audio - CAN - DU - INTC - MSIOF - PWM - SSI - VIN Signed-off-by: Marek Vasut <[email protected]>
2024-12-25pinctrl: renesas: Minimize R8A7792 V2H PFC tablesMarek Vasut
Reduce the PFC tables by ifdeffing out pinmux settings which are unlikely to be used by U-Boot. This helps reduce the size of the bootloader in the 10 kiB range. This includes conditional build of these PFC additions: - CAN - DU - INTC - MSIOF - VIN Signed-off-by: Marek Vasut <[email protected]>
2024-12-25pinctrl: renesas: Minimize R8A7791 M2-W and R8A7793 M2-N PFC tablesMarek Vasut
Reduce the PFC tables by ifdeffing out pinmux settings which are unlikely to be used by U-Boot. This helps reduce the size of the bootloader in the 10 kiB range. This includes conditional build of these PFC additions: - Audio - CAN - DU - INTC - MSIOF - PWM - SSI - VIN Signed-off-by: Marek Vasut <[email protected]>
2024-12-25pinctrl: renesas: Minimize R8A7790 H2 PFC tablesMarek Vasut
Reduce the PFC tables by ifdeffing out pinmux settings which are unlikely to be used by U-Boot. This helps reduce the size of the bootloader in the 10 kiB range. This includes conditional build of these PFC additions: - Audio - CAN - DU - INTC - MSIOF - PWM - SSI - VIN Signed-off-by: Marek Vasut <[email protected]>
2024-12-25pinctrl: renesas: Add Kconfig symbol for conditional build of full PFC tablesMarek Vasut
By default the pin multiplexing tables used by U-Boot are reduced to keep the size of the bootloader low. This option allows build of full pin multiplexing tables the same way they are included in the Linux kernel. This includes pin multiplexing options for Audio, CAN, CANFD, DU, INTC, INTC-EX, MSIOF, PWM, SSI, for which there is no U-Boot driver. This option is disabled by default. Signed-off-by: Marek Vasut <[email protected]>
2024-12-11pinctrl: renesas: Fix R-Car spellingMarek Vasut
The correct spelling is R-Car, including the dash, update the usage. Kconfig strings and comment changes only, no functional change. Signed-off-by: Marek Vasut <[email protected]>
2024-12-08pinctrl: rzg2l: Drop unnecessary scopePaul Barker
In rzg2l_pinconf_set(), there are no new variables defined in the case statement for PIN_CONFIG_INPUT_ENABLE so no additional scope is needed. Signed-off-by: Paul Barker <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2024-12-08pinctrl: rzg2l: Support Ethernet TXC output enablePaul Barker
On the RZ/G2L SoC family, the direction of the Ethernet TXC/TX_CLK signal is selectable to support an Ethernet PHY operating in either MII or RGMII mode. By default, the signal is configured as an input and MII mode is supported. The ETH_MODE register can be modified to configure this signal as an output to support RGMII mode. As this signal is be default an input, and can optionally be switched to an output, it maps neatly onto an `output-enable` property in the device tree. Signed-off-by: Paul Barker <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2024-12-08pinctrl: rzg2l: Support 2.5V PVDD for Ethernet interfacesPaul Barker
The Ethenet interfaces on the Renesas RZ/G2L SoC family can operate at multiple power supply voltages: 3.3V (default value), 2.5V and 1.8V. rzg2l_pinconf_set() is extended to support the 2.5V setting, with a check to ensure this is only used on Ethernet interfaces as it is not supported on the SD & QSPI interfaces. While we're modifying rzg2l_pinconf_set(), drop the unnecessary default value for pwr_reg as it is set in every branch of the following if condition. Signed-off-by: Paul Barker <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2024-10-13pinctrl: renesas: Synchronize R-Car R8A779H0 V4M PFC tables with Linux 6.10.9Marek Vasut
Synchronize R-Car R8A779H0 V4M PFC tables with Linux 6.10.9, commit 1611860f184a2c9e74ed593948d43657734a7098 . Signed-off-by: Marek Vasut <[email protected]>
2024-10-13pinctrl: renesas: Synchronize R-Car R8A779G0 V4H PFC tables with Linux 6.10.9Marek Vasut
Synchronize R-Car R8A779G0 V4H PFC tables with Linux 6.10.9, commit 1611860f184a2c9e74ed593948d43657734a7098 . Signed-off-by: Marek Vasut <[email protected]>
2024-07-22drivers: pinctrl: Remove duplicate newlinesMarek Vasut
Drop all duplicate newlines. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2024-07-06pinctrl: renesas: Synchronize R-Car R8A779G0 V4H PFC tables with Linux 6.9.3Marek Vasut
Synchronize R-Car R8A779G0 V4H PFC tables with Linux 6.9.3, commit 1b4861e32e461b6fae14dc49ed0f1c7f20af5146 . Signed-off-by: Marek Vasut <[email protected]>
2024-03-02ARM: renesas: Rename ARCH_RMOBILE to ARCH_RENESASMarek Vasut
Rename ARCH_RMOBILE to ARCH_RENESAS because all the chips are made by Renesas, while only a subset of them is from the R-Mobile line. Use the following command to perform the rename: " $ git grep -l 'ARCH_RMOBILE' | xargs -I {} sed -i 's@ARCH_RMOBILE@ARCH_RENESAS@g' {} " Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Paul Barker <[email protected]>
2024-03-02ARM: renesas: Rename rmobile_get_cpu_rev_*() to renesas_get_cpu_rev_*()Marek Vasut
Rename rmobile_get_cpu_rev_*() to renesas_get_cpu_rev_*() because all the chips are made by Renesas, while only a subset of them is from the R-Mobile line. Use the following command to perform the rename: " $ git grep -l '\<rmobile_get_cpu_rev_\(integer\|fraction\)\>' | \ xargs -I {} sed -i 's@\<rmobile_get_cpu_rev_\(integer\|fraction\)\>@renesas_get_cpu_rev_\1@g' {} " Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Paul Barker <[email protected]>
2024-02-10pinctrl: renesas: Add R8A779H0 V4M PFC tablesHai Pham
Add pinctrl tables for R8A779H0 V4M SoC. The current version of these PFC tables is imported and squashed from: https://lore.kernel.org/linux-renesas-soc/[email protected]/ Signed-off-by: Hai Pham <[email protected]>
2024-01-27pinctrl: renesas: Drop include common.hMarek Vasut
The header file is not necessary in either of those files, remove it as common.h is going away. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Paul Barker <[email protected]>
2023-11-02pinctrl: rzg2l: Drop <common.h>Paul Barker
In line with changes elsewhere, drop inclusion of the common header. Signed-off-by: Paul Barker <[email protected]>
2023-10-16gpio: Add RZ/G2L GPIO driverPaul Barker
This driver adds support for the gpio features of the GPIO/PFC module in the Renesas RZ/G2L (R9A07G044) SoC. The new `rzg2l-pfc-gpio` driver is bound to the same device tree node as the `rzg2l-pfc-pinctrl` driver as the same hardware block provides both GPIO and pin multiplexing features. This patch is based on the corresponding Linux v6.5 driver (commit 52e12027d50affbf60c6c9c64db8017391b0c22e). Signed-off-by: Paul Barker <[email protected]> Reviewed-by: Biju Das <[email protected]> Reviewed-by: Lad Prabhakar <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-10-16pinctrl: renesas: Add RZ/G2L PFC driverPaul Barker
This driver adds support for the pinctrl features of the GPIO/PFC module in the Renesas RZ/G2L (R9A07G044) SoC. A multi-function `rzg2l-pfc` driver is defined for UCLASS_NOP, which binds the `rzg2l-pfc-pinctrl` UCLASS_PINCTRL driver dynamically. We also define common macros and functions for the PFC in <renesas/rzg2l-pfc.h>. This makes it easy to add an additional UCLASS_GPIO driver for the GPIO functionality of this module in a follow-up patch. This patch is based on the corresponding Linux v6.5 driver (commit 52e12027d50affbf60c6c9c64db8017391b0c22e). Signed-off-by: Paul Barker <[email protected]> Reviewed-by: Biju Das <[email protected]> Reviewed-by: Lad Prabhakar <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-10-01pinctrl: renesas: Synchronize R8A779G0 V4H PFC tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A779G0 V4H PFC tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01pinctrl: renesas: Synchronize R8A779F0 S4 PFC tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A779F0 S4 PFC tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01pinctrl: renesas: Synchronize R8A779A0 V3U PFC tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A779A0 V3U PFC tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01pinctrl: renesas: Synchronize R8A77995 D3 PFC tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A77995 D3 PFC tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01pinctrl: renesas: Synchronize R8A77990 E3 PFC tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A77990 E3 PFC tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01pinctrl: renesas: Synchronize R8A77980 V3H PFC tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A77980 V3H PFC tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>