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

Simon Glass sjg at chromium.org
Wed Oct 24 14:33:01 UTC 2018


Hi Tom,

On 24 October 2018 at 08:28, Bin Meng <bmeng.cn at gmail.com> wrote:
> Hi Simon,
>
> On Wed, Oct 24, 2018 at 10:14 PM Simon Glass <sjg at chromium.org> wrote:
>>
>> Hi Tom,
>>
>> On 19 October 2018 at 06:10, 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!
>>
>> Just to follow up, I really don't see anything that fits that category.
>>
>> Bin, are any of your patches necessary for this release to actually fix boards?
>>
>
> Do you mean VirtIO patches? If we can get that merged, that will be
> great! We can mention a feature-rich support of QEMU RISC-V as so far
> it only has a serial port :)

I didn't mean that. Since it is fairly self-contained I could pull it
in if Tom agrees. If I did I suppose there are a few more patches that
might qualify.

Regards,
Simon


More information about the U-Boot mailing list