162306a36Sopenharmony_ci/*
262306a36Sopenharmony_ci * OpenRISC timer API
362306a36Sopenharmony_ci *
462306a36Sopenharmony_ci * Copyright (C) 2017 by Stafford Horne (shorne@gmail.com)
562306a36Sopenharmony_ci *
662306a36Sopenharmony_ci * This file is subject to the terms and conditions of the GNU General Public
762306a36Sopenharmony_ci * License.  See the file "COPYING" in the main directory of this archive
862306a36Sopenharmony_ci * for more details.
962306a36Sopenharmony_ci */
1062306a36Sopenharmony_ci#ifndef __ASM_OR1K_TIME_H
1162306a36Sopenharmony_ci#define __ASM_OR1K_TIME_H
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ciextern void openrisc_clockevent_init(void);
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciextern void openrisc_timer_set(unsigned long count);
1662306a36Sopenharmony_ciextern void openrisc_timer_set_next(unsigned long delta);
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci#ifdef CONFIG_SMP
1962306a36Sopenharmony_ciextern void synchronise_count_master(int cpu);
2062306a36Sopenharmony_ciextern void synchronise_count_slave(int cpu);
2162306a36Sopenharmony_ci#endif
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci#endif /* __ASM_OR1K_TIME_H */
24