[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