diff options
author | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-05-31 22:53:32 +0000 |
---|---|---|
committer | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-05-31 22:53:32 +0000 |
commit | 0570263dcb87e59113374b8910c30a30c65239d0 (patch) | |
tree | 79869dd51a56339dc9f999947a07664483cc1c47 /target | |
parent | 771bbc30cfc7a288c169fd9cbff9c0d3f7e8afea (diff) |
ar71xx: add AR933x specific glue code for IRQ initialization
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27059 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target')
-rw-r--r-- | target/linux/ar71xx/files/arch/mips/ar71xx/irq.c | 18 | ||||
-rw-r--r-- | target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h | 5 |
2 files changed, 21 insertions, 2 deletions
diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/irq.c b/target/linux/ar71xx/files/arch/mips/ar71xx/irq.c index 12919f7e5..ff4d9ead7 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/irq.c +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/irq.c @@ -232,6 +232,8 @@ static void __init ar71xx_misc_irq_init(void) case AR71XX_SOC_AR7240: case AR71XX_SOC_AR7241: case AR71XX_SOC_AR7242: + case AR71XX_SOC_AR9330: + case AR71XX_SOC_AR9331: case AR71XX_SOC_AR9341: case AR71XX_SOC_AR9342: case AR71XX_SOC_AR9344: @@ -292,15 +294,28 @@ asmlinkage void plat_irq_dispatch(void) void __init arch_init_irq(void) { switch (ar71xx_soc) { + case AR71XX_SOC_AR7130: + case AR71XX_SOC_AR7141: + case AR71XX_SOC_AR7161: + ip2_flush_reg = AR71XX_DDR_REG_FLUSH_PCI; + break; + case AR71XX_SOC_AR7240: case AR71XX_SOC_AR7241: case AR71XX_SOC_AR7242: ip2_flush_reg = AR724X_DDR_REG_FLUSH_PCIE; break; + case AR71XX_SOC_AR9130: case AR71XX_SOC_AR9132: ip2_flush_reg = AR91XX_DDR_REG_FLUSH_WMAC; break; + + case AR71XX_SOC_AR9330: + case AR71XX_SOC_AR9331: + ip2_flush_reg = AR933X_DDR_REG_FLUSH_WMAC; + break; + case AR71XX_SOC_AR9341: case AR71XX_SOC_AR9342: case AR71XX_SOC_AR9344: @@ -308,8 +323,7 @@ void __init arch_init_irq(void) break; default: - ip2_flush_reg = AR71XX_DDR_REG_FLUSH_PCI; - break; + BUG(); } mips_cpu_irq_init(); diff --git a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h index 6d43e2515..84f7c476b 100644 --- a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h +++ b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h @@ -506,6 +506,11 @@ void ar71xx_gpio_function_setup(u32 set, u32 clear); #define AR91XX_DDR_REG_FLUSH_USB 0x84 #define AR91XX_DDR_REG_FLUSH_WMAC 0x88 +#define AR933X_DDR_REG_FLUSH_GE0 0x7c +#define AR933X_DDR_REG_FLUSH_GE1 0x80 +#define AR933X_DDR_REG_FLUSH_USB 0x84 +#define AR933X_DDR_REG_FLUSH_WMAC 0x88 + #define AR934X_DDR_REG_FLUSH_GE0 0x9c #define AR934X_DDR_REG_FLUSH_GE1 0xa0 #define AR934X_DDR_REG_FLUSH_USB 0xa4 |