1a4145534SPeter Tyser /*
2a4145534SPeter Tyser  *
3*c6d88630SAlison Wang  * Copyright (C) 2004-2007, 2012 Freescale Semiconductor, Inc.
4a4145534SPeter Tyser  * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
5a4145534SPeter Tyser  *
6a4145534SPeter Tyser  * See file CREDITS for list of people who contributed to this
7a4145534SPeter Tyser  * project.
8a4145534SPeter Tyser  *
9a4145534SPeter Tyser  * This program is free software; you can redistribute it and/or
10a4145534SPeter Tyser  * modify it under the terms of the GNU General Public License as
11a4145534SPeter Tyser  * published by the Free Software Foundation; either version 2 of
12a4145534SPeter Tyser  * the License, or (at your option) any later version.
13a4145534SPeter Tyser  *
14a4145534SPeter Tyser  * This program is distributed in the hope that it will be useful,
15a4145534SPeter Tyser  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16a4145534SPeter Tyser  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17a4145534SPeter Tyser  * GNU General Public License for more details.
18a4145534SPeter Tyser  *
19a4145534SPeter Tyser  * You should have received a copy of the GNU General Public License
20a4145534SPeter Tyser  * along with this program; if not, write to the Free Software
21a4145534SPeter Tyser  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
22a4145534SPeter Tyser  * MA 02111-1307 USA
23a4145534SPeter Tyser  */
24a4145534SPeter Tyser 
25a4145534SPeter Tyser /* CPU specific interrupt routine */
26a4145534SPeter Tyser #include <common.h>
27a4145534SPeter Tyser #include <asm/immap.h>
28*c6d88630SAlison Wang #include <asm/io.h>
29a4145534SPeter Tyser 
30a4145534SPeter Tyser int interrupt_init(void)
31a4145534SPeter Tyser {
32*c6d88630SAlison Wang 	int0_t *intp = (int0_t *) (CONFIG_SYS_INTR_BASE);
33a4145534SPeter Tyser 
34a4145534SPeter Tyser 	/* Make sure all interrupts are disabled */
35*c6d88630SAlison Wang 	setbits_be32(&intp->imrl0, 0x1);
36a4145534SPeter Tyser 
37a4145534SPeter Tyser 	enable_interrupts();
38a4145534SPeter Tyser 	return 0;
39a4145534SPeter Tyser }
40a4145534SPeter Tyser 
41a4145534SPeter Tyser #if defined(CONFIG_MCFTMR)
42a4145534SPeter Tyser void dtimer_intr_setup(void)
43a4145534SPeter Tyser {
44*c6d88630SAlison Wang 	int0_t *intp = (int0_t *) (CONFIG_SYS_INTR_BASE);
45a4145534SPeter Tyser 
46*c6d88630SAlison Wang 	out_8(&intp->icr0[CONFIG_SYS_TMRINTR_NO], CONFIG_SYS_TMRINTR_PRI);
47*c6d88630SAlison Wang 	clrbits_be32(&intp->imrl0, INTC_IPRL_INT0);
48*c6d88630SAlison Wang 	clrbits_be32(&intp->imrl0, CONFIG_SYS_TMRINTR_MASK);
49a4145534SPeter Tyser }
50a4145534SPeter Tyser #endif
51