
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@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@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@gmail.com wrote:
Hi Stephen,
On Wed, Oct 17, 2018 at 12:27 AM Stephen Warren swarren@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@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.