[U-Boot] i.MX6: u-boot,dm-pre-reloc block U-Boot
Jagan Teki
jagannadh.teki at gmail.com
Thu May 11 08:10:47 UTC 2017
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.
thanks!
--
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.
More information about the U-Boot
mailing list