[U-Boot] Please pull u-boot-dm

Bin Meng bmeng.cn at gmail.com
Wed Oct 24 13:40:52 UTC 2018


Hi Simon,

On Mon, Oct 22, 2018 at 7:11 PM Tom Rini <trini at konsulko.com> wrote:
>
> On Mon, Oct 22, 2018 at 05:46:20PM +0800, Bin Meng wrote:
> > Hi Simon,
> >
> > On Fri, Oct 19, 2018 at 8:10 PM Tom Rini <trini at konsulko.com> wrote:
> > >
> > > On Thu, Oct 18, 2018 at 09:27:49PM -0600, Simon Glass wrote:
> > > > Hi,
> > > >
> > > > On 17 October 2018 at 11:14, Stephen Warren <swarren at wwwdotorg.org> wrote:
> > > > > On 10/16/18 8:33 PM, Bin Meng wrote:
> > > > >>
> > > > >> On Wed, Oct 17, 2018 at 7:01 AM Bin Meng <bmeng.cn at gmail.com> wrote:
> > > > >>>
> > > > >>>
> > > > >>> Hi Stephen,
> > > > >>>
> > > > >>> On Wed, Oct 17, 2018 at 12:27 AM Stephen Warren <swarren at wwwdotorg.org>
> > > > >>> wrote:
> > > > >>>>
> > > > >>>>
> > > > >>>> On 10/15/18 5:43 PM, Bin Meng wrote:
> > > > >>>>>
> > > > >>>>> Hi Stephen,
> > > > >>>>>
> > > > >>>>> On Tue, Oct 16, 2018 at 6:43 AM Stephen Warren <swarren at wwwdotorg.org>
> > > > >>>>> wrote:
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>> On 10/15/18 3:53 PM, Stephen Warren wrote:
> > > > >>>>>>>
> > > > >>>>>>> On 10/15/18 2:17 PM, Simon Glass wrote:
> > > > >>>>>>>>
> > > > >>>>>>>> Hi Tom,
> > > > >>>>>>>>
> > > > >>>>>>>> The following changes since commit
> > > > >>>>>>>> 6e7a186dc5d50f563e224e9ae7be70defff7ee0d:
> > > > >>>>>>>>
> > > > >>>>>>>>      Merge tag 'arc-more-updates-for-2018.11-rc2-2' of
> > > > >>>>>>>> git://git.denx.de/u-boot-arc (2018-10-15 07:20:07 -0400)
> > > > >>>>>>>>
> > > > >>>>>>>> are available in the Git repository at:
> > > > >>>>>>>>
> > > > >>>>>>>>      git://git.denx.de/u-boot-dm.git tags/pull-15oct-18
> > > > >>>>>>>>
> > > > >>>>>>>> for you to fetch changes up to
> > > > >>>>>>>> 02f2d266c75106a2fefd1f4e8e6f703fe00ed21d:
> > > > >>>>>>>>
> > > > >>>>>>>>      buildman: Add a --boards option to specify particular boards to
> > > > >>>>>>>> build (2018-10-15 08:20:43 -0600)
> > > > >>>>>>>
> > > > >>>>>>>
> > > > >>>>>>> There's something wrong with these patches; both Jetson TX1 and
> > > > >>>>>>> Jetson
> > > > >>>>>>> TX2 (both 64-bit ARM without SPL) fail to boot with this branch; the
> > > > >>>>>>> system hangs with no output at all from U-Boot. Jetson TK1 (32-bit
> > > > >>>>>>> ARM
> > > > >>>>>>> with SPL) and sandbox boot fine.
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>> Reverting the following solves the issue:
> > > > >>>>>>
> > > > >>>>>> 1) dm: core: Mirror the chosen node parse logic in the livetree
> > > > >>>>>> scanning
> > > > >>>>>>
> > > > >>>>>> 2) dm: core: Respect drivers with the DM_FLAG_PRE_RELOC flag in
> > > > >>>>>> lists_bind_fdt()
> > > > >>>>>>
> > > > >>>>>> Reverting just (1) or just (2) does not. Can you please take a look?
> > > > >>>>>> Thanks.
> > > > >>>>>
> > > > >>>>>
> > > > >>>>> The failure is probably due to some drivers that Tegra uses are not
> > > > >>>>> properly written, ie: these drivers are declared via U_BOOT_DRIVER
> > > > >>>>> with flags DM_FLAG_PRE_RELOC yet it was never working (bound before
> > > > >>>>> relocation) until patch (1) & (2). Now these drivers get bound before
> > > > >>>>> relocation but they were never bound before (assume they were never
> > > > >>>>> required before relocation), so we should identify which driver were
> > > > >>>>> wrongly written, but as a quick solution, can you please enlarge the
> > > > >>>>> CONFIG_SYS_MALLOC_F_LEN of your board and have a try?
> > > > >>>>
> > > > >>>>
> > > > >>>> Yes, bumping CONFIG_SYS_MALLOC_F_LEN from 0x1800 to 0x1a90 solves the
> > > > >>>> issue. Alternatively, removing DM_FLAG_PRE_RELOC in tegra_gpio.c or
> > > > >>>> tegra186_gpio.c (depending on board/SoC) also solves this.
> > > > >>>>
> > > > >>>> I suppose the correct solution is to remove the DM flag from the driver,
> > > > >>>> since if it never used to work before your patches, it's clear that the
> > > > >>>> flag/feature is not actually required.
> > > > >>>
> > > > >>>
> > > > >>> Thank you Stephen. I will prepare a patch to update the tegra*_gpio
> > > > >>> driver.
> > > >
> > > > Thanks Bin,
> > > >
> > > > >>
> > > > >>
> > > > >> Ah, it turns out so many drivers/dts are mis-written ...
> > > > >>
> > > > >> For example, the driver has the DM_FLAG_PRE_RELOC flag, and the dts
> > > > >> file also has "u-boot,dm-pre-reloc". The "u-boot,dm-pre-reloc" must
> > > > >> have been added to workaround the DM bug (fixed in patch 1 & 2
> > > > >> mentioned in this thread). But now since the DM bug has been fixed,
> > > > >> these "u-boot,dm-pre-reloc" properties are really unnecessary but I am
> > > > >> afraid I don't have the knowledge to clean up all of these.
> > > > >>
> > > > >> Of course, I've identified some additional drivers that have
> > > > >> DM_FLAG_PRE_RELOC flag set but dts file doesn't have
> > > > >> "u-boot,dm-pre-reloc". These drivers should be updated to remove the
> > > > >> DM_FLAG_PRE_RELOC flag like the Tegra GPIO drivers.
> > > > >
> > > > >
> > > > > I don't see any cases where u-boot,dm-pre-reloc exists in DT for the Tegra
> > > > > GPIO driver specifically, so I think a simple patch removing the
> > > > > DM_FLAG_PRE_RELOC flag from the two Tegra GPIO drivers would be fine. Of
> > > > > course, I didn't look at any non-Tegra DTs, or at drivers other than Tegra
> > > > > GPIO.
> > > >
> > > > OK.
> > > >
> > > > I tend to agree that it is getting a bit late. I am considering
> > > > delaying this pull request until the next merge window. I still have
> > > > regmap and virtio to bring in. Tom, what do you think?
> > > >
> > >
> > > Start the PR over and look for things it really makes sense to grab at
> > > -rc2 (bugfixes, Kconfig migrations, etc) is what I think we need to do
> > > at this point, thanks!
> >
> > I just realized that without my fix in this PR, some x86 boards just
> > don't boot. I have a series that fixes the x86 boot problem @
> > http://patchwork.ozlabs.org/project/uboot/list/?series=70686.
> >
> > It looks that I have to send out a fix to correct Tegra in this
> > release now, and leave other clean ups in next release. Is that OK?
>
> OK with me.

I spent some time creating a complete patch series [1] which cleans up
all (I hope) DM_FLAG_PRE_RELOC flag usage. That should fix the
reported Tegra issue as well as potential issues on some other boards.

[1] http://patchwork.ozlabs.org/project/uboot/list/?series=72403

Regards,
Bin


More information about the U-Boot mailing list