Changeset 26510


Ignore:
Timestamp:
2011-04-07T22:52:49+02:00 (7 years ago)
Author:
juhosg
Message:

ar71xx: add AR934x specific glue for IRQ initialization

Signed-off-by: Jaiganesh Narayanan <jnarayanan@…>

Location:
trunk/target/linux/ar71xx/files/arch/mips
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/irq.c

    r23975 r26510  
    22 *  Atheros AR71xx SoC specific interrupt handling 
    33 * 
     4 *  Copyright (C) 2010-2011 Jaiganesh Narayanan <jnarayanan@atheros.com> 
    45 *  Copyright (C) 2008-2010 Gabor Juhos <juhosg@openwrt.org> 
    56 *  Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org> 
    67 * 
    7  *  Parts of this file are based on Atheros' 2.6.15 BSP 
     8 *  Parts of this file are based on Atheros 2.6.15 BSP 
     9 *  Parts of this file are based on Atheros 2.6.31 BSP 
    810 * 
    911 *  This program is free software; you can redistribute it and/or modify it 
     
    147149                do_IRQ(AR71XX_MISC_IRQ_WDOG); 
    148150 
     151        else if (pending & MISC_INT_TIMER2) 
     152                do_IRQ(AR71XX_MISC_IRQ_TIMER2); 
     153 
     154        else if (pending & MISC_INT_TIMER3) 
     155                do_IRQ(AR71XX_MISC_IRQ_TIMER3); 
     156 
     157        else if (pending & MISC_INT_TIMER4) 
     158                do_IRQ(AR71XX_MISC_IRQ_TIMER4); 
     159 
     160        else if (pending & MISC_INT_DDR_PERF) 
     161                do_IRQ(AR71XX_MISC_IRQ_DDR_PERF); 
     162 
     163        else if (pending & MISC_INT_ENET_LINK) 
     164                do_IRQ(AR71XX_MISC_IRQ_ENET_LINK); 
     165 
    149166        else 
    150167                spurious_interrupt(); 
     
    216233        case AR71XX_SOC_AR7241: 
    217234        case AR71XX_SOC_AR7242: 
     235        case AR71XX_SOC_AR9341: 
     236        case AR71XX_SOC_AR9342: 
     237        case AR71XX_SOC_AR9344: 
    218238                ar71xx_misc_irq_chip.ack = ar724x_misc_irq_ack; 
    219239                break; 
     
    282302                ip2_flush_reg = AR91XX_DDR_REG_FLUSH_WMAC; 
    283303                break; 
     304        case AR71XX_SOC_AR9341: 
     305        case AR71XX_SOC_AR9342: 
     306        case AR71XX_SOC_AR9344: 
     307                ip2_flush_reg = AR934X_DDR_REG_FLUSH_PCIE; 
     308                break; 
     309 
    284310        default: 
    285311                ip2_flush_reg = AR71XX_DDR_REG_FLUSH_PCI; 
    286312                break; 
    287313        } 
     314 
    288315        mips_cpu_irq_init(); 
    289316 
  • trunk/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h

    r26509 r26510  
    7676#define AR71XX_CPU_IRQ_BASE     0 
    7777#define AR71XX_MISC_IRQ_BASE    8 
    78 #define AR71XX_MISC_IRQ_COUNT   8 
    79 #define AR71XX_GPIO_IRQ_BASE    16 
     78#define AR71XX_MISC_IRQ_COUNT   32 
     79#define AR71XX_GPIO_IRQ_BASE    40 
    8080#define AR71XX_GPIO_IRQ_COUNT   32 
    81 #define AR71XX_PCI_IRQ_BASE     48 
     81#define AR71XX_PCI_IRQ_BASE     72 
    8282#define AR71XX_PCI_IRQ_COUNT    8 
    8383 
     
    9797#define AR71XX_MISC_IRQ_OHCI    (AR71XX_MISC_IRQ_BASE + 6) 
    9898#define AR71XX_MISC_IRQ_DMA     (AR71XX_MISC_IRQ_BASE + 7) 
     99#define AR71XX_MISC_IRQ_TIMER2  (AR71XX_MISC_IRQ_BASE + 8) 
     100#define AR71XX_MISC_IRQ_TIMER3  (AR71XX_MISC_IRQ_BASE + 9) 
     101#define AR71XX_MISC_IRQ_TIMER4  (AR71XX_MISC_IRQ_BASE + 10) 
     102#define AR71XX_MISC_IRQ_DDR_PERF        (AR71XX_MISC_IRQ_BASE + 11) 
     103#define AR71XX_MISC_IRQ_ENET_LINK       (AR71XX_MISC_IRQ_BASE + 12) 
    99104 
    100105#define AR71XX_GPIO_IRQ(_x)     (AR71XX_GPIO_IRQ_BASE + (_x)) 
     
    466471#define AR91XX_DDR_REG_FLUSH_WMAC       0x88 
    467472 
     473#define AR934X_DDR_REG_FLUSH_GE0        0x9c 
     474#define AR934X_DDR_REG_FLUSH_GE1        0xa0 
     475#define AR934X_DDR_REG_FLUSH_USB        0xa4 
     476#define AR934X_DDR_REG_FLUSH_PCIE       0xa8 
     477 
     478 
    468479#define PCI_WIN0_OFFS   0x10000000 
    469480#define PCI_WIN1_OFFS   0x11000000 
     
    565576#define WDOG_CTRL_ACTION_FCR            3       /* full chip reset */ 
    566577 
     578#define MISC_INT_ENET_LINK              BIT(12) 
     579#define MISC_INT_DDR_PERF               BIT(11) 
     580#define MISC_INT_TIMER4         BIT(10) 
     581#define MISC_INT_TIMER3         BIT(9) 
     582#define MISC_INT_TIMER2         BIT(8) 
    567583#define MISC_INT_DMA                    BIT(7) 
    568584#define MISC_INT_OHCI                   BIT(6) 
  • trunk/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/irq.h

    r16623 r26510  
    1111 
    1212#define MIPS_CPU_IRQ_BASE       0 
    13 #define NR_IRQS                 56 
     13#define NR_IRQS                 80 
    1414 
    1515#include_next <irq.h> 
Note: See TracChangeset for help on using the changeset viewer.