aboutsummaryrefslogtreecommitdiff
path: root/drivers/pinctrl/pinctrl-zynqmp.c
diff options
context:
space:
mode:
authorAshok Reddy Soma <ashok.reddy.soma@amd.com>2023-08-10 23:48:28 -0600
committerMichal Simek <michal.simek@amd.com>2023-09-21 13:20:10 +0200
commit4af320b10c1e6bfe6272980c303fe119f6c27197 (patch)
treedfeaf247daaaf7d76bf4d6495929b9d834b311a2 /drivers/pinctrl/pinctrl-zynqmp.c
parentf16347f41c64ec53f598c3444fb19b3442c12bb3 (diff)
downloadu-boot-4af320b10c1e6bfe6272980c303fe119f6c27197.zip
u-boot-4af320b10c1e6bfe6272980c303fe119f6c27197.tar.gz
u-boot-4af320b10c1e6bfe6272980c303fe119f6c27197.tar.bz2
pinctrl: zynqmp: Add version check for TRISTATE configuration
Support for configuring TRISTATE parameter is added in ZYNQMP PMUFW(Xilinx ZynqMP Platform Management Firmware) Configuration Param Set version 2.0. If the requested configuration is TRISTATE then check the version before requesting Xilinx firmware to set the configuration. Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@amd.com> Link: https://lore.kernel.org/r/20230811054829.13162-3-ashok.reddy.soma@amd.com Signed-off-by: Michal Simek <michal.simek@amd.com>
Diffstat (limited to 'drivers/pinctrl/pinctrl-zynqmp.c')
-rw-r--r--drivers/pinctrl/pinctrl-zynqmp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/pinctrl/pinctrl-zynqmp.c b/drivers/pinctrl/pinctrl-zynqmp.c
index 02626a7..e9857f5 100644
--- a/drivers/pinctrl/pinctrl-zynqmp.c
+++ b/drivers/pinctrl/pinctrl-zynqmp.c
@@ -158,6 +158,12 @@ static int zynqmp_pm_pinctrl_set_config(const u32 pin, const u32 param, u32 valu
{
int ret;
+ if (param == PM_PINCTRL_CONFIG_TRI_STATE) {
+ ret = zynqmp_pm_feature(PM_PINCTRL_CONFIG_PARAM_SET);
+ if (ret < PM_PINCTRL_PARAM_SET_VERSION)
+ return -EOPNOTSUPP;
+ }
+
/* Request the pin first */
ret = xilinx_pm_request(PM_PINCTRL_REQUEST, pin, 0, 0, 0, NULL);
if (ret) {