[U-Boot] [PATCH] db410c: set clk node to be probed before relocation

Jorge Ramirez-Ortiz jramirez at baylibre.com
Fri Apr 20 11:14:34 UTC 2018


On 04/20/2018 01:02 PM, Ramon Fried wrote:
> On 18 April 2018 at 13:15, Jorge Ramirez-Ortiz <jramirez at baylibre.com> wrote:
>> On 04/18/2018 09:02 AM, Jorge Ramirez-Ortiz wrote:
>>> On 04/17/2018 02:01 PM, Ramon Fried wrote:
>>>> The clock node is used by the serial driver and it's needed
>>>> before relocation.
>>>> This patch ensures that the msm-serial driver can actually
>>>> use the clock node.
>>>>
>>>> Signed-off-by: Ramon Fried <ramon.fried at linaro.org>
>>>> ---
>>>>    arch/arm/dts/dragonboard410c.dts | 2 ++
>>>>    1 file changed, 2 insertions(+)
>>>>
>>>> diff --git a/arch/arm/dts/dragonboard410c.dts
>>>> b/arch/arm/dts/dragonboard410c.dts
>>>> index 5ccfe7f8c8..f37ef5d523 100644
>>>> --- a/arch/arm/dts/dragonboard410c.dts
>>>> +++ b/arch/arm/dts/dragonboard410c.dts
>>>> @@ -38,12 +38,14 @@
>>>>            #size-cells = <0x1>;
>>>>            ranges = <0x0 0x0 0x0 0xffffffff>;
>>>>            compatible = "simple-bus";
>>>> +        u-boot,dm-pre-reloc;
>>>
>>> I think the intent is to make dm-pre-reloc legacy.
>>> New platforms should be using "u-boot,dm-spl" even if CONFIG_SPL_BUILD is
>>> not enabled (I believe it should work)
>>>
>>>>              clkc: qcom,gcc at 1800000 {
>>>>                compatible = "qcom,gcc-apq8016";
>>>>                reg = <0x1800000 0x80000>;
>>>>                #address-cells = <0x1>;
>>>>                #size-cells = <0x0>;
>>>> +            u-boot,dm-pre-reloc;
>>>>            };
>>>>              serial at 78b0000 {
>>>
>> another question is, how will you probe the clock driver before the uart?
>> I think even if you probed in misc_init_f it is already too late.
>>
>> other than that - + Peter Robinson's comments- looks good.
>>
> The clock is probed because the uart driver asks for it. it's actually
> already exists in the code, but wasn't used because
> the clock wasn't set to dm-pre-reloc

um, are you sure? that is not what I see during my tests but I could be 
wrong - or something else might be happening in uboot

you can create a misc_init_f for the board that retrieves the clock 
driver by name and forces a probe; I can see that the probe happens (ie, 
the DM_FLAG_ACTIVATED was _not_ set for that driver) which is not what I 
believe you expect since you want the clock driver to be probed before 
the uart.

Good news is that since misc_init_f runs before relocation you can check 
that GD_FLG_RELOC was not set either so it is indeed being probed before 
relocation (which makes sense after adding the reloc property).

maybe you can have a look?




More information about the U-Boot mailing list