1 /* 2 * (C) Copyright 2007 Michal Simek 3 * 4 * Michal SIMEK <monstr@monstr.cz> 5 * 6 * SPDX-License-Identifier: GPL-2.0+ 7 */ 8 9 #define TIMER_ENABLE_ALL 0x400 /* ENALL */ 10 #define TIMER_PWM 0x200 /* PWMA0 */ 11 #define TIMER_INTERRUPT 0x100 /* T0INT */ 12 #define TIMER_ENABLE 0x080 /* ENT0 */ 13 #define TIMER_ENABLE_INTR 0x040 /* ENIT0 */ 14 #define TIMER_RESET 0x020 /* LOAD0 */ 15 #define TIMER_RELOAD 0x010 /* ARHT0 */ 16 #define TIMER_EXT_CAPTURE 0x008 /* CAPT0 */ 17 #define TIMER_EXT_COMPARE 0x004 /* GENT0 */ 18 #define TIMER_DOWN_COUNT 0x002 /* UDT0 */ 19 #define TIMER_CAPTURE_MODE 0x001 /* MDT0 */ 20 21 typedef volatile struct microblaze_timer_t { 22 int control; /* control/statuc register TCSR */ 23 int loadreg; /* load register TLR */ 24 int counter; /* timer/counter register */ 25 } microblaze_timer_t; 26 27 int timer_init(void); 28 29