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

Jagan Teki jagannadh.teki at gmail.com
Sat May 13 16:15:26 UTC 2017


Hi All,

On Thu, May 11, 2017 at 1:40 PM, Jagan Teki <jagannadh.teki at gmail.com> wrote:
> On Thu, May 11, 2017 at 7:39 AM, Lokesh Vutla <lokeshvutla at 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 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.
>>
>> 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!
-- 
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.


More information about the U-Boot mailing list