diff options
| author | Sean Anderson <[email protected]> | 2020-09-28 10:52:22 -0400 |
|---|---|---|
| committer | Andes <[email protected]> | 2020-09-30 08:54:45 +0800 |
| commit | 3576121687965ffe580fc44f5dd1d8e9ab434c5b (patch) | |
| tree | 7c9b33bba348375cd647da2f7f03891b34b9622e /include/timer.h | |
| parent | c33efafaf949ef11fc525cd5be018ea48c40898c (diff) | |
timer: Add helper for drivers using timebase fallback
This function is designed to be used when a timer used to be initialized by
the cpu (e.g. RISC-V timers), but now is initialized by dm_timer_init. In
such a case, the timer may prefer to use the clocks and clock-frequency
properties, but should be able to fall back on using the cpu's
timebase-frequency.
Signed-off-by: Sean Anderson <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
Reviewed-by: Bin Meng <[email protected]>
Reviewed-by: Rick Chen <[email protected]>
Diffstat (limited to 'include/timer.h')
| -rw-r--r-- | include/timer.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/timer.h b/include/timer.h index a49b500ce35..8b9fa51c53d 100644 --- a/include/timer.h +++ b/include/timer.h @@ -15,6 +15,21 @@ */ int dm_timer_init(void); +/** + * timer_timebase_fallback() - Helper for timers using timebase fallback + * @dev: A timer partially-probed timer device + * + * This is a helper function designed for timers which need to fall back on the + * cpu's timebase. This function is designed to be called during the driver's + * probe(). If there is a clocks or clock-frequency property in the timer's + * binding, then it will be used. Otherwise, the timebase of the current cpu + * will be used. This is initialized by the cpu driver, and usually gotten from + * ``/cpus/timebase-frequency`` or ``/cpus/cpu@X/timebase-frequency``. + * + * Return: 0 if OK, or negative error code on failure + */ +int timer_timebase_fallback(struct udevice *dev); + /* * timer_conv_64 - convert 32-bit counter value to 64-bit * |
