[PATCH v2] rockchip: timer: add OF_PLATDATA support for dw-apb-timer

Simon Glass sjg at chromium.org
Thu Jan 6 08:06:05 CET 2022


Hi Johan,

On Wed, 5 Jan 2022 at 09:40, Johan Jonker <jbx6244 at gmail.com> wrote:
>
> Hi Simon,
>
> Thanks you for your comments.
> Shown below are the objdump results of the full U-boot binary
> dw_apb_timer_of_to_plat() function.
> Same goes for the dw_apb_timer_probe() function.
> With if (IS_ENABLED(OF_REAL)) I don't get a useful timer result (boot

You need CONFIG_IS_ENABLED(OF_REAL)

(please could you avoid top posting?)

Regards,
Simon

> hangs after timer probe, because in full U-boot the reg value isn't
> correct defined. Part of the init probe is missing.
>
> Could you try it yourself?
> Please advise what options we have.
>
> Kind regards,
>
> Johan Jonker
>
> ==========================================================================
> Patch version 1 with if (IS_ENABLED(OF_REAL)) {}:
>
> arm-linux-gnueabihf-objdump -d drivers/timer/dw-apb-timer.o >
> ../dw-apb-timer-20220105-v1.asm
>
>
> 00000000 <dw_apb_timer_of_to_plat>:
>    0:   2000            movs    r0, #0
>    2:   4770            bx      lr
>
> arm-linux-gnueabihf-objdump -d spl/drivers/timer/dw-apb-timer.o >
> ../dw-apb-timer-20220105-spl-v1.asm
> arm-linux-gnueabihf-objdump -d tpl/drivers/timer/dw-apb-timer.o >
> ../dw-apb-timer-20220105-tpl-v1.asm
> ==========================================================================
> patch version 2 with #if CONFIG_IS_ENABLED(OF_REAL):
>
> arm-linux-gnueabihf-objdump -d drivers/timer/dw-apb-timer.o > ../dw-apb-
> timer-20220105-v2.asm
>
> 00000000 <dw_apb_timer_of_to_plat>:
>    0:   b538            push    {r3, r4, r5, lr}
>    2:   4605            mov     r5, r0
>    4:   f7ff fffe       bl      0 <dev_get_priv>
>    8:   4604            mov     r4, r0
>    a:   4628            mov     r0, r5
>    c:   f7ff fffe       bl      0 <devfdt_get_addr>
>   10:   6020            str     r0, [r4, #0]
>   12:   2000            movs    r0, #0
>   14:   bd38            pop     {r3, r4, r5, pc}
>
> arm-linux-gnueabihf-objdump -d spl/drivers/timer/dw-apb-timer.o >
> ../dw-apb-timer-20220105-spl-v2.asm
> arm-linux-gnueabihf-objdump -d tpl/drivers/timer/dw-apb-timer.o >
> ../dw-apb-timer-20220105-tpl-v2.asm
>
> ===========================================================================
>
> On 1/5/22 3:03 PM, Simon Glass wrote:
> > Hi Johan,
> >
> > On Tue, 4 Jan 2022 at 19:15, Johan Jonker <jbx6244 at gmail.com> wrote:
> >>
> >> The Rockchip rk3066 SoC has 3 dw-apb-timer nodes.
> >> U-boot is compiled with OF_PLATDATA TPL/SPL options,
> >> so add OF_PLATDATA support for the dw-apb-timer.
> >> Also change driver name to be able to compile with
> >> U-boot scripts. No reset OF_PLATDATA support was added,
> >> because the rk3066 nodes don't need/have them.
> >>
> >> Signed-off-by: Johan Jonker <jbx6244 at gmail.com>
> >> ---
> >>
> >> Changed V2:
> >>   replace if (IS_ENABLED(OF_REAL)) by #if CONFIG_IS_ENABLED(OF_REAL)
> >> ---
> >>  drivers/timer/dw-apb-timer.c | 30 +++++++++++++++++++++++++-----
> >>  1 file changed, 25 insertions(+), 5 deletions(-)
> >>
> >
> > This seems OK but you have included unrelated changes (whitespace)
> > which should go in a separate patch.
>
> OK
> With whitespace did you mean this or something else?
>
> -       .of_to_plat = dw_apb_timer_of_to_plat,
> +       .of_to_plat     = dw_apb_timer_of_to_plat,
>
> >
> > Can you use if() instead of #if for the CONFIG_IS_ENABLED(OF_REAL) ?
>
> See comments above.
> Currently not it seems.
>
> >
> > Regards,
> > Simon
> >


More information about the U-Boot mailing list