[PATCH v3 4/4] pinctrl: pinctrl-zynqmp: Add support for output-enable and bias-high impedance
Michal Simek
michal.simek at amd.com
Mon Jul 31 03:06:14 PDT 2023
On 7/31/23 11:50, Sai Krishna Potthuri wrote:
> 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 at amd.com>
> ---
> drivers/pinctrl/pinctrl-zynqmp.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/pinctrl/pinctrl-zynqmp.c b/drivers/pinctrl/pinctrl-zynqmp.c
> index 8d2cb0999f2f..f2be341f73e1 100644
> --- a/drivers/pinctrl/pinctrl-zynqmp.c
> +++ b/drivers/pinctrl/pinctrl-zynqmp.c
> @@ -415,6 +415,10 @@ static int zynqmp_pinconf_cfg_set(struct pinctrl_dev *pctldev,
>
> break;
> case PIN_CONFIG_BIAS_HIGH_IMPEDANCE:
> + param = PM_PINCTRL_CONFIG_TRI_STATE;
> + arg = PM_PINCTRL_TRI_STATE_ENABLE;
> + ret = zynqmp_pm_pinctrl_set_config(pin, param, arg);
> + break;
> case PIN_CONFIG_MODE_LOW_POWER:
> /*
> * These cases are mentioned in dts but configurable
> @@ -423,6 +427,11 @@ static int zynqmp_pinconf_cfg_set(struct pinctrl_dev *pctldev,
> */
> ret = 0;
> break;
> + case PIN_CONFIG_OUTPUT_ENABLE:
> + param = PM_PINCTRL_CONFIG_TRI_STATE;
> + arg = PM_PINCTRL_TRI_STATE_DISABLE;
> + ret = zynqmp_pm_pinctrl_set_config(pin, param, arg);
> + break;
> default:
> dev_warn(pctldev->dev,
> "unsupported configuration parameter '%u'\n",
Reviewed-by: Michal Simek <michal.simek at amd.com>
Thanks,
Michal
More information about the linux-arm-kernel
mailing list