123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- /*
- * ARM CMSDK APB timer emulation
- *
- * Copyright (c) 2017 Linaro Limited
- * Written by Peter Maydell
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 or
- * (at your option) any later version.
- */
- #ifndef CMSDK_APB_TIMER_H
- #define CMSDK_APB_TIMER_H
- #include "hw/sysbus.h"
- #include "hw/ptimer.h"
- #include "hw/clock.h"
- #include "qom/object.h"
- #define TYPE_CMSDK_APB_TIMER "cmsdk-apb-timer"
- OBJECT_DECLARE_SIMPLE_TYPE(CMSDKAPBTimer, CMSDK_APB_TIMER)
- /*
- * QEMU interface:
- * + Clock input "pclk": clock for the timer
- * + sysbus MMIO region 0: the register bank
- * + sysbus IRQ 0: timer interrupt TIMERINT
- */
- struct CMSDKAPBTimer {
- /*< private >*/
- SysBusDevice parent_obj;
- /*< public >*/
- MemoryRegion iomem;
- qemu_irq timerint;
- struct ptimer_state *timer;
- Clock *pclk;
- uint32_t ctrl;
- uint32_t value;
- uint32_t reload;
- uint32_t intstatus;
- };
- #endif
|