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

Jagan Teki jagannadh.teki at gmail.com
Wed May 10 19:22:50 UTC 2017


Hi Lokesh,

On Tue, May 9, 2017 at 10:03 PM, Jagan Teki <jagannadh.teki at gmail.com> wrote:
> On Tue, May 9, 2017 at 8:54 PM, Lokesh Vutla <lokeshvutla at 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 at 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 at 02000000 {
>>>>> +                       u-boot,dm-pre-reloc;
>>>>>                         compatible = "fsl,aips-bus", "simple-bus";
>>>>>                         #address-cells = <1>;
>>>>>                         #size-cells = <1>;
>>>>> @@ -405,6 +407,7 @@
>>>>>                         };
>>>>>
>>>>>                         gpio1: gpio at 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 at 02100000 {
>>>>> +                       u-boot,dm-pre-reloc;
>>>>>                         compatible = "fsl,aips-bus", "simple-bus";
>>>>>                         #address-cells = <1>;
>>>>>                         #size-cells = <1>;
>>>>> @@ -781,6 +785,7 @@
>>>>>                         };
>>>>>
>>>>>                         usdhc1: usdhc at 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 at 02000000'
>    - -1 -1 'aips-bus at 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!
-- 
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.


More information about the U-Boot mailing list