1// SPDX-License-Identifier: GPL-2.0+
2/*
3 *
4 * Copyright (C) 2004-2007, 2012 Freescale Semiconductor, Inc.
5 * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
6 */
7
8/* CPU specific interrupt routine */
9#include <irq_func.h>
10#include <asm/immap.h>
11#include <asm/io.h>
12
13int interrupt_init(void)
14{
15	int0_t *intp = (int0_t *) (CFG_SYS_INTR_BASE);
16
17	/* Make sure all interrupts are disabled */
18	setbits_be32(&intp->imrh0, 0xffffffff);
19	setbits_be32(&intp->imrl0, 0xffffffff);
20
21	enable_interrupts();
22	return 0;
23}
24
25#if CONFIG_IS_ENABLED(MCFTMR)
26void dtimer_intr_setup(void)
27{
28	int0_t *intp = (int0_t *) (CFG_SYS_INTR_BASE);
29
30	out_8(&intp->icr0[CFG_SYS_TMRINTR_NO], CFG_SYS_TMRINTR_PRI);
31	clrbits_be32(&intp->imrh0, CFG_SYS_TMRINTR_MASK);
32}
33#endif
34