[U-Boot] [PATCH] pci: mx6: fix occasional link failures

Fabio Estevam festevam at gmail.com
Fri Aug 8 15:02:27 CEST 2014


Hi Tim,

On Fri, Aug 8, 2014 at 2:57 AM, Tim Harvey <tharvey at gateworks.com> wrote:
> According to the IMX6 reference manuals, REF_SSP_EN (Reference clock enable
> for SS function) must remain deasserted until the reference clock is running
> at the appropriate frequency.
>
> Without this patch we find a high link failure rate (>5%) on certain
> IMX6 boards at various temperatures.
>
> Signed-off-by: Tim Harvey <tharvey at gateworks.com>

Looks good, thanks.

Reviewed-by: Fabio Estevam <fabio.estevam at freescale.com>

Also Cc Richard and Rogerio in case they have any comment.

> ---
>  drivers/pci/pcie_imx.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/pci/pcie_imx.c b/drivers/pci/pcie_imx.c
> index c48737e..a3982c4 100644
> --- a/drivers/pci/pcie_imx.c
> +++ b/drivers/pci/pcie_imx.c
> @@ -509,10 +509,6 @@ static int imx6_pcie_deassert_core_reset(void)
>
>         imx6_pcie_toggle_power();
>
> -       /* Enable PCIe */
> -       clrbits_le32(&iomuxc_regs->gpr[1], IOMUXC_GPR1_TEST_POWERDOWN);
> -       setbits_le32(&iomuxc_regs->gpr[1], IOMUXC_GPR1_REF_SSP_EN);
> -
>         enable_pcie_clock();
>
>         /*
> @@ -521,6 +517,10 @@ static int imx6_pcie_deassert_core_reset(void)
>          */
>         mdelay(50);
>
> +       /* Enable PCIe */
> +       clrbits_le32(&iomuxc_regs->gpr[1], IOMUXC_GPR1_TEST_POWERDOWN);
> +       setbits_le32(&iomuxc_regs->gpr[1], IOMUXC_GPR1_REF_SSP_EN);
> +
>         imx6_pcie_toggle_reset();
>
>         return 0;


More information about the U-Boot mailing list