diff mbox series

[RESEND,v1] colibri_imx6: fix broken fsl_esdhc_imx conversion

Message ID 20191206162416.30200-1-igor.opaniuk@gmail.com
State Accepted
Commit bfeaea7d84f0c9d426a36968feadf17e3e344547
Delegated to: Stefano Babic
Headers show
Series [RESEND,v1] colibri_imx6: fix broken fsl_esdhc_imx conversion | expand

Commit Message

Igor Opaniuk Dec. 6, 2019, 4:24 p.m. UTC
From: Igor Opaniuk <igor.opaniuk@toradex.com>

Not all CONFIG_FSL_ESDHC defines were properly replaced with
CONFIG_FSL_ESDHC_IMX, which broke U-boot proper booting on
Colibri iMX6 SoMs.

U-boot is stuck after this message:
Commercial temperature grade DDR3 timings, 64bit bus width.
Trying to boot from MMC1

Fixes: e37ac717d7("Convert to use fsl_esdhc_imx for i.MX platforms")
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
---

 board/toradex/colibri_imx6/colibri_imx6.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Igor Opaniuk Dec. 6, 2019, 4:39 p.m. UTC | #1
Hi Stefano

On Fri, Dec 6, 2019 at 6:24 PM Igor Opaniuk <igor.opaniuk@gmail.com> wrote:
>
> From: Igor Opaniuk <igor.opaniuk@toradex.com>
>
> Not all CONFIG_FSL_ESDHC defines were properly replaced with
> CONFIG_FSL_ESDHC_IMX, which broke U-boot proper booting on
> Colibri iMX6 SoMs.
>
> U-boot is stuck after this message:
> Commercial temperature grade DDR3 timings, 64bit bus width.
> Trying to boot from MMC1
>
> Fixes: e37ac717d7("Convert to use fsl_esdhc_imx for i.MX platforms")
> Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
> ---
>
>  board/toradex/colibri_imx6/colibri_imx6.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/board/toradex/colibri_imx6/colibri_imx6.c b/board/toradex/colibri_imx6/colibri_imx6.c
> index ad40b589c1..44173dde1f 100644
> --- a/board/toradex/colibri_imx6/colibri_imx6.c
> +++ b/board/toradex/colibri_imx6/colibri_imx6.c
> @@ -83,7 +83,7 @@ iomux_v3_cfg_t const uart1_pads[] = {
>         MX6_PAD_CSI0_DAT11__UART1_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL),
>  };
>
> -#if defined(CONFIG_FSL_ESDHC) && defined(CONFIG_SPL_BUILD)
> +#if defined(CONFIG_FSL_ESDHC_IMX) && defined(CONFIG_SPL_BUILD)
>  /* Colibri MMC */
>  iomux_v3_cfg_t const usdhc1_pads[] = {
>         MX6_PAD_SD1_CLK__SD1_CLK    | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> @@ -304,7 +304,7 @@ int board_ehci_hcd_init(int port)
>  }
>  #endif
>
> -#if defined(CONFIG_FSL_ESDHC) && defined(CONFIG_SPL_BUILD)
> +#if defined(CONFIG_FSL_ESDHC_IMX) && defined(CONFIG_SPL_BUILD)
>  /* use the following sequence: eMMC, MMC */
>  struct fsl_esdhc_cfg usdhc_cfg[CONFIG_SYS_FSL_USDHC_NUM] = {
>         {USDHC3_BASE_ADDR},
> --
> 2.17.1
>

I've just found the same fix [1] but from Ricardo with Awaiting upstream status
in patchwork (I thought that he has fixed just Apalis iMX6), but seems
the patch was
lost somewhere, as I can not find it nor in u-boot-imx/next neither
in u-boot-imx/master branches.

[1] https://patchwork.ozlabs.org/patch/1157059/
Lukasz Majewski Dec. 6, 2019, 5:23 p.m. UTC | #2
Hi Igor,

> Hi Stefano
> 
> On Fri, Dec 6, 2019 at 6:24 PM Igor Opaniuk <igor.opaniuk@gmail.com>
> wrote:
> >
> > From: Igor Opaniuk <igor.opaniuk@toradex.com>
> >
> > Not all CONFIG_FSL_ESDHC defines were properly replaced with
> > CONFIG_FSL_ESDHC_IMX, which broke U-boot proper booting on
> > Colibri iMX6 SoMs.
> >
> > U-boot is stuck after this message:
> > Commercial temperature grade DDR3 timings, 64bit bus width.
> > Trying to boot from MMC1
> >
> > Fixes: e37ac717d7("Convert to use fsl_esdhc_imx for i.MX platforms")
> > Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
> > ---
> >
> >  board/toradex/colibri_imx6/colibri_imx6.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/board/toradex/colibri_imx6/colibri_imx6.c
> > b/board/toradex/colibri_imx6/colibri_imx6.c index
> > ad40b589c1..44173dde1f 100644 ---
> > a/board/toradex/colibri_imx6/colibri_imx6.c +++
> > b/board/toradex/colibri_imx6/colibri_imx6.c @@ -83,7 +83,7 @@
> > iomux_v3_cfg_t const uart1_pads[] = {
> > MX6_PAD_CSI0_DAT11__UART1_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL), };
> >
> > -#if defined(CONFIG_FSL_ESDHC) && defined(CONFIG_SPL_BUILD)
> > +#if defined(CONFIG_FSL_ESDHC_IMX) && defined(CONFIG_SPL_BUILD)
> >  /* Colibri MMC */
> >  iomux_v3_cfg_t const usdhc1_pads[] = {
> >         MX6_PAD_SD1_CLK__SD1_CLK    | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> > @@ -304,7 +304,7 @@ int board_ehci_hcd_init(int port)
> >  }
> >  #endif
> >
> > -#if defined(CONFIG_FSL_ESDHC) && defined(CONFIG_SPL_BUILD)
> > +#if defined(CONFIG_FSL_ESDHC_IMX) && defined(CONFIG_SPL_BUILD)
> >  /* use the following sequence: eMMC, MMC */
> >  struct fsl_esdhc_cfg usdhc_cfg[CONFIG_SYS_FSL_USDHC_NUM] = {
> >         {USDHC3_BASE_ADDR},
> > --
> > 2.17.1
> >  
> 
> I've just found the same fix [1] but from Ricardo with Awaiting
> upstream status in patchwork (I thought that he has fixed just Apalis
> iMX6), but seems the patch was
> lost somewhere, as I can not find it nor in u-boot-imx/next neither
> in u-boot-imx/master branches.

Thanks for providing the fix (at least for the Toradex boards)

And I do guess that more i.MX6 boards are affected ...

> 
> [1] https://patchwork.ozlabs.org/patch/1157059/
> 


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
Tom Rini Dec. 6, 2019, 6:59 p.m. UTC | #3
On Fri, Dec 06, 2019 at 06:23:09PM +0100, Lukasz Majewski wrote:
> Hi Igor,
> 
> > Hi Stefano
> > 
> > On Fri, Dec 6, 2019 at 6:24 PM Igor Opaniuk <igor.opaniuk@gmail.com>
> > wrote:
> > >
> > > From: Igor Opaniuk <igor.opaniuk@toradex.com>
> > >
> > > Not all CONFIG_FSL_ESDHC defines were properly replaced with
> > > CONFIG_FSL_ESDHC_IMX, which broke U-boot proper booting on
> > > Colibri iMX6 SoMs.
> > >
> > > U-boot is stuck after this message:
> > > Commercial temperature grade DDR3 timings, 64bit bus width.
> > > Trying to boot from MMC1
> > >
> > > Fixes: e37ac717d7("Convert to use fsl_esdhc_imx for i.MX platforms")
> > > Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
> > > ---
> > >
> > >  board/toradex/colibri_imx6/colibri_imx6.c | 4 ++--
> > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/board/toradex/colibri_imx6/colibri_imx6.c
> > > b/board/toradex/colibri_imx6/colibri_imx6.c index
> > > ad40b589c1..44173dde1f 100644 ---
> > > a/board/toradex/colibri_imx6/colibri_imx6.c +++
> > > b/board/toradex/colibri_imx6/colibri_imx6.c @@ -83,7 +83,7 @@
> > > iomux_v3_cfg_t const uart1_pads[] = {
> > > MX6_PAD_CSI0_DAT11__UART1_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL), };
> > >
> > > -#if defined(CONFIG_FSL_ESDHC) && defined(CONFIG_SPL_BUILD)
> > > +#if defined(CONFIG_FSL_ESDHC_IMX) && defined(CONFIG_SPL_BUILD)
> > >  /* Colibri MMC */
> > >  iomux_v3_cfg_t const usdhc1_pads[] = {
> > >         MX6_PAD_SD1_CLK__SD1_CLK    | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> > > @@ -304,7 +304,7 @@ int board_ehci_hcd_init(int port)
> > >  }
> > >  #endif
> > >
> > > -#if defined(CONFIG_FSL_ESDHC) && defined(CONFIG_SPL_BUILD)
> > > +#if defined(CONFIG_FSL_ESDHC_IMX) && defined(CONFIG_SPL_BUILD)
> > >  /* use the following sequence: eMMC, MMC */
> > >  struct fsl_esdhc_cfg usdhc_cfg[CONFIG_SYS_FSL_USDHC_NUM] = {
> > >         {USDHC3_BASE_ADDR},
> > > --
> > > 2.17.1
> > >  
> > 
> > I've just found the same fix [1] but from Ricardo with Awaiting
> > upstream status in patchwork (I thought that he has fixed just Apalis
> > iMX6), but seems the patch was
> > lost somewhere, as I can not find it nor in u-boot-imx/next neither
> > in u-boot-imx/master branches.
> 
> Thanks for providing the fix (at least for the Toradex boards)
> 
> And I do guess that more i.MX6 boards are affected ...

I think there's just one other.  The imx8qm_rom7720_a1 references
CONFIG_FSL_ESDHC still, but I don't see any other i.MX8 platforms doing
anything with the symbol to compare with.
Oliver Graute Dec. 9, 2019, 3:03 p.m. UTC | #4
On 06/12/19, Tom Rini wrote:
> On Fri, Dec 06, 2019 at 06:23:09PM +0100, Lukasz Majewski wrote:
> > Hi Igor,
> > 
> > > Hi Stefano
> > > 
> > > On Fri, Dec 6, 2019 at 6:24 PM Igor Opaniuk <igor.opaniuk@gmail.com>
> > > wrote:
> > > >
> > > > From: Igor Opaniuk <igor.opaniuk@toradex.com>
> > > >
> > > > Not all CONFIG_FSL_ESDHC defines were properly replaced with
> > > > CONFIG_FSL_ESDHC_IMX, which broke U-boot proper booting on
> > > > Colibri iMX6 SoMs.
> > > >
> > > > U-boot is stuck after this message:
> > > > Commercial temperature grade DDR3 timings, 64bit bus width.
> > > > Trying to boot from MMC1
> > > >
> > > > Fixes: e37ac717d7("Convert to use fsl_esdhc_imx for i.MX platforms")
> > > > Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
> > > > ---
> > > >
> > > >  board/toradex/colibri_imx6/colibri_imx6.c | 4 ++--
> > > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/board/toradex/colibri_imx6/colibri_imx6.c
> > > > b/board/toradex/colibri_imx6/colibri_imx6.c index
> > > > ad40b589c1..44173dde1f 100644 ---
> > > > a/board/toradex/colibri_imx6/colibri_imx6.c +++
> > > > b/board/toradex/colibri_imx6/colibri_imx6.c @@ -83,7 +83,7 @@
> > > > iomux_v3_cfg_t const uart1_pads[] = {
> > > > MX6_PAD_CSI0_DAT11__UART1_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL), };
> > > >
> > > > -#if defined(CONFIG_FSL_ESDHC) && defined(CONFIG_SPL_BUILD)
> > > > +#if defined(CONFIG_FSL_ESDHC_IMX) && defined(CONFIG_SPL_BUILD)
> > > >  /* Colibri MMC */
> > > >  iomux_v3_cfg_t const usdhc1_pads[] = {
> > > >         MX6_PAD_SD1_CLK__SD1_CLK    | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> > > > @@ -304,7 +304,7 @@ int board_ehci_hcd_init(int port)
> > > >  }
> > > >  #endif
> > > >
> > > > -#if defined(CONFIG_FSL_ESDHC) && defined(CONFIG_SPL_BUILD)
> > > > +#if defined(CONFIG_FSL_ESDHC_IMX) && defined(CONFIG_SPL_BUILD)
> > > >  /* use the following sequence: eMMC, MMC */
> > > >  struct fsl_esdhc_cfg usdhc_cfg[CONFIG_SYS_FSL_USDHC_NUM] = {
> > > >         {USDHC3_BASE_ADDR},
> > > > --
> > > > 2.17.1
> > > >  
> > > 
> > > I've just found the same fix [1] but from Ricardo with Awaiting
> > > upstream status in patchwork (I thought that he has fixed just Apalis
> > > iMX6), but seems the patch was
> > > lost somewhere, as I can not find it nor in u-boot-imx/next neither
> > > in u-boot-imx/master branches.
> > 
> > Thanks for providing the fix (at least for the Toradex boards)
> > 
> > And I do guess that more i.MX6 boards are affected ...
> 
> I think there's just one other.  The imx8qm_rom7720_a1 references
> CONFIG_FSL_ESDHC still, but I don't see any other i.MX8 platforms doing
> anything with the symbol to compare with.

thx for that hint, so I must replace CONFIG_FSL_ESDHC with
CONFIG_FSL_ESDHC_IMX in board/advantech/imx8qm_rom7720_a1/spl.c ?

Best regards,

Oliver
Tom Rini Dec. 9, 2019, 3:07 p.m. UTC | #5
On Mon, Dec 09, 2019 at 03:03:48PM +0000, Oliver Graute wrote:
> On 06/12/19, Tom Rini wrote:
> > On Fri, Dec 06, 2019 at 06:23:09PM +0100, Lukasz Majewski wrote:
> > > Hi Igor,
> > > 
> > > > Hi Stefano
> > > > 
> > > > On Fri, Dec 6, 2019 at 6:24 PM Igor Opaniuk <igor.opaniuk@gmail.com>
> > > > wrote:
> > > > >
> > > > > From: Igor Opaniuk <igor.opaniuk@toradex.com>
> > > > >
> > > > > Not all CONFIG_FSL_ESDHC defines were properly replaced with
> > > > > CONFIG_FSL_ESDHC_IMX, which broke U-boot proper booting on
> > > > > Colibri iMX6 SoMs.
> > > > >
> > > > > U-boot is stuck after this message:
> > > > > Commercial temperature grade DDR3 timings, 64bit bus width.
> > > > > Trying to boot from MMC1
> > > > >
> > > > > Fixes: e37ac717d7("Convert to use fsl_esdhc_imx for i.MX platforms")
> > > > > Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
> > > > > ---
> > > > >
> > > > >  board/toradex/colibri_imx6/colibri_imx6.c | 4 ++--
> > > > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > > > >
> > > > > diff --git a/board/toradex/colibri_imx6/colibri_imx6.c
> > > > > b/board/toradex/colibri_imx6/colibri_imx6.c index
> > > > > ad40b589c1..44173dde1f 100644 ---
> > > > > a/board/toradex/colibri_imx6/colibri_imx6.c +++
> > > > > b/board/toradex/colibri_imx6/colibri_imx6.c @@ -83,7 +83,7 @@
> > > > > iomux_v3_cfg_t const uart1_pads[] = {
> > > > > MX6_PAD_CSI0_DAT11__UART1_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL), };
> > > > >
> > > > > -#if defined(CONFIG_FSL_ESDHC) && defined(CONFIG_SPL_BUILD)
> > > > > +#if defined(CONFIG_FSL_ESDHC_IMX) && defined(CONFIG_SPL_BUILD)
> > > > >  /* Colibri MMC */
> > > > >  iomux_v3_cfg_t const usdhc1_pads[] = {
> > > > >         MX6_PAD_SD1_CLK__SD1_CLK    | MUX_PAD_CTRL(USDHC_PAD_CTRL),
> > > > > @@ -304,7 +304,7 @@ int board_ehci_hcd_init(int port)
> > > > >  }
> > > > >  #endif
> > > > >
> > > > > -#if defined(CONFIG_FSL_ESDHC) && defined(CONFIG_SPL_BUILD)
> > > > > +#if defined(CONFIG_FSL_ESDHC_IMX) && defined(CONFIG_SPL_BUILD)
> > > > >  /* use the following sequence: eMMC, MMC */
> > > > >  struct fsl_esdhc_cfg usdhc_cfg[CONFIG_SYS_FSL_USDHC_NUM] = {
> > > > >         {USDHC3_BASE_ADDR},
> > > > > --
> > > > > 2.17.1
> > > > >  
> > > > 
> > > > I've just found the same fix [1] but from Ricardo with Awaiting
> > > > upstream status in patchwork (I thought that he has fixed just Apalis
> > > > iMX6), but seems the patch was
> > > > lost somewhere, as I can not find it nor in u-boot-imx/next neither
> > > > in u-boot-imx/master branches.
> > > 
> > > Thanks for providing the fix (at least for the Toradex boards)
> > > 
> > > And I do guess that more i.MX6 boards are affected ...
> > 
> > I think there's just one other.  The imx8qm_rom7720_a1 references
> > CONFIG_FSL_ESDHC still, but I don't see any other i.MX8 platforms doing
> > anything with the symbol to compare with.
> 
> thx for that hint, so I must replace CONFIG_FSL_ESDHC with
> CONFIG_FSL_ESDHC_IMX in board/advantech/imx8qm_rom7720_a1/spl.c ?

Yes, and confirm that everything works as expected for the appropriate
use cases.  Thanks!
Stefano Babic Dec. 28, 2019, 10:48 a.m. UTC | #6
> From: Igor Opaniuk <igor.opaniuk@toradex.com>
> Not all CONFIG_FSL_ESDHC defines were properly replaced with
> CONFIG_FSL_ESDHC_IMX, which broke U-boot proper booting on
> Colibri iMX6 SoMs.
> U-boot is stuck after this message:
> Commercial temperature grade DDR3 timings, 64bit bus width.
> Trying to boot from MMC1
> Fixes: e37ac717d7("Convert to use fsl_esdhc_imx for i.MX platforms")
> Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic
diff mbox series

Patch

diff --git a/board/toradex/colibri_imx6/colibri_imx6.c b/board/toradex/colibri_imx6/colibri_imx6.c
index ad40b589c1..44173dde1f 100644
--- a/board/toradex/colibri_imx6/colibri_imx6.c
+++ b/board/toradex/colibri_imx6/colibri_imx6.c
@@ -83,7 +83,7 @@  iomux_v3_cfg_t const uart1_pads[] = {
 	MX6_PAD_CSI0_DAT11__UART1_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL),
 };
 
-#if defined(CONFIG_FSL_ESDHC) && defined(CONFIG_SPL_BUILD)
+#if defined(CONFIG_FSL_ESDHC_IMX) && defined(CONFIG_SPL_BUILD)
 /* Colibri MMC */
 iomux_v3_cfg_t const usdhc1_pads[] = {
 	MX6_PAD_SD1_CLK__SD1_CLK    | MUX_PAD_CTRL(USDHC_PAD_CTRL),
@@ -304,7 +304,7 @@  int board_ehci_hcd_init(int port)
 }
 #endif
 
-#if defined(CONFIG_FSL_ESDHC) && defined(CONFIG_SPL_BUILD)
+#if defined(CONFIG_FSL_ESDHC_IMX) && defined(CONFIG_SPL_BUILD)
 /* use the following sequence: eMMC, MMC */
 struct fsl_esdhc_cfg usdhc_cfg[CONFIG_SYS_FSL_USDHC_NUM] = {
 	{USDHC3_BASE_ADDR},