23 lines
737 B
C

/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
/*
* Copyright (c) 2023 Rockchip Electronics Co., Ltd.
*/
#ifndef __ROCKCHIP_HPTIEMR_H__
#define __ROCKCHIP_HPTIEMR_H__
enum rk_hptimer_mode_t {
RK_HPTIMER_NORM_MODE = 0,
RK_HPTIMER_HARD_ADJUST_MODE = 1,
RK_HPTIMER_SOFT_ADJUST_MODE = 2,
};
int rk_hptimer_is_enabled(void __iomem *base);
int rk_hptimer_get_mode(void __iomem *base);
u64 rk_hptimer_get_count(void __iomem *base);
int rk_hptimer_wait_mode(void __iomem *base, enum rk_hptimer_mode_t mode);
void rk_hptimer_do_soft_adjust(void __iomem *base, u32 hf, u32 lf);
void rk_hptimer_do_soft_adjust_no_wait(void __iomem *base, u32 hf, u32 lf);
void rk_hptimer_mode_init(void __iomem *base, enum rk_hptimer_mode_t mode);
#endif