1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * goldfish-timer clocksource 4 * Registers definition for the goldfish-timer device 5 */ 6 7 #ifndef _CLOCKSOURCE_TIMER_GOLDFISH_H 8 #define _CLOCKSOURCE_TIMER_GOLDFISH_H 9 10 /* 11 * TIMER_TIME_LOW get low bits of current time and update TIMER_TIME_HIGH 12 * TIMER_TIME_HIGH get high bits of time at last TIMER_TIME_LOW read 13 * TIMER_ALARM_LOW set low bits of alarm and activate it 14 * TIMER_ALARM_HIGH set high bits of next alarm 15 * TIMER_IRQ_ENABLED enable alarm interrupt 16 * TIMER_CLEAR_ALARM disarm an existing alarm 17 * TIMER_ALARM_STATUS alarm status (running or not) 18 * TIMER_CLEAR_INTERRUPT clear interrupt 19 */ 20 #define TIMER_TIME_LOW 0x00 21 #define TIMER_TIME_HIGH 0x04 22 #define TIMER_ALARM_LOW 0x08 23 #define TIMER_ALARM_HIGH 0x0c 24 #define TIMER_IRQ_ENABLED 0x10 25 #define TIMER_CLEAR_ALARM 0x14 26 #define TIMER_ALARM_STATUS 0x18 27 #define TIMER_CLEAR_INTERRUPT 0x1c 28 29 extern int goldfish_timer_init(int irq, void __iomem *base); 30 31 #endif /* _CLOCKSOURCE_TIMER_GOLDFISH_H */ 32