[U-Boot] [RFC Patch 2/5] driver: ddr: fsl_mmdc: Pass board parameters through data structure

Prabhakar Kushwaha prabhakar.kushwaha at nxp.com
Thu Sep 22 05:04:31 CEST 2016


> -----Original Message-----
> From: U-Boot [mailto:u-boot-bounces at lists.denx.de] On Behalf Of York Sun
> Sent: Thursday, September 22, 2016 4:21 AM
> To: trini at konsulko.com
> Cc: u-boot at lists.denx.de
> Subject: [U-Boot] [RFC Patch 2/5] driver: ddr: fsl_mmdc: Pass board parameters
> through data structure
> 
> Instead of using multiple macros, a data structure is used to pass
> board-specific parameters to MMDC DDR driver.
> 
> Signed-off-by: York Sun <york.sun at nxp.com>
> CC: Shengzhou Liu <Shengzhou.Liu at nxp.com>


I doubt if it is one of the reason for root-cause.
May not be part of this patch set


> ---
>  board/freescale/ls1012afrdm/ls1012afrdm.c | 18 ++++++++++++++-
>  board/freescale/ls1012aqds/ls1012aqds.c   | 18 ++++++++++++++-
>  board/freescale/ls1012ardb/ls1012ardb.c   | 18 ++++++++++++++-
>  drivers/ddr/fsl/fsl_mmdc.c                | 38 +++++++++++++++----------------
>  include/configs/ls1012afrdm.h             | 16 -------------
>  include/configs/ls1012aqds.h              | 16 -------------
>  include/configs/ls1012ardb.h              | 15 ------------
>  include/fsl_mmdc.h                        | 21 +++++++++++++----
>  8 files changed, 87 insertions(+), 73 deletions(-)
> 
> diff --git a/board/freescale/ls1012afrdm/ls1012afrdm.c
> b/board/freescale/ls1012afrdm/ls1012afrdm.c
> index d644e94..b03bdb8 100644
> --- a/board/freescale/ls1012afrdm/ls1012afrdm.c
> +++ b/board/freescale/ls1012afrdm/ls1012afrdm.c
> @@ -26,7 +26,23 @@ int checkboard(void)
> 
>  int dram_init(void)
>  {
> -	mmdc_init();
> +	static const struct fsl_mmdc_info mparam = {
> +		0x04180000,	/* mdctl */
> +		0x00030035,	/* mdpdc */
> +		0x12554000,	/* mdotc */
> +		0xbabf7954,	/* mdcfg0 */
> +		0xdb328f64,	/* mdcfg1 */
> +		0x01ff00db,	/* mdcfg2 */
> +		0x00001680,	/* mdmisc */
> +		0x0f3c8000,	/* mdref */
> +		0x00002000,	/* mdrwd */
> +		0x00bf1023,	/* mdor */
> +		0x0000003f,	/* mdasp */
> +		0x0000022a,	/* mpodtctrl */
> +		0xa1390003,	/* mpzqhwctrl */
> +	};
> +
> +	mmdc_init(&mparam);
> 

Why cannot #define directly be used in fsl_mmdc.c.

If objective is to remove #define from board file, they even be required to avoid magic numbers. 

-prabhakar


More information about the U-Boot mailing list