[PATCH] omap: timer: implement timer_get_boot_us

Christian Gmeiner christian.gmeiner at gmail.com
Tue Jan 11 07:50:20 CET 2022


Hi

Gentle ping.

>
> To make the OMAP DM timer driver useful for the timing of
> bootstages, we need to implement timer_get_boot_us(..).
>
> Signed-off-by: Christian Gmeiner <christian.gmeiner at gmail.com>
> ---
>  drivers/timer/omap-timer.c | 21 +++++++++++++++++++++
>  1 file changed, 21 insertions(+)
>
> diff --git a/drivers/timer/omap-timer.c b/drivers/timer/omap-timer.c
> index 721e385fd1..25a6108fef 100644
> --- a/drivers/timer/omap-timer.c
> +++ b/drivers/timer/omap-timer.c
> @@ -83,6 +83,27 @@ static int omap_timer_of_to_plat(struct udevice *dev)
>         return 0;
>  }
>
> +#if CONFIG_IS_ENABLED(BOOTSTAGE)
> +ulong timer_get_boot_us(void)
> +{
> +       u64 ticks = 0;
> +       u32 rate = 1;
> +       u64 us;
> +       int ret;
> +
> +       ret = dm_timer_init();
> +       if (!ret) {
> +               /* The timer is available */
> +               rate = timer_get_rate(gd->timer);
> +               timer_get_count(gd->timer, &ticks);
> +       } else {
> +               return 0;
> +       }
> +
> +       us = (ticks * 1000) / rate;
> +       return us;
> +}
> +#endif
>
>  static const struct timer_ops omap_timer_ops = {
>         .get_count = omap_timer_get_count,
> --
> 2.33.1
>


-- 
greets
--
Christian Gmeiner, MSc

https://christian-gmeiner.info/privacypolicy


More information about the U-Boot mailing list