mirror of https://gitee.com/openkylin/linux.git
mxc: turn to soc specific init_irq functions
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
12308dfe37
commit
c5aa0ad0c5
|
@ -45,3 +45,9 @@ void __init mx1_map_io(void)
|
|||
|
||||
iotable_init(imx_io_desc, ARRAY_SIZE(imx_io_desc));
|
||||
}
|
||||
|
||||
void __init mx1_init_irq(void)
|
||||
{
|
||||
mxc_init_irq(IO_ADDRESS(AVIC_BASE_ADDR));
|
||||
}
|
||||
|
||||
|
|
|
@ -151,7 +151,7 @@ MACHINE_START(MX1ADS, "Freescale MX1ADS")
|
|||
.io_pg_offst = (IMX_IO_BASE >> 18) & 0xfffc,
|
||||
.boot_params = PHYS_OFFSET + 0x100,
|
||||
.map_io = mx1_map_io,
|
||||
.init_irq = mxc_init_irq,
|
||||
.init_irq = mx1_init_irq,
|
||||
.timer = &mx1ads_timer,
|
||||
.init_machine = mx1ads_init,
|
||||
MACHINE_END
|
||||
|
@ -161,7 +161,7 @@ MACHINE_START(MXLADS, "Freescale MXLADS")
|
|||
.io_pg_offst = (IMX_IO_BASE >> 18) & 0xfffc,
|
||||
.boot_params = PHYS_OFFSET + 0x100,
|
||||
.map_io = mx1_map_io,
|
||||
.init_irq = mxc_init_irq,
|
||||
.init_irq = mx1_init_irq,
|
||||
.timer = &mx1ads_timer,
|
||||
.init_machine = mx1ads_init,
|
||||
MACHINE_END
|
||||
|
|
|
@ -154,7 +154,7 @@ MACHINE_START(SCB9328, "Synertronixx scb9328")
|
|||
.io_pg_offst = ((0xe0200000) >> 18) & 0xfffc,
|
||||
.boot_params = 0x08000100,
|
||||
.map_io = mx1_map_io,
|
||||
.init_irq = mxc_init_irq,
|
||||
.init_irq = mx1_init_irq,
|
||||
.timer = &scb9328_timer,
|
||||
.init_machine = scb9328_init,
|
||||
MACHINE_END
|
||||
|
|
|
@ -85,3 +85,13 @@ void __init mx27_map_io(void)
|
|||
iotable_init(mxc_io_desc, ARRAY_SIZE(mxc_io_desc));
|
||||
}
|
||||
|
||||
void __init mx27_init_irq(void)
|
||||
{
|
||||
mxc_init_irq(IO_ADDRESS(AVIC_BASE_ADDR));
|
||||
}
|
||||
|
||||
void __init mx21_init_irq(void)
|
||||
{
|
||||
mx27_init_irq();
|
||||
}
|
||||
|
||||
|
|
|
@ -280,7 +280,7 @@ MACHINE_START(MX21ADS, "Freescale i.MX21ADS")
|
|||
.io_pg_offst = ((AIPI_BASE_ADDR_VIRT) >> 18) & 0xfffc,
|
||||
.boot_params = PHYS_OFFSET + 0x100,
|
||||
.map_io = mx21ads_map_io,
|
||||
.init_irq = mxc_init_irq,
|
||||
.init_irq = mx21_init_irq,
|
||||
.init_machine = mx21ads_board_init,
|
||||
.timer = &mx21ads_timer,
|
||||
MACHINE_END
|
||||
|
|
|
@ -330,7 +330,7 @@ MACHINE_START(MX27ADS, "Freescale i.MX27ADS")
|
|||
.io_pg_offst = ((AIPI_BASE_ADDR_VIRT) >> 18) & 0xfffc,
|
||||
.boot_params = PHYS_OFFSET + 0x100,
|
||||
.map_io = mx27ads_map_io,
|
||||
.init_irq = mxc_init_irq,
|
||||
.init_irq = mx27_init_irq,
|
||||
.init_machine = mx27ads_board_init,
|
||||
.timer = &mx27ads_timer,
|
||||
MACHINE_END
|
||||
|
|
|
@ -89,7 +89,7 @@ MACHINE_START(IMX27LITE, "LogicPD i.MX27LITE")
|
|||
.io_pg_offst = ((AIPI_BASE_ADDR_VIRT) >> 18) & 0xfffc,
|
||||
.boot_params = PHYS_OFFSET + 0x100,
|
||||
.map_io = mx27_map_io,
|
||||
.init_irq = mxc_init_irq,
|
||||
.init_irq = mx27_init_irq,
|
||||
.init_machine = mx27lite_init,
|
||||
.timer = &mx27lite_timer,
|
||||
MACHINE_END
|
||||
|
|
|
@ -89,7 +89,7 @@ MACHINE_START(MX27_3DS, "Freescale MX27PDK")
|
|||
.io_pg_offst = ((AIPI_BASE_ADDR_VIRT) >> 18) & 0xfffc,
|
||||
.boot_params = PHYS_OFFSET + 0x100,
|
||||
.map_io = mx27_map_io,
|
||||
.init_irq = mxc_init_irq,
|
||||
.init_irq = mx27_init_irq,
|
||||
.init_machine = mx27pdk_init,
|
||||
.timer = &mx27pdk_timer,
|
||||
MACHINE_END
|
||||
|
|
|
@ -241,7 +241,7 @@ MACHINE_START(PCM038, "phyCORE-i.MX27")
|
|||
.io_pg_offst = ((AIPI_BASE_ADDR_VIRT) >> 18) & 0xfffc,
|
||||
.boot_params = PHYS_OFFSET + 0x100,
|
||||
.map_io = mx27_map_io,
|
||||
.init_irq = mxc_init_irq,
|
||||
.init_irq = mx27_init_irq,
|
||||
.init_machine = pcm038_init,
|
||||
.timer = &pcm038_timer,
|
||||
MACHINE_END
|
||||
|
|
|
@ -352,7 +352,7 @@ MACHINE_START(ARMADILLO5X0, "Armadillo-500")
|
|||
.io_pg_offst = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
|
||||
.boot_params = PHYS_OFFSET + 0x00000100,
|
||||
.map_io = mx31_map_io,
|
||||
.init_irq = mxc_init_irq,
|
||||
.init_irq = mx31_init_irq,
|
||||
.timer = &armadillo5x0_timer,
|
||||
.init_machine = armadillo5x0_init,
|
||||
MACHINE_END
|
||||
|
|
|
@ -88,6 +88,16 @@ void __init mx35_map_io(void)
|
|||
iotable_init(mxc_io_desc, ARRAY_SIZE(mxc_io_desc));
|
||||
}
|
||||
|
||||
void __init mx31_init_irq(void)
|
||||
{
|
||||
mxc_init_irq(IO_ADDRESS(AVIC_BASE_ADDR));
|
||||
}
|
||||
|
||||
void __init mx35_init_irq(void)
|
||||
{
|
||||
mx31_init_irq();
|
||||
}
|
||||
|
||||
#ifdef CONFIG_CACHE_L2X0
|
||||
static int mxc_init_l2x0(void)
|
||||
{
|
||||
|
|
|
@ -517,7 +517,7 @@ static void __init mx31ads_map_io(void)
|
|||
|
||||
static void __init mx31ads_init_irq(void)
|
||||
{
|
||||
mxc_init_irq();
|
||||
mx31_init_irq();
|
||||
mx31ads_init_expio();
|
||||
}
|
||||
|
||||
|
|
|
@ -148,7 +148,7 @@ MACHINE_START(LILLY1131, "INCO startec LILLY-1131")
|
|||
.io_pg_offst = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
|
||||
.boot_params = PHYS_OFFSET + 0x100,
|
||||
.map_io = mx31_map_io,
|
||||
.init_irq = mxc_init_irq,
|
||||
.init_irq = mx31_init_irq,
|
||||
.init_machine = mx31lilly_board_init,
|
||||
.timer = &mx31lilly_timer,
|
||||
MACHINE_END
|
||||
|
|
|
@ -162,7 +162,7 @@ MACHINE_START(MX31LITE, "LogicPD MX31 LITEKIT")
|
|||
.io_pg_offst = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
|
||||
.boot_params = PHYS_OFFSET + 0x100,
|
||||
.map_io = mx31lite_map_io,
|
||||
.init_irq = mxc_init_irq,
|
||||
.init_irq = mx31_init_irq,
|
||||
.init_machine = mxc_board_init,
|
||||
.timer = &mx31lite_timer,
|
||||
MACHINE_END
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
#include <mach/iomux-mx3.h>
|
||||
#include <mach/i2c.h>
|
||||
#include <mach/mmc.h>
|
||||
#include <mach/mx31.h>
|
||||
|
||||
#include "devices.h"
|
||||
|
||||
|
@ -197,7 +198,7 @@ MACHINE_START(MX31MOBOARD, "EPFL Mobots mx31moboard")
|
|||
.io_pg_offst = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
|
||||
.boot_params = PHYS_OFFSET + 0x100,
|
||||
.map_io = mx31_map_io,
|
||||
.init_irq = mxc_init_irq,
|
||||
.init_irq = mx31_init_irq,
|
||||
.init_machine = mxc_board_init,
|
||||
.timer = &mx31moboard_timer,
|
||||
MACHINE_END
|
||||
|
|
|
@ -265,7 +265,7 @@ MACHINE_START(MX31_3DS, "Freescale MX31PDK (3DS)")
|
|||
.io_pg_offst = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
|
||||
.boot_params = PHYS_OFFSET + 0x100,
|
||||
.map_io = mx31pdk_map_io,
|
||||
.init_irq = mxc_init_irq,
|
||||
.init_irq = mx31_init_irq,
|
||||
.init_machine = mxc_board_init,
|
||||
.timer = &mx31pdk_timer,
|
||||
MACHINE_END
|
||||
|
|
|
@ -98,7 +98,7 @@ MACHINE_START(MX35_3DS, "Freescale MX35PDK")
|
|||
.io_pg_offst = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
|
||||
.boot_params = PHYS_OFFSET + 0x100,
|
||||
.map_io = mx35_map_io,
|
||||
.init_irq = mxc_init_irq,
|
||||
.init_irq = mx35_init_irq,
|
||||
.init_machine = mxc_board_init,
|
||||
.timer = &mx35pdk_timer,
|
||||
MACHINE_END
|
||||
|
|
|
@ -592,7 +592,7 @@ MACHINE_START(PCM037, "Phytec Phycore pcm037")
|
|||
.io_pg_offst = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
|
||||
.boot_params = PHYS_OFFSET + 0x100,
|
||||
.map_io = mx31_map_io,
|
||||
.init_irq = mxc_init_irq,
|
||||
.init_irq = mx31_init_irq,
|
||||
.init_machine = mxc_board_init,
|
||||
.timer = &pcm037_timer,
|
||||
MACHINE_END
|
||||
|
|
|
@ -245,7 +245,7 @@ MACHINE_START(PCM043, "Phytec Phycore pcm043")
|
|||
.io_pg_offst = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
|
||||
.boot_params = PHYS_OFFSET + 0x100,
|
||||
.map_io = mx35_map_io,
|
||||
.init_irq = mxc_init_irq,
|
||||
.init_irq = mx35_init_irq,
|
||||
.init_machine = mxc_board_init,
|
||||
.timer = &pcm043_timer,
|
||||
MACHINE_END
|
||||
|
|
|
@ -280,7 +280,7 @@ MACHINE_START(QONG, "Dave/DENX QongEVB-LITE")
|
|||
.io_pg_offst = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
|
||||
.boot_params = PHYS_OFFSET + 0x100,
|
||||
.map_io = mx31_map_io,
|
||||
.init_irq = mxc_init_irq,
|
||||
.init_irq = mx31_init_irq,
|
||||
.init_machine = mxc_board_init,
|
||||
.timer = &qong_timer,
|
||||
MACHINE_END
|
||||
|
|
|
@ -19,7 +19,12 @@ extern void mx21_map_io(void);
|
|||
extern void mx27_map_io(void);
|
||||
extern void mx31_map_io(void);
|
||||
extern void mx35_map_io(void);
|
||||
extern void mxc_init_irq(void);
|
||||
extern void mxc_init_irq(void __iomem *);
|
||||
extern void mx1_init_irq(void);
|
||||
extern void mx21_init_irq(void);
|
||||
extern void mx27_init_irq(void);
|
||||
extern void mx31_init_irq(void);
|
||||
extern void mx35_init_irq(void);
|
||||
extern void mxc_timer_init(struct clk *timer_clk, void __iomem *, int);
|
||||
extern int mx1_clocks_init(unsigned long fref);
|
||||
extern int mx21_clocks_init(unsigned long lref, unsigned long fref);
|
||||
|
|
|
@ -113,11 +113,11 @@ static struct irq_chip mxc_avic_chip = {
|
|||
* interrupts. It registers the interrupt enable and disable functions
|
||||
* to the kernel for each interrupt source.
|
||||
*/
|
||||
void __init mxc_init_irq(void)
|
||||
void __init mxc_init_irq(void __iomem *irqbase)
|
||||
{
|
||||
int i;
|
||||
|
||||
avic_base = IO_ADDRESS(AVIC_BASE_ADDR);
|
||||
avic_base = irqbase;
|
||||
|
||||
/* put the AVIC into the reset value with
|
||||
* all interrupts disabled
|
||||
|
|
Loading…
Reference in New Issue