/* Implement a timer uclass to work with lib/time.c. The timer is usually a 32/64 bits free-running up counter. The get_rate() method is used to get the input clock frequency of the timer. The get_count() method is used to get the current 64 bits count value. If the hardware is counting down, the value should be inversed inside the method. There may be no real tick, and no timer interrupt.  */
int notrace timer_get_count(struct udevice *dev, u64 *count)
/* Implement a timer uclass to work with lib/time.c. The timer is usually a 32/64 bits free-running up counter. The get_rate() method is used to get the input clock frequency of the timer. The get_count() method is used to get the current 64 bits count value. If the hardware is counting down, the value should be inversed inside the method. There may be no real tick, and no timer interrupt.  */
int notrace timer_get_count(struct udevice *dev, u64 *count)
{
	const struct timer_ops *ops = device_get_ops(dev);
	if (!ops->get_count)
		return -ENOSYS;
	return ops->get_count(dev, count);
}