[U-Boot] [PATCH 2/7] ARM: BeagleBoard-X15: Enable HW leveling

Dmitry Lifshitz lifshitz at compulab.co.il
Mon Dec 14 14:10:02 CET 2015


Hi Lokesh,

We are working on U-Boot for CompuLab board based on
AM57xx SoC (CL-SOM-AM57x).

We figured out the following note in AM57xx TRM for EMIF register
EMIF_DDR_PHY_CONTROL_1,
bits 25:27 (WRLVL_MASK, RDLVLGATE_MASK, RDLVL_MASK)

"NOTE: Read-Write Leveling is not supported on this
device. Set this value to 0x1."

This contradicts with the following patch, enabling HW leveling for 
BeagleBoard-X15.

Please, advice, if it save and required to apply HW leveling related 
registers settings.

Does DRA7x DDR3 HW leveling code is relevant for AM57xx ?

Thank you,

Dmitry Lifshitz


On 06/03/2015 12:13 PM, Lokesh Vutla wrote:
> Updating EMIF registers to enable HW leveling
> on BeagleBoard-X15.
>
> Signed-off-by: Lokesh Vutla <lokeshvutla at ti.com>
> ---
>   board/ti/beagle_x15/board.c | 26 ++++++++++++++++++--------
>   1 file changed, 18 insertions(+), 8 deletions(-)
>
> diff --git a/board/ti/beagle_x15/board.c b/board/ti/beagle_x15/board.c
> index 75dd8e8..76654c8 100644
> --- a/board/ti/beagle_x15/board.c
> +++ b/board/ti/beagle_x15/board.c
> @@ -55,15 +55,15 @@ static const struct emif_regs beagle_x15_emif1_ddr3_532mhz_emif_regs = {
>   	.read_idle_ctrl		= 0x00050001,
>   	.zq_config		= 0x0007190b,
>   	.temp_alert_config	= 0x00000000,
> -	.emif_ddr_phy_ctlr_1_init = 0x0e24400a,
> -	.emif_ddr_phy_ctlr_1	= 0x0e24400a,
> +	.emif_ddr_phy_ctlr_1_init = 0x0024400b,
> +	.emif_ddr_phy_ctlr_1	= 0x0e24400b,
>   	.emif_ddr_ext_phy_ctrl_1 = 0x10040100,
>   	.emif_ddr_ext_phy_ctrl_2 = 0x00740074,
>   	.emif_ddr_ext_phy_ctrl_3 = 0x00780078,
>   	.emif_ddr_ext_phy_ctrl_4 = 0x007c007c,
>   	.emif_ddr_ext_phy_ctrl_5 = 0x007b007b,
>   	.emif_rd_wr_lvl_rmp_win	= 0x00000000,
> -	.emif_rd_wr_lvl_rmp_ctl	= 0x00000000,
> +	.emif_rd_wr_lvl_rmp_ctl	= 0x80000000,
>   	.emif_rd_wr_lvl_ctl	= 0x00000000,
>   	.emif_rd_wr_exec_thresh	= 0x00000305
>   };
> @@ -103,7 +103,12 @@ static const u32 beagle_x15_emif1_ddr3_ext_phy_ctrl_const_regs[] = {
>   	0x00400040,
>   	0x00400040,
>   	0x00400040,
> -	0x00400040
> +	0x00400040,
> +	0x0,
> +	0x0,
> +	0x0,
> +	0x0,
> +	0x0
>   };
>
>   static const struct emif_regs beagle_x15_emif2_ddr3_532mhz_emif_regs = {
> @@ -118,15 +123,15 @@ static const struct emif_regs beagle_x15_emif2_ddr3_532mhz_emif_regs = {
>   	.read_idle_ctrl		= 0x00050001,
>   	.zq_config		= 0x0007190b,
>   	.temp_alert_config	= 0x00000000,
> -	.emif_ddr_phy_ctlr_1_init = 0x0e24400a,
> -	.emif_ddr_phy_ctlr_1	= 0x0e24400a,
> +	.emif_ddr_phy_ctlr_1_init = 0x0024400b,
> +	.emif_ddr_phy_ctlr_1	= 0x0e24400b,
>   	.emif_ddr_ext_phy_ctrl_1 = 0x10040100,
>   	.emif_ddr_ext_phy_ctrl_2 = 0x00820082,
>   	.emif_ddr_ext_phy_ctrl_3 = 0x008b008b,
>   	.emif_ddr_ext_phy_ctrl_4 = 0x00800080,
>   	.emif_ddr_ext_phy_ctrl_5 = 0x007e007e,
>   	.emif_rd_wr_lvl_rmp_win	= 0x00000000,
> -	.emif_rd_wr_lvl_rmp_ctl	= 0x00000000,
> +	.emif_rd_wr_lvl_rmp_ctl	= 0x80000000,
>   	.emif_rd_wr_lvl_ctl	= 0x00000000,
>   	.emif_rd_wr_exec_thresh	= 0x00000305
>   };
> @@ -163,7 +168,12 @@ static const u32 beagle_x15_emif2_ddr3_ext_phy_ctrl_const_regs[] = {
>   	0x00400040,
>   	0x00400040,
>   	0x00400040,
> -	0x00400040
> +	0x00400040,
> +	0x0,
> +	0x0,
> +	0x0,
> +	0x0,
> +	0x0
>   };
>
>   void emif_get_reg_dump(u32 emif_nr, const struct emif_regs **regs)
>



More information about the U-Boot mailing list