diff mbox series

[U-Boot,v1,3/3] ddr: vybrid: Add calibration code to memory controler's (DDRMC) setup code

Message ID 20181202204222.30732-4-lukma@denx.de
State Superseded
Delegated to: Stefano Babic
Headers show
Series ddr: vybrid: Support for vf610 built-in DDR3 memory calibration | expand

Commit Message

Lukasz Majewski Dec. 2, 2018, 8:42 p.m. UTC
This patch extends the vf610 DDR memory controller code to support SW
leveling.

Signed-off-by: Lukasz Majewski <lukma@denx.de>

---

 arch/arm/mach-imx/ddrmc-vf610.c | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Stefan Agner Dec. 3, 2018, 3:55 p.m. UTC | #1
On 02.12.2018 21:42, Lukasz Majewski wrote:
> This patch extends the vf610 DDR memory controller code to support SW
> leveling.
> 
> Signed-off-by: Lukasz Majewski <lukma@denx.de>
> 
> ---
> 
>  arch/arm/mach-imx/ddrmc-vf610.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/arch/arm/mach-imx/ddrmc-vf610.c b/arch/arm/mach-imx/ddrmc-vf610.c
> index ea6a49e0fa..8474023fae 100644
> --- a/arch/arm/mach-imx/ddrmc-vf610.c
> +++ b/arch/arm/mach-imx/ddrmc-vf610.c
> @@ -10,6 +10,9 @@
>  #include <asm/arch/imx-regs.h>
>  #include <asm/arch/iomux-vf610.h>
>  #include <asm/arch/ddrmc-vf610.h>
> +#ifdef CONFIG_DDRMC_VF610_CALIBRATION
> +#include "ddrmc-vf610-calibration.h"
> +#endif

Is this ifdef needed? I think it should be fine to always include...

Otherwise:

Reviewed-by: Stefan Agner <stefan.agner@toradex.com>

--
Stefan


>  
>  void ddrmc_setup_iomux(const iomux_v3_cfg_t *pads, int pads_count)
>  {
> @@ -233,4 +236,8 @@ void ddrmc_ctrl_init_ddr3(struct
> ddr3_jedec_timings const *timings,
>  
>  	while (!(readl(&ddrmr->cr[80]) & 0x100))
>  		udelay(10);
> +
> +#ifdef CONFIG_DDRMC_VF610_CALIBRATION
> +	ddrmc_calibration(ddrmr);
> +#endif
>  }
Lukasz Majewski Dec. 3, 2018, 5:07 p.m. UTC | #2
On Mon, 03 Dec 2018 16:55:13 +0100
Stefan Agner <stefan@agner.ch> wrote:

> On 02.12.2018 21:42, Lukasz Majewski wrote:
> > This patch extends the vf610 DDR memory controller code to support
> > SW leveling.
> > 
> > Signed-off-by: Lukasz Majewski <lukma@denx.de>
> > 
> > ---
> > 
> >  arch/arm/mach-imx/ddrmc-vf610.c | 7 +++++++
> >  1 file changed, 7 insertions(+)
> > 
> > diff --git a/arch/arm/mach-imx/ddrmc-vf610.c
> > b/arch/arm/mach-imx/ddrmc-vf610.c index ea6a49e0fa..8474023fae
> > 100644 --- a/arch/arm/mach-imx/ddrmc-vf610.c
> > +++ b/arch/arm/mach-imx/ddrmc-vf610.c
> > @@ -10,6 +10,9 @@
> >  #include <asm/arch/imx-regs.h>
> >  #include <asm/arch/iomux-vf610.h>
> >  #include <asm/arch/ddrmc-vf610.h>
> > +#ifdef CONFIG_DDRMC_VF610_CALIBRATION
> > +#include "ddrmc-vf610-calibration.h"
> > +#endif  
> 
> Is this ifdef needed? I think it should be fine to always include...

Ok, I will remove it - indeed it is not necessary.

> 
> Otherwise:
> 
> Reviewed-by: Stefan Agner <stefan.agner@toradex.com>
> 
> --
> Stefan
> 
> 
> >  
> >  void ddrmc_setup_iomux(const iomux_v3_cfg_t *pads, int pads_count)
> >  {
> > @@ -233,4 +236,8 @@ void ddrmc_ctrl_init_ddr3(struct
> > ddr3_jedec_timings const *timings,
> >  
> >  	while (!(readl(&ddrmr->cr[80]) & 0x100))
> >  		udelay(10);
> > +
> > +#ifdef CONFIG_DDRMC_VF610_CALIBRATION
> > +	ddrmc_calibration(ddrmr);
> > +#endif
> >  }  




Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de
diff mbox series

Patch

diff --git a/arch/arm/mach-imx/ddrmc-vf610.c b/arch/arm/mach-imx/ddrmc-vf610.c
index ea6a49e0fa..8474023fae 100644
--- a/arch/arm/mach-imx/ddrmc-vf610.c
+++ b/arch/arm/mach-imx/ddrmc-vf610.c
@@ -10,6 +10,9 @@ 
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/iomux-vf610.h>
 #include <asm/arch/ddrmc-vf610.h>
+#ifdef CONFIG_DDRMC_VF610_CALIBRATION
+#include "ddrmc-vf610-calibration.h"
+#endif
 
 void ddrmc_setup_iomux(const iomux_v3_cfg_t *pads, int pads_count)
 {
@@ -233,4 +236,8 @@  void ddrmc_ctrl_init_ddr3(struct ddr3_jedec_timings const *timings,
 
 	while (!(readl(&ddrmr->cr[80]) & 0x100))
 		udelay(10);
+
+#ifdef CONFIG_DDRMC_VF610_CALIBRATION
+	ddrmc_calibration(ddrmr);
+#endif
 }