[PATCH 03/16] dh_imx6: Switch to full DM-aware

Simon Glass sjg at chromium.org
Thu Jun 25 19:22:08 CEST 2020


Hi Ludwig,

On Thu, 25 Jun 2020 at 08:53, Ludwig Zenz <lzenz at dh-electronics.com> wrote:
>
> On 22/06/20 9:38 AM, Tom Rini wrote:
> > On Mon, Jun 22, 2020 at 09:38:36AM +0000, Ludwig Zenz wrote:
> >
> >> On 6/13/20 3:55 PM, Jagan Teki wrote:
> >> > Enable DM_SPI/DM_SPI_FLASH with a related config option.
> >> >
> >> > Build fine, but not tested.
> >>
> >> Hello,
> >>
> >> due to memory limitations in the SRAM of the i.MX6S in SPL we have not used the device tree. Have the restrictions been removed in the meantime? We need a single binary for the i.MX6 q/d/dl/s variants of our system on module.
> >>
> >> I think this patch breaks the board support for our module.
> >
> > I _think_ i.MX is making use of the generic hooks to cause build time failures when we grow too large.  And we have addressed some, but not all of the concerns about DM size.  Can you please test this patch?  If it doesn't work doing:
> >
> >> > diff --git a/include/configs/dh_imx6.h b/include/configs/dh_imx6.h
> >> > index 5bfdf4044b..5fb84f72a2 100644
> >> > --- a/include/configs/dh_imx6.h
> >> > +++ b/include/configs/dh_imx6.h
> >> > @@ -53,12 +53,6 @@
> >> >  /* SATA Configs */
> >> >  #define CONFIG_LBA48
> >> >
> >> > -/* SPI Flash Configs */
> >> > -#if defined(CONFIG_SPL_BUILD)
> >> > -#undef CONFIG_DM_SPI
> >> > -#undef CONFIG_DM_SPI_FLASH
> >> > -#endif
> >
> > is still needed as we have a symbol to control DM SPI in SPL directly so the above isn't doing what you imply you want.  Thanks!
> >
> >
>
> With the above patch the board hangs after printing "U-Boot SPL 2020.07-rc5-38776-g922c6d5d009-dirty (Jun 25 2020 - 16:34:23 +0200)".
>
> Through some debugging i found the board hangs on calling gpio_request() in dhcom_get_ddr3_code().
>
> Just for testing I skipped dhcom_get_ddr3_code and hardcoded the DDR3 size. Then I get:
>
> Missing DTB
> fdtdec_setup() returned error -1
> ### ERROR ### Please RESET the board ###
>
> Unfortunately I have not found out how the SPL should load the devicetree. Can you give me a hint for this?

The device tree is normally appended to SPL, so it is located by
fdtdec_setup() at __bss_end. See board_fdt_blob_setup().

Regards,
Simon


More information about the U-Boot mailing list