[U-Boot] [PATCH v2 2/4] davinci: omapl138_lcdk: configure ddr2

Tom Rini trini at konsulko.com
Tue Nov 22 19:10:28 CET 2016


On Tue, Nov 22, 2016 at 06:13:31PM +0100, Fabien Parent wrote:

> The SPL is unable to load u-boot because the DDR2 is not configured.
> Configure the DDR2.
> 
> Signed-off-by: Fabien Parent <fparent at baylibre.com>
> ---
> 
> V1 -> V2
> 
>     * New patch
> 
> ---
>  include/configs/omapl138_lcdk.h | 42 +++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 42 insertions(+)
> 
> diff --git a/include/configs/omapl138_lcdk.h b/include/configs/omapl138_lcdk.h
> index ce3a8f4..2cdf892 100644
> --- a/include/configs/omapl138_lcdk.h
> +++ b/include/configs/omapl138_lcdk.h
> @@ -31,6 +31,7 @@
>  #define CONFIG_SYS_HZ_CLOCK		clk_get(DAVINCI_AUXCLK_CLKID)
>  #define CONFIG_SYS_HZ			1000
>  #define CONFIG_SYS_DA850_PLL_INIT
> +#define CONFIG_SYS_DA850_DDR_INIT
>  #define CONFIG_SKIP_LOWLEVEL_INIT
>  #define CONFIG_SYS_TEXT_BASE		0xc1080000

This would be "easy" to move to Kconfig, so please do.

> @@ -80,6 +81,47 @@
>  #define CONFIG_SYS_DA850_PLL1_PLLM     21
>  
>  /*
> + * DDR2 memory configuration
> + */
> +#define CONFIG_SYS_DA850_DDR2_DDRPHYCR (DV_DDR_PHY_PWRDNEN | \
> +					DV_DDR_PHY_EXT_STRBEN | \
> +					(0x5 << DV_DDR_PHY_RD_LATENCY_SHIFT))
> +
> +#define CONFIG_SYS_DA850_DDR2_SDBCR (		  \
> +	(1 << DV_DDR_SDCR_DDR2EN_SHIFT)		| \
> +	(1 << DV_DDR_SDCR_DDREN_SHIFT)		| \
> +	(1 << DV_DDR_SDCR_SDRAMEN_SHIFT)	| \
> +	(1 << DV_DDR_SDCR_BUS_WIDTH_SHIFT)	| \
> +	(4 << DV_DDR_SDCR_CL_SHIFT)		| \
> +	(3 << DV_DDR_SDCR_IBANK_SHIFT)		| \
> +	(2 << DV_DDR_SDCR_PAGESIZE_SHIFT))
> +
> +/* SDBCR2 is only used if IBANK_POS bit in SDBCR is set */
> +#define CONFIG_SYS_DA850_DDR2_SDBCR2 0
> +
> +#define CONFIG_SYS_DA850_DDR2_SDTIMR (		  \
> +	(19 << DV_DDR_SDTMR1_RFC_SHIFT)		| \
> +	(1 << DV_DDR_SDTMR1_RP_SHIFT)		| \
> +	(1 << DV_DDR_SDTMR1_RCD_SHIFT)		| \
> +	(2 << DV_DDR_SDTMR1_WR_SHIFT)		| \
> +	(6 << DV_DDR_SDTMR1_RAS_SHIFT)		| \
> +	(8 << DV_DDR_SDTMR1_RC_SHIFT)		| \
> +	(1 << DV_DDR_SDTMR1_RRD_SHIFT)		| \
> +	(1 << DV_DDR_SDTMR1_WTR_SHIFT))
> +
> +#define CONFIG_SYS_DA850_DDR2_SDTIMR2 (		  \
> +	(7 << DV_DDR_SDTMR2_RASMAX_SHIFT)	| \
> +	(2 << DV_DDR_SDTMR2_XP_SHIFT)		| \
> +	(0 << DV_DDR_SDTMR2_ODT_SHIFT)		| \
> +	(10 << DV_DDR_SDTMR2_XSNR_SHIFT)	| \
> +	(199 << DV_DDR_SDTMR2_XSRD_SHIFT)	| \
> +	(1 << DV_DDR_SDTMR2_RTP_SHIFT)		| \
> +	(2 << DV_DDR_SDTMR2_CKE_SHIFT))
> +
> +#define CONFIG_SYS_DA850_DDR2_SDRCR    0x00000492
> +#define CONFIG_SYS_DA850_DDR2_PBBPR    0x30

This is a little harder.  I think this should be done more like
arch/arm/include/asm/arch-omap3/mem.h:#define where we name-space the
values that we construct based on the part (maker and size/speed).  Do
you have time to look into this migration?  Thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20161122/541d0f1c/attachment.sig>


More information about the U-Boot mailing list