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

Adam Ford aford173 at gmail.com
Mon Nov 11 12:57:52 UTC 2019


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?

[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