[U-Boot] [PATCH 5/6] LS102XA:workaround:disable priorities within DDR

Sinan Akman sinan at writeme.com
Tue Nov 24 17:09:42 CET 2015


   Hi Yuan

On 24/11/15 05:45 AM, Yuan Yao wrote:
> Erratum number: ERR008514
> EDDRTQCFG Registers are Integration Strap values which controls
> performance parameters for DDR Controller.
>
> The bit 25 is used to disable priorities within DDR since DDR
> are connected backwards on Rev2.0 silicon for LS1021A.
>
> Signed-off-by: Yuan Yao <yao.yuan at freescale.com>
> ---
>   arch/arm/cpu/armv7/ls102xa/soc.c | 13 ++++++++++++-
>   1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/cpu/armv7/ls102xa/soc.c b/arch/arm/cpu/armv7/ls102xa/soc.c
> index b15cd60..98d4acd 100644
> --- a/arch/arm/cpu/armv7/ls102xa/soc.c
> +++ b/arch/arm/cpu/armv7/ls102xa/soc.c
> @@ -25,7 +25,7 @@ int arch_soc_init(void)
>   {
>   	struct ccsr_scfg *scfg = (struct ccsr_scfg *)CONFIG_SYS_FSL_SCFG_ADDR;
>   	struct ccsr_cci400 *cci = (struct ccsr_cci400 *)CONFIG_SYS_CCI400_ADDR;
> -	unsigned int major;
> +	unsigned int major, reg;
>
>   #ifdef CONFIG_FSL_QSPI
>   	out_be32(&scfg->qspi_cfg, SCFG_QSPI_CLKSEL);
> @@ -86,5 +86,16 @@ int arch_soc_init(void)
>   	 */
>   	out_be32(&scfg->eddrtqcfg, 0x63b20002);
>
> +	/*
> +	 * EDDRTQCFG Registers are Integration Strap values which controls
> +	 * performance parameters for DDR Controller.
> +	 * The bit 25 is used for disable priorities within DDR.
> +	 * This is a workaround because of the DDR are connected backwards
> +	 * on Rev2.0.

   Would this cause any problem with Rev1.0 ?
If it does, should we check the revision here.

   Regards
   Sinan Akman

> +	 */
> +	reg = in_be32(&scfg->eddrtqcfg);
> +	reg |= 1 << 6;
> +	out_be32(&scfg->eddrtqcfg, reg);
> +
>   	return 0;
>   }
>


More information about the U-Boot mailing list