]> git.ipfire.org Git - thirdparty/qemu.git/blob - include/hw/rtc/pl031.h
3897b424d400124e8a2376361e99067c57a629b0
[thirdparty/qemu.git] / include / hw / rtc / pl031.h
1 /*
2 * ARM AMBA PrimeCell PL031 RTC
3 *
4 * Copyright (c) 2007 CodeSourcery
5 *
6 * This file is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 * Contributions after 2012-01-13 are licensed under the terms of the
11 * GNU GPL, version 2 or (at your option) any later version.
12 */
13
14 #ifndef HW_RTC_PL031_H
15 #define HW_RTC_PL031_H
16
17 #include "hw/sysbus.h"
18 #include "qemu/timer.h"
19 #include "qom/object.h"
20
21 #define TYPE_PL031 "pl031"
22 typedef struct PL031State PL031State;
23 DECLARE_INSTANCE_CHECKER(PL031State, PL031,
24 TYPE_PL031)
25
26 struct PL031State {
27 SysBusDevice parent_obj;
28
29 MemoryRegion iomem;
30 QEMUTimer *timer;
31 qemu_irq irq;
32
33 /*
34 * Needed to preserve the tick_count across migration, even if the
35 * absolute value of the rtc_clock is different on the source and
36 * destination.
37 */
38 uint32_t tick_offset_vmstate;
39 uint32_t tick_offset;
40 bool tick_offset_migrated;
41 bool migrate_tick_offset;
42
43 uint32_t mr;
44 uint32_t lr;
45 uint32_t cr;
46 uint32_t im;
47 uint32_t is;
48 };
49
50 #endif