On 25/06/20 2:52 PM, Tom Rini wrote:
> On Thu, Jun 25, 2020 at 02:52:58PM +0000, Ludwig Zenz 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!
>> >

I can remove the above defines from include/configs/dh_imx6.h when I add the 
following patch:

include/config_uncmd_spl.h
@@ -14,6 +14,7 @@
 #undef CONFIG_DM_SERIAL
 #undef CONFIG_DM_I2C
 #undef CONFIG_DM_SPI
+#undef CONFIG_DM_SPI_FLASH
 #endif

>>
>> 
>> 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?
>
>Ah, so you've not done any SPL DM migration.
>
>So there's two paths here.  Path 1, the config header snippet that got things 
>rolling here does need to be removed as "no DM SPI in SPL" means 
>CONFIG_SPL_DM_SPI=n and not "CONFIG_DM_SPI=n if CONFIG_SPL_BUILD".  We are not 
>now, and are not at the point where we can say we will be at some future 
>point, saying everyone must use DM in SPL.  You may want to examine the 
>.config you get today from running dh_imx6_defconfig and seeing what 
>can/should be disabled, if anything, that's an unexpected enabled option.  
>Path 2, look at something like mx6cuboxi and convert to CONFIG_SPL_DM=y
>

The CONFIG_SPL_DM_SPI is not in the .config of my build. The little patch for 
include/config_uncmd_spl.h from above allows me to clean up dh_imx6.h.

Remark on path 2: mx6cuboxi avoids gpio usage in spl for some reason. We need 
gpio support to detect the DDR3 size. I would like to go with path 1.

How can I check if adding CONFIG_DM_SPI_FLASH to include/config_uncmd_spl.h 
causes problems for other boards?

regards,
Ludwig

Reply via email to