Message ID | 20250328030213.1650990-4-hongxing.zhu@nxp.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add some enhancements for i.MX95 PCIe | expand |
On Fri, Mar 28, 2025 at 11:02:10AM +0800, Richard Zhu wrote: > ERR051624: The Controller Without Vaux Cannot Exit L23 Ready Through Beacon > or PERST# De-assertion Is it possible to share the link to the erratum? > > When the auxiliary power is not available, the controller cannot exit from > L23 Ready with beacon or PERST# de-assertion when main power is not > removed. > I don't understand how the presence of Vaux affects the controller. Same goes for PERST# deassertion. How does that relate to Vaux? Is this erratum for a specific endpoint behavior? - Mani
> -----Original Message----- > From: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > Sent: 2025年4月2日 15:08 > To: Hongxing Zhu <hongxing.zhu@nxp.com> > Cc: Frank Li <frank.li@nxp.com>; l.stach@pengutronix.de; lpieralisi@kernel.org; > kw@linux.com; robh@kernel.org; bhelgaas@google.com; > shawnguo@kernel.org; s.hauer@pengutronix.de; kernel@pengutronix.de; > festevam@gmail.com; linux-pci@vger.kernel.org; > linux-arm-kernel@lists.infradead.org; imx@lists.linux.dev; > linux-kernel@vger.kernel.org > Subject: Re: [PATCH v3 3/6] PCI: imx6: Workaround i.MX95 PCIe may not exit L23 > ready > > On Fri, Mar 28, 2025 at 11:02:10AM +0800, Richard Zhu wrote: > > ERR051624: The Controller Without Vaux Cannot Exit L23 Ready Through > > Beacon or PERST# De-assertion > > Is it possible to share the link to the erratum? > Sorry, the erratum document isn't ready to be published yet. > > > > When the auxiliary power is not available, the controller cannot exit > > from > > L23 Ready with beacon or PERST# de-assertion when main power is not > > removed. > > > > I don't understand how the presence of Vaux affects the controller. Same goes > for PERST# deassertion. How does that relate to Vaux? Is this erratum for a > specific endpoint behavior? IMHO I don't know the exact details of the power supplies in this IP design. Refer to my guess , maybe the beacon detect or wake-up logic in designs is relied on the status of SYS_AUX_PWR_DET signals in this case. Best Regards Richard Zhu > > - Mani > > -- > மணிவண்ணன் சதாசிவம்
On Wed, Apr 02, 2025 at 07:59:26AM +0000, Hongxing Zhu wrote: > > -----Original Message----- > > From: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > > Sent: 2025年4月2日 15:08 > > To: Hongxing Zhu <hongxing.zhu@nxp.com> > > Cc: Frank Li <frank.li@nxp.com>; l.stach@pengutronix.de; lpieralisi@kernel.org; > > kw@linux.com; robh@kernel.org; bhelgaas@google.com; > > shawnguo@kernel.org; s.hauer@pengutronix.de; kernel@pengutronix.de; > > festevam@gmail.com; linux-pci@vger.kernel.org; > > linux-arm-kernel@lists.infradead.org; imx@lists.linux.dev; > > linux-kernel@vger.kernel.org > > Subject: Re: [PATCH v3 3/6] PCI: imx6: Workaround i.MX95 PCIe may not exit L23 > > ready > > > > On Fri, Mar 28, 2025 at 11:02:10AM +0800, Richard Zhu wrote: > > > ERR051624: The Controller Without Vaux Cannot Exit L23 Ready Through > > > Beacon or PERST# De-assertion > > > > Is it possible to share the link to the erratum? > > > Sorry, the erratum document isn't ready to be published yet. > > > > > > When the auxiliary power is not available, the controller cannot exit > > > from > > > L23 Ready with beacon or PERST# de-assertion when main power is not > > > removed. > > > > > > > I don't understand how the presence of Vaux affects the controller. Same goes > > for PERST# deassertion. How does that relate to Vaux? Is this erratum for a > > specific endpoint behavior? > IMHO I don't know the exact details of the power supplies in this IP design. > Refer to my guess , maybe the beacon detect or wake-up logic in designs is > relied on the status of SYS_AUX_PWR_DET signals in this case. Can you please try to get more details? I couldn't understand the errata. - Mani
> -----Original Message----- > From: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > Sent: 2025年4月2日 23:18 > To: Hongxing Zhu <hongxing.zhu@nxp.com> > Cc: Frank Li <frank.li@nxp.com>; l.stach@pengutronix.de; lpieralisi@kernel.org; > kw@linux.com; robh@kernel.org; bhelgaas@google.com; > shawnguo@kernel.org; s.hauer@pengutronix.de; kernel@pengutronix.de; > festevam@gmail.com; linux-pci@vger.kernel.org; > linux-arm-kernel@lists.infradead.org; imx@lists.linux.dev; > linux-kernel@vger.kernel.org > Subject: Re: [PATCH v3 3/6] PCI: imx6: Workaround i.MX95 PCIe may not exit L23 > ready > > On Wed, Apr 02, 2025 at 07:59:26AM +0000, Hongxing Zhu wrote: > > > -----Original Message----- > > > From: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > > > Sent: 2025年4月2日 15:08 > > > To: Hongxing Zhu <hongxing.zhu@nxp.com> > > > Cc: Frank Li <frank.li@nxp.com>; l.stach@pengutronix.de; > > > lpieralisi@kernel.org; kw@linux.com; robh@kernel.org; > > > bhelgaas@google.com; shawnguo@kernel.org; s.hauer@pengutronix.de; > > > kernel@pengutronix.de; festevam@gmail.com; > > > linux-pci@vger.kernel.org; linux-arm-kernel@lists.infradead.org; > > > imx@lists.linux.dev; linux-kernel@vger.kernel.org > > > Subject: Re: [PATCH v3 3/6] PCI: imx6: Workaround i.MX95 PCIe may > > > not exit L23 ready > > > > > > On Fri, Mar 28, 2025 at 11:02:10AM +0800, Richard Zhu wrote: > > > > ERR051624: The Controller Without Vaux Cannot Exit L23 Ready > > > > Through Beacon or PERST# De-assertion > > > > > > Is it possible to share the link to the erratum? > > > > > Sorry, the erratum document isn't ready to be published yet. > > > > > > > > When the auxiliary power is not available, the controller cannot > > > > exit from > > > > L23 Ready with beacon or PERST# de-assertion when main power is > > > > not removed. > > > > > > > > > > I don't understand how the presence of Vaux affects the controller. > > > Same goes for PERST# deassertion. How does that relate to Vaux? Is > > > this erratum for a specific endpoint behavior? > > IMHO I don't know the exact details of the power supplies in this IP design. > > Refer to my guess , maybe the beacon detect or wake-up logic in > > designs is relied on the status of SYS_AUX_PWR_DET signals in this case. > > Can you please try to get more details? I couldn't understand the errata. > Sure. Will contact designer and try to get more details. Best Regards Richard Zhu > - Mani > > -- > மணிவண்ணன் சதாசிவம்
diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index 6051b3b5928f..82402e52eff2 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -48,6 +48,8 @@ #define IMX95_PCIE_SS_RW_REG_0 0xf0 #define IMX95_PCIE_REF_CLKEN BIT(23) #define IMX95_PCIE_PHY_CR_PARA_SEL BIT(9) +#define IMX95_PCIE_SS_RW_REG_1 0xf4 +#define IMX95_PCIE_SYS_AUX_PWR_DET BIT(31) #define IMX95_PE0_GEN_CTRL_1 0x1050 #define IMX95_PCIE_DEVICE_TYPE GENMASK(3, 0) @@ -227,6 +229,19 @@ static unsigned int imx_pcie_grp_offset(const struct imx_pcie *imx_pcie) static int imx95_pcie_init_phy(struct imx_pcie *imx_pcie) { + /* + * ERR051624: The Controller Without Vaux Cannot Exit L23 Ready + * Through Beacon or PERST# De-assertion + * + * When the auxiliary power is not available, the controller + * cannot exit from L23 Ready with beacon or PERST# de-assertion + * when main power is not removed. + * + * Workaround: Set SS_RW_REG_1[SYS_AUX_PWR_DET] to 1. + */ + regmap_set_bits(imx_pcie->iomuxc_gpr, IMX95_PCIE_SS_RW_REG_1, + IMX95_PCIE_SYS_AUX_PWR_DET); + regmap_update_bits(imx_pcie->iomuxc_gpr, IMX95_PCIE_SS_RW_REG_0, IMX95_PCIE_PHY_CR_PARA_SEL,