Message ID | 1655462819-28801-1-git-send-email-lakshmi.sai.krishna.potthuri@xilinx.com (mailing list archive) |
---|---|
Headers | show |
Series | pinctrl: pinctrl-zynqmp: Add tri-state configuration support | expand |
On Fri, Jun 17, 2022 at 12:47 PM Sai Krishna Potthuri <lakshmi.sai.krishna.potthuri@xilinx.com> wrote: > This series update the Xilinx firmware, ZynqMP dt-binding and ZynqMP > pinctrl driver to handle 'output-enable' and 'bias-high-impedance' > configurations. As part of these configurations, ZynqMP pinctrl driver > takes care of pin tri-state setting. > Also fix the kernel doc warning in ZynqMP pinctrl driver. > > Note: Resending the series as i see this series didn't went out due > to some issue with my mail client. Please ignore if this series is > already received. > > Sai Krishna Potthuri (4): > firmware: xilinx: Add configuration values for tri-state > dt-bindings: pinctrl-zynqmp: Add output-enable configuration > pinctrl: pinctrl-zynqmp: Add support for output-enable and > bias-high-impedance > pinctrl: pinctrl-zynqmp: Fix kernel-doc warning Excellent work, patches applied! Yours, Linus Walleij
Hi Sai, On Fri, Jun 17, 2022 at 04:16:55PM +0530, Sai Krishna Potthuri wrote: > This series update the Xilinx firmware, ZynqMP dt-binding and ZynqMP > pinctrl driver to handle 'output-enable' and 'bias-high-impedance' > configurations. As part of these configurations, ZynqMP pinctrl driver > takes care of pin tri-state setting. > Also fix the kernel doc warning in ZynqMP pinctrl driver. I'm afraid this causes a regression :-( With this series applied, boot breaks with the following message being printed to the serial console: Received exception MSR: 0x200, EAR: 0xFF180198, EDR: 0x0, ESR: 0x64 I've traced that to the probe of the UART, when it calls into the firmware to set pin MIO18 to high impedance. According to v1.7 of the ZynqMP registers reference (UG1087), there is no register at address 0xFF180198. I am using the VCU TRD 2021.1 for testing. Does this series require a firmware update ? If so backward compatibility needs to be preserved. It's very late in the v6.0-rc cycle for a fix, a revert may be best at this point, to give us time to fix the issue properly. > Note: Resending the series as i see this series didn't went out due > to some issue with my mail client. Please ignore if this series is > already received. > > Sai Krishna Potthuri (4): > firmware: xilinx: Add configuration values for tri-state > dt-bindings: pinctrl-zynqmp: Add output-enable configuration > pinctrl: pinctrl-zynqmp: Add support for output-enable and > bias-high-impedance > pinctrl: pinctrl-zynqmp: Fix kernel-doc warning > > .../bindings/pinctrl/xlnx,zynqmp-pinctrl.yaml | 4 ++++ > drivers/pinctrl/pinctrl-zynqmp.c | 11 +++++++++++ > include/linux/firmware/xlnx-zynqmp.h | 5 +++++ > 3 files changed, 20 insertions(+)
On Wed, Sep 28, 2022 at 06:58:10PM +0300, Laurent Pinchart wrote: > Hi Sai, > > On Fri, Jun 17, 2022 at 04:16:55PM +0530, Sai Krishna Potthuri wrote: > > This series update the Xilinx firmware, ZynqMP dt-binding and ZynqMP > > pinctrl driver to handle 'output-enable' and 'bias-high-impedance' > > configurations. As part of these configurations, ZynqMP pinctrl driver > > takes care of pin tri-state setting. > > Also fix the kernel doc warning in ZynqMP pinctrl driver. > > I'm afraid this causes a regression :-( With this series applied, boot > breaks with the following message being printed to the serial console: > > Received exception > MSR: 0x200, EAR: 0xFF180198, EDR: 0x0, ESR: 0x64 > > I've traced that to the probe of the UART, when it calls into the > firmware to set pin MIO18 to high impedance. According to v1.7 of the > ZynqMP registers reference (UG1087), there is no register at address > 0xFF180198. > > I am using the VCU TRD 2021.1 for testing. Does this series require a > firmware update ? If so backward compatibility needs to be preserved. > It's very late in the v6.0-rc cycle for a fix, a revert may be best at > this point, to give us time to fix the issue properly. I've now tested the VCU TRD 2022.1 (which AFAIK is the latest available version), and the problem doesn't occue then. It thus seems this depends on a firmware update, which is impractical at best for all old designs :-( > > Note: Resending the series as i see this series didn't went out due > > to some issue with my mail client. Please ignore if this series is > > already received. > > > > Sai Krishna Potthuri (4): > > firmware: xilinx: Add configuration values for tri-state > > dt-bindings: pinctrl-zynqmp: Add output-enable configuration > > pinctrl: pinctrl-zynqmp: Add support for output-enable and > > bias-high-impedance > > pinctrl: pinctrl-zynqmp: Fix kernel-doc warning > > > > .../bindings/pinctrl/xlnx,zynqmp-pinctrl.yaml | 4 ++++ > > drivers/pinctrl/pinctrl-zynqmp.c | 11 +++++++++++ > > include/linux/firmware/xlnx-zynqmp.h | 5 +++++ > > 3 files changed, 20 insertions(+)
Hi Laurent, On 9/28/22 18:42, Laurent Pinchart wrote: > > On Wed, Sep 28, 2022 at 06:58:10PM +0300, Laurent Pinchart wrote: >> Hi Sai, >> >> On Fri, Jun 17, 2022 at 04:16:55PM +0530, Sai Krishna Potthuri wrote: >>> This series update the Xilinx firmware, ZynqMP dt-binding and ZynqMP >>> pinctrl driver to handle 'output-enable' and 'bias-high-impedance' >>> configurations. As part of these configurations, ZynqMP pinctrl driver >>> takes care of pin tri-state setting. >>> Also fix the kernel doc warning in ZynqMP pinctrl driver. >> >> I'm afraid this causes a regression :-( With this series applied, boot >> breaks with the following message being printed to the serial console: >> >> Received exception >> MSR: 0x200, EAR: 0xFF180198, EDR: 0x0, ESR: 0x64 >> >> I've traced that to the probe of the UART, when it calls into the >> firmware to set pin MIO18 to high impedance. According to v1.7 of the >> ZynqMP registers reference (UG1087), there is no register at address >> 0xFF180198. >> >> I am using the VCU TRD 2021.1 for testing. Does this series require a >> firmware update ? If so backward compatibility needs to be preserved. >> It's very late in the v6.0-rc cycle for a fix, a revert may be best at >> this point, to give us time to fix the issue properly. > > I've now tested the VCU TRD 2022.1 (which AFAIK is the latest available > version), and the problem doesn't occue then. It thus seems this depends > on a firmware update, which is impractical at best for all old designs > :-( That's correct observation. Supporting these two properties requires newer pmufw or that message is received. I will let Arun and Jyotheeswar to comment it. I don't think there is a way to detect which firmware has implementation for it available. Thanks, Michal
Hi Laurent, We will be adding a way to check features that are available in firmware from kernel drivers in the near-future. Once that ability is available, kernel drivers can query if a feature is supported in the firmware before making use of the feature. We will revert this patch at this time as existing (& older released) firmwares neither supports this particular pinctrl tristate feature or the ability to check for available features. Regards, Arun > -----Original Message----- > From: Simek, Michal <michal.simek@amd.com> > Sent: Thursday, September 29, 2022 12:08 AM > To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>; Sai Krishna > Potthuri <lakshmi.sai.krishna.potthuri@xilinx.com>; Kannan, Arun Balaji > <arun.balaji.kannan@amd.com>; Mutthareddyvari, Jyotheeswar Reddy > <jyotheeswar.reddy.mutthareddyvari@amd.com> > Cc: Linus Walleij <linus.walleij@linaro.org>; Rob Herring <robh+dt@kernel.org>; > Michal Simek <michal.simek@xilinx.com>; Krzysztof Kozlowski > <krzysztof.kozlowski+dt@linaro.org>; linux-arm-kernel@lists.infradead.org; > linux-kernel@vger.kernel.org; devicetree@vger.kernel.org; linux- > gpio@vger.kernel.org; git@xilinx.com; saikrishna12468@gmail.com > Subject: Re: [PATCH 0/4] pinctrl: pinctrl-zynqmp: Add tri-state configuration > support > > Hi Laurent, > > On 9/28/22 18:42, Laurent Pinchart wrote: > > > > On Wed, Sep 28, 2022 at 06:58:10PM +0300, Laurent Pinchart wrote: > >> Hi Sai, > >> > >> On Fri, Jun 17, 2022 at 04:16:55PM +0530, Sai Krishna Potthuri wrote: > >>> This series update the Xilinx firmware, ZynqMP dt-binding and ZynqMP > >>> pinctrl driver to handle 'output-enable' and 'bias-high-impedance' > >>> configurations. As part of these configurations, ZynqMP pinctrl > >>> driver takes care of pin tri-state setting. > >>> Also fix the kernel doc warning in ZynqMP pinctrl driver. > >> > >> I'm afraid this causes a regression :-( With this series applied, > >> boot breaks with the following message being printed to the serial console: > >> > >> Received exception > >> MSR: 0x200, EAR: 0xFF180198, EDR: 0x0, ESR: 0x64 > >> > >> I've traced that to the probe of the UART, when it calls into the > >> firmware to set pin MIO18 to high impedance. According to v1.7 of the > >> ZynqMP registers reference (UG1087), there is no register at address > >> 0xFF180198. > >> > >> I am using the VCU TRD 2021.1 for testing. Does this series require a > >> firmware update ? If so backward compatibility needs to be preserved. > >> It's very late in the v6.0-rc cycle for a fix, a revert may be best > >> at this point, to give us time to fix the issue properly. > > > > I've now tested the VCU TRD 2022.1 (which AFAIK is the latest > > available version), and the problem doesn't occue then. It thus seems > > this depends on a firmware update, which is impractical at best for > > all old designs :-( > > That's correct observation. Supporting these two properties requires newer > pmufw or that message is received. > I will let Arun and Jyotheeswar to comment it. I don't think there is a way to > detect which firmware has implementation for it available. > > Thanks, > Michal