
Hi Jagan,
On 17 May 2017 at 11:18, Jagan Teki jagannadh.teki@gmail.com wrote:
Hi Simon,
On Tue, May 16, 2017 at 5:47 AM, Simon Glass sjg@chromium.org wrote:
Hi,
On 13 May 2017 at 10:15, Jagan Teki jagannadh.teki@gmail.com wrote:
Hi All,
On Thu, May 11, 2017 at 1:40 PM, Jagan Teki jagannadh.teki@gmail.com wrote:
On Thu, May 11, 2017 at 7:39 AM, Lokesh Vutla lokeshvutla@ti.com wrote:
On 5/11/2017 12:52 AM, Jagan Teki wrote:
Hi Lokesh,
On Tue, May 9, 2017 at 10:03 PM, Jagan Teki jagannadh.teki@gmail.com wrote: > On Tue, May 9, 2017 at 8:54 PM, Lokesh Vutla lokeshvutla@ti.com wrote: >> >> >> On Tuesday 09 May 2017 08:37 PM, Jagan Teki wrote: >>> On Tue, May 9, 2017 at 7:49 PM, Lokesh Vutla lokeshvutla@ti.com wrote: >>>> >>>> >>>> On Tuesday 09 May 2017 04:35 PM, Jagan Teki wrote: >>>>> Hi All, >>>>> >>>>> I'm trying to add SPL_OF_CONTROL for i.MX6UL, with usdhc1 and gpio1 >>>>> nodes are marking as "u-boot,dm-pre-reloc" like >>>> >>>> Did you try "u-boot,dm-spl" instead? >>> >>> Yes, no change. >> >> Hmm..Ideally this should have taken effect :( >> >>> >>>> >>>> >>>>> >>>>> --- a/arch/arm/dts/imx6ul.dtsi >>>>> +++ b/arch/arm/dts/imx6ul.dtsi >>>>> @@ -129,6 +129,7 @@ >>>>> }; >>>>> >>>>> soc { >>>>> + u-boot,dm-pre-reloc; >>>>> #address-cells = <1>; >>>>> #size-cells = <1>; >>>>> compatible = "simple-bus"; >>>>> @@ -180,6 +181,7 @@ >>>>> }; >>>>> >>>>> aips1: aips-bus@02000000 { >>>>> + u-boot,dm-pre-reloc; >>>>> compatible = "fsl,aips-bus", "simple-bus"; >>>>> #address-cells = <1>; >>>>> #size-cells = <1>; >>>>> @@ -405,6 +407,7 @@ >>>>> }; >>>>> >>>>> gpio1: gpio@0209c000 { >>>>> + u-boot,dm-pre-reloc; >>>>> compatible = "fsl,imx6ul-gpio", >>>>> "fsl,imx35-gpio"; >>>>> reg = <0x0209c000 0x4000>; >>>>> interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>, >>>>> @@ -724,6 +727,7 @@ >>>>> }; >>>>> >>>>> aips2: aips-bus@02100000 { >>>>> + u-boot,dm-pre-reloc; >>>>> compatible = "fsl,aips-bus", "simple-bus"; >>>>> #address-cells = <1>; >>>>> #size-cells = <1>; >>>>> @@ -781,6 +785,7 @@ >>>>> }; >>>>> >>>>> usdhc1: usdhc@02190000 { >>>>> + u-boot,dm-pre-reloc; >>>>> compatible = "fsl,imx6ul-usdhc", >>>>> "fsl,imx6sx-usdhc"; >>>>> reg = <0x02190000 0x4000>; >>>>> interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; >>>>> >>>>> SPL is loading fine from MMC but block the U-Boot that means we can't >>>>> see U-Boot log on console. >>>> >>>> Any chance you can try enabling early debug? Since enabling pre-reloc is >>>> going for a toss, I guess your malloc size is going for a toss. Can you >>>> try increasing initial malloc size? >>> >>> Yes, I've increased malloc CONFIG_SYS_MALLOC_LEN from 16M to upto 128M >>> but no change. >> >> No, try CONFIG_SYS_MALLOC_F_LEN=0x2000. >> >> Is it possible to check where exactly is it hanged? > > Yes, it hangs while relocating dram[1] and I also observed the main > bus nodes are are 'not found' which I haven't see before and these are > marked 'u-boot,dm-spl' > > uclass_find_device_by_seq: 0 -1 > uclass_find_device_by_seq: 0 0 > - -1 -1 'soc' > - -1 -1 'aips-bus@02000000' > - -1 -1 'aips-bus@02100000' > - not found
Any clue, I still investigating. Look like the node seq numbers which are marked as "u-boot,dm-spl" in SPL are checking before relocating in U-Boot, and they seems not found.
Interestingly I couldn't see any panic or exception, the code ends board_f last line.
Manfred posted a patch[1] stating a similar issue. See if it fixes it?
It's not. I think this hanged at relocation assembly relocate_code or relocate_vectors.
Any help on this, this look relocation is not possible in U-Boot with 'u-boot,dm-pre-reloc' and incidentally removing property from /soc all works fine.
I don't have any idea based on the DM angle. I assume that you have called spi_init() correctly. That patch does seem useful though.
Are you referring this patch "spl: Add spl_early_init()" ? anyway I'm on top of master, result is same. Do you think deleting 'u-boot,dm-pre-reloc' from /soc before moving to U-Boot help?
That effectively removes those devices from driver model before relocation.
But there is a root cause here that I think is worth finding. If you don't have an ICE tool, maybe just use the debug UART?
Regards, Simon