Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

pinctrl: pinctrl-zynqmp: Add support for output-enable and bias-high impedance

Add support to handle 'output-enable' and 'bias-high-impedance'
configurations.

Using these pinctrl properties observed hang issues with older PMUFW(Xilinx
ZynqMP Platform Management Firmware), hence reverted the patch.
Commit 9989bc33c4894e075167 ("Revert "pinctrl: pinctrl-zynqmp: Add support
for output-enable and bias-high-impedance"").

Support for configuring these properties added in PMUFW Configuration Set
version 2.0. When there is a request for these configurations from pinctrl
driver for ZynqMP platform, xilinx firmware driver checks for this version
before configuring these properties to avoid the hang issue and proceeds
further only when firmware version is >=2 otherwise it returns error.

Signed-off-by: Sai Krishna Potthuri <sai.krishna.potthuri@amd.com>
Reviewed-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/20230731095026.3766675-5-sai.krishna.potthuri@amd.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

authored by

Sai Krishna Potthuri and committed by
Linus Walleij
0516dd65 6cb1d2a1

+9
+9
drivers/pinctrl/pinctrl-zynqmp.c
··· 415 415 416 416 break; 417 417 case PIN_CONFIG_BIAS_HIGH_IMPEDANCE: 418 + param = PM_PINCTRL_CONFIG_TRI_STATE; 419 + arg = PM_PINCTRL_TRI_STATE_ENABLE; 420 + ret = zynqmp_pm_pinctrl_set_config(pin, param, arg); 421 + break; 418 422 case PIN_CONFIG_MODE_LOW_POWER: 419 423 /* 420 424 * These cases are mentioned in dts but configurable ··· 426 422 * boot time warnings as of now. 427 423 */ 428 424 ret = 0; 425 + break; 426 + case PIN_CONFIG_OUTPUT_ENABLE: 427 + param = PM_PINCTRL_CONFIG_TRI_STATE; 428 + arg = PM_PINCTRL_TRI_STATE_DISABLE; 429 + ret = zynqmp_pm_pinctrl_set_config(pin, param, arg); 429 430 break; 430 431 default: 431 432 dev_warn(pctldev->dev,