[U-Boot] i.MX6: u-boot,dm-pre-reloc block U-Boot

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
--- 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.
But with un-marking "u-boot,dm-pre-reloc" from 'aips1' node and build u-boot works fine, and the same can unallocated gpio1 in during SPL bind.
thanks!

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?
--- 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?
Thanks and regards, Lokesh
But with un-marking "u-boot,dm-pre-reloc" from 'aips1' node and build u-boot works fine, and the same can unallocated gpio1 in during SPL bind.
thanks!

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.
--- 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.
thanks!

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?
Thanks and regards, Lokesh

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
[1] https://paste.ubuntu.com/24543685/
thanks!

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.
thanks!

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?
[1] http://patchwork.ozlabs.org/patch/760592/
Thanks and regards, Lokesh

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.
thanks!

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.
thanks!

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.
Regards, Simon

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?
thanks!

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
participants (3)
-
Jagan Teki
-
Lokesh Vutla
-
Simon Glass