1819833afSPeter Tyser /* 2819833afSPeter Tyser * (C) Copyright 2007 Michal Simek 3819833afSPeter Tyser * 4819833afSPeter Tyser * Michal SIMEK <monstr@monstr.cz> 5819833afSPeter Tyser * 6*1a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 7819833afSPeter Tyser */ 8819833afSPeter Tyser 9819833afSPeter Tyser #define TIMER_ENABLE_ALL 0x400 /* ENALL */ 10819833afSPeter Tyser #define TIMER_PWM 0x200 /* PWMA0 */ 11819833afSPeter Tyser #define TIMER_INTERRUPT 0x100 /* T0INT */ 12819833afSPeter Tyser #define TIMER_ENABLE 0x080 /* ENT0 */ 13819833afSPeter Tyser #define TIMER_ENABLE_INTR 0x040 /* ENIT0 */ 14819833afSPeter Tyser #define TIMER_RESET 0x020 /* LOAD0 */ 15819833afSPeter Tyser #define TIMER_RELOAD 0x010 /* ARHT0 */ 16819833afSPeter Tyser #define TIMER_EXT_CAPTURE 0x008 /* CAPT0 */ 17819833afSPeter Tyser #define TIMER_EXT_COMPARE 0x004 /* GENT0 */ 18819833afSPeter Tyser #define TIMER_DOWN_COUNT 0x002 /* UDT0 */ 19819833afSPeter Tyser #define TIMER_CAPTURE_MODE 0x001 /* MDT0 */ 20819833afSPeter Tyser 21819833afSPeter Tyser typedef volatile struct microblaze_timer_t { 22819833afSPeter Tyser int control; /* control/statuc register TCSR */ 23819833afSPeter Tyser int loadreg; /* load register TLR */ 24819833afSPeter Tyser int counter; /* timer/counter register */ 25819833afSPeter Tyser } microblaze_timer_t; 26bcbb046bSMichal Simek 27bcbb046bSMichal Simek int timer_init(void); 28