Skip to content

Commit 0516dd6

Browse files
Sai Krishna Potthurilinusw
authored andcommitted
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 9989bc3 ("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 <[email protected]> Reviewed-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Linus Walleij <[email protected]>
1 parent 6cb1d2a commit 0516dd6

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

drivers/pinctrl/pinctrl-zynqmp.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -415,6 +415,10 @@ static int zynqmp_pinconf_cfg_set(struct pinctrl_dev *pctldev,
415415

416416
break;
417417
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;
418422
case PIN_CONFIG_MODE_LOW_POWER:
419423
/*
420424
* These cases are mentioned in dts but configurable
@@ -423,6 +427,11 @@ static int zynqmp_pinconf_cfg_set(struct pinctrl_dev *pctldev,
423427
*/
424428
ret = 0;
425429
break;
430+
case PIN_CONFIG_OUTPUT_ENABLE:
431+
param = PM_PINCTRL_CONFIG_TRI_STATE;
432+
arg = PM_PINCTRL_TRI_STATE_DISABLE;
433+
ret = zynqmp_pm_pinctrl_set_config(pin, param, arg);
434+
break;
426435
default:
427436
dev_warn(pctldev->dev,
428437
"unsupported configuration parameter '%u'\n",

0 commit comments

Comments
 (0)