st 15. 6. 2022 v 11:52 odesÃlatel Michal Simek <mon...@monstr.eu> napsal: > > From: Ashok Reddy Soma <ashok.reddy.s...@xilinx.com> > > Add support to handle 'output-enable' and 'bias-high-impedance' > configurations. DT property output-enable brings out the pins from > tri-state, whereas bias-high-impedance changes the pins state to > tri-state. > > Signed-off-by: Ashok Reddy Soma <ashok.reddy.s...@xilinx.com> > Signed-off-by: Michal Simek <michal.si...@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 7c5a02db1b98..52d428f566fc 100644 > --- a/drivers/pinctrl/pinctrl-zynqmp.c > +++ b/drivers/pinctrl/pinctrl-zynqmp.c > @@ -467,6 +467,10 @@ static int zynqmp_pinconf_set(struct udevice *dev, > unsigned int pin, > pin); > 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_LOW_POWER_MODE: > /* > * This cases are mentioned in dts but configurable > @@ -475,6 +479,11 @@ static int zynqmp_pinconf_set(struct udevice *dev, > unsigned int pin, > */ > 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(dev, "unsupported configuration parameter '%u'\n", > param); > -- > 2.36.1 >
Applied. M -- Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91 w: www.monstr.eu p: +42-0-721842854 Maintainer of Linux kernel - Xilinx Microblaze Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP ARM64 SoCs U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal SoCs