1 /*******************************************************************************
2   STMMAC external timer Header File.
3 
4   Copyright (C) 2007-2009  STMicroelectronics Ltd
5 
6   This program is free software; you can redistribute it and/or modify it
7   under the terms and conditions of the GNU General Public License,
8   version 2, as published by the Free Software Foundation.
9 
10   This program is distributed in the hope it will be useful, but WITHOUT
11   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
13   more details.
14 
15   You should have received a copy of the GNU General Public License along with
16   this program; if not, write to the Free Software Foundation, Inc.,
17   51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
18 
19   The full GNU General Public License is included in this distribution in
20   the file called "COPYING".
21 
22   Author: Giuseppe Cavallaro <peppe.cavallaro@st.com>
23 *******************************************************************************/
24 
25 struct stmmac_timer {
26 	void (*timer_start) (unsigned int new_freq);
27 	void (*timer_stop) (void);
28 	unsigned int freq;
29 	unsigned int enable;
30 };
31 
32 /* Open the HW timer device and return 0 in case of success */
33 int stmmac_open_ext_timer(struct net_device *dev, struct stmmac_timer *tm);
34 /* Stop the timer and release it */
35 int stmmac_close_ext_timer(void);
36 /* Function used for scheduling task within the stmmac */
37 void stmmac_schedule(struct net_device *dev);
38 
39 #if defined(CONFIG_STMMAC_TMU_TIMER)
40 extern int tmu2_register_user(void *fnt, void *data);
41 extern void tmu2_unregister_user(void);
42 #endif
43