[U-Boot] [RESEND PATCH v2 12/13] davinci: omapl138-lcdk: enable driver-model in SPL

Bartosz Golaszewski brgl at bgdev.pl
Wed Nov 13 10:52:36 UTC 2019


pon., 11 lis 2019 o 13:58 Adam Ford <aford173 at gmail.com> napisał(a):
>
> On Fri, Nov 8, 2019 at 11:59 AM Bartosz Golaszewski <brgl at bgdev.pl> wrote:
> >
> > pt., 8 lis 2019 o 18:33 Bartosz Golaszewski
> > <bgolaszewski at baylibre.com> napisał(a):
> > >
> > > pt., 8 lis 2019 o 17:14 Adam Ford <aford173 at gmail.com> napisał(a):
> > > >
> > > > On Fri, Nov 8, 2019 at 9:50 AM Bartosz Golaszewski
> > > > <bgolaszewski at baylibre.com> wrote:
> > > > >
> > > > > pt., 25 paź 2019 o 18:10 Bartosz Golaszewski <brgl at bgdev.pl> napisał(a):
> > > > > >
> > > > > > czw., 26 wrz 2019 o 01:21 Faiz Abbas <faiz_abbas at ti.com> napisał(a):
> > > > > > >
> > > > > > > Hi,
> > > > > > >
> > > > > > > On 29/07/19 12:28 PM, Bartosz Golaszewski wrote:
> > > > > > > > From: Bartosz Golaszewski <bgolaszewski at baylibre.com>
> > > > > > > >
> > > > > > > > Enable CONFIG_SPL_DM and enable the driver model for serial by defining
> > > > > > > > an appropriate device in the board file for da850-lcdk.
> > > > > > > >
> > > > > > >
> > > > > > > This breaks booting from MMC on omapl138_lcdk. You didn't add a
> > > > > > > U_BOOT_DEVICE for the mmc node.
> > > > > > >
> > > > > > > Thanks,
> > > > > > > Faiz
> > > > > >
> > > > > > Just letting you know I haven't forgotten about this. I finally got
> > > > > > some time to work on it this week, but it turned out to be
> > > > > > non-trivial, as for some reason the set_cmd mmc callback is not being
> > > > > > properly assigned in SPL with driver-model and I couldn't find out why
> > > > > > so far. Next week I'm at ELCE, but I'll be back at it on Thursday. I'm
> > > > > > not sure if you want to revert the offending patch for now or this can
> > > > > > wait for another week?
> > > > > >
> > > > > > Best regards,
> > > > > > Bartosz Golaszewski
> > > > >
> > > > > I've been working on this some more this week and noticed that in SPL
> > > > > for some reason the bind function of the mmc driver is not called
> > > > > (despite the driver being probed fine), but so far I've been unable to
> > > > > figure out why exactly. This is the reason for the failure as the mmc
> > > > > is not properly setup but the mmc core thinks it is and tries using
> > > > > it.
> > > > >
> > > > > I've tried both using a U_BOOT_DEVICE() defined in the board file or
> > > > > adding the mmc node to arch/arm/dts/da850-lcdk-u-boot.dtsi.
> > > > >
> > > > > Adam: you know davinci's SPL pretty well - do you have any suggestions?
> > > >
> > > > I am not sure that I know it well.  It's just one of several TI
> > > > platforms that I support for Logic PD.
> > > >
> > > > Two thoughts I had:  There are aliases setup for various peripherals
> > > > but I am not seeing one for mmc0 = &mmc1.  I a not sure if it will
> > > > help or not but it is different I see.
> > > >
> > >
> > > I'm having the same problem even when I'm defining the device using
> > > U_BOOT_DEVICE() in the relevant board file.
> > >
> > > > There is also a function void board_boot_order (u32 *spl_boot_list)
> > > > which can force the system to boot from a given device (ie, MMC1).
> > > > It's an optional function, but it's a quick and dirty option to try.
> > > >
> > >
> > > Thanks, I'll take a look at that.
> >
> > It's still the same, no matter what order I specify here.
> >
> > One thing that bothers me is: if I manually call mmc_bind() from probe
> > instead of the bind() callback, it fails with ENOMEM on memory
> > allocation when creating the block device. I'm wondering if it has
> > something to do with the simple malloc we're using now.
>
> Over the weekend, I sent a series of patches.  One of them, [1], was
> to increase the size of the available RAM before relocation. I believe
> i doubled the amount from 1k to 2k.
>
> Can you see if the ENMOM error still exists?
>

Hi Adam,

thanks a lot, this helps with memory. I can even boot from mmc if I
manually call mmc_bind() from probe, but the bind callback is still
not called even with DM_FLAG_PRE_RELOC added to mmc driver's flags.

I'm still working on it though, must be some minor detail.

Bart

> [1] - https://patchwork.ozlabs.org/patch/1192574/
>
> adam
> >
> > Bart
> >
> > >
> > > > What are the jumper settings to boot from SD,  I have an lcdk I can
> > > > try when I have some time.  It's not an official board I can support,
> > > > but I can tinker when I'm off the clock.
> > > >
> > >
> > > When looking at the board with the ethernet port in the upper-right
> > > corner the jumpers should be like this:
> > >
> > >     ---^----
> > >
> > > You can flash the .ais image onto an SD card with the following command:
> > >
> > >     dd if=u-boot.ais of=<sdcard> seek=117 bs=512 conv=fsync
> > >
> > > Thanks!
> > > Bart


More information about the U-Boot mailing list