source: trunk/target/linux/lantiq/patches/105-header_xway.patch @ 25344

Last change on this file since 25344 was 25344, checked in by blogic, 6 years ago

[lantiq]

  • fix usb compile warnings
  • fix timer header file which broke compile of external tapi driver
  • rebase patch
File size: 20.3 KB
  • new file arch/mips/include/asm/mach-lantiq/xway/irq.h

    - +  
     1/* 
     2 *  This program is free software; you can redistribute it and/or modify it 
     3 *  under the terms of the GNU General Public License version 2 as published 
     4 *  by the Free Software Foundation. 
     5 * 
     6 *  Copyright (C) 2010 John Crispin <blogic@openwrt.org> 
     7 */ 
     8 
     9#ifndef __LANTIQ_IRQ_H 
     10#define __LANTIQ_IRQ_H 
     11 
     12#include <xway_irq.h> 
     13 
     14#define NR_IRQS 256 
     15 
     16#include_next <irq.h> 
     17 
     18#endif 
  • new file arch/mips/include/asm/mach-lantiq/lantiq_timer.h

    - +  
     1#ifndef __DANUBE_GPTU_DEV_H__2005_07_26__10_19__ 
     2#define __DANUBE_GPTU_DEV_H__2005_07_26__10_19__ 
     3 
     4 
     5/****************************************************************************** 
     6       Copyright (c) 2002, Infineon Technologies.  All rights reserved. 
     7 
     8                               No Warranty 
     9   Because the program is licensed free of charge, there is no warranty for 
     10   the program, to the extent permitted by applicable law.  Except when 
     11   otherwise stated in writing the copyright holders and/or other parties 
     12   provide the program "as is" without warranty of any kind, either 
     13   expressed or implied, including, but not limited to, the implied 
     14   warranties of merchantability and fitness for a particular purpose. The 
     15   entire risk as to the quality and performance of the program is with 
     16   you.  should the program prove defective, you assume the cost of all 
     17   necessary servicing, repair or correction. 
     18 
     19   In no event unless required by applicable law or agreed to in writing 
     20   will any copyright holder, or any other party who may modify and/or 
     21   redistribute the program as permitted above, be liable to you for 
     22   damages, including any general, special, incidental or consequential 
     23   damages arising out of the use or inability to use the program 
     24   (including but not limited to loss of data or data being rendered 
     25   inaccurate or losses sustained by you or third parties or a failure of 
     26   the program to operate with any other programs), even if such holder or 
     27   other party has been advised of the possibility of such damages. 
     28******************************************************************************/ 
     29 
     30 
     31/* 
     32 * #################################### 
     33 *              Definition 
     34 * #################################### 
     35 */ 
     36 
     37/* 
     38 *  Available Timer/Counter Index 
     39 */ 
     40#define TIMER(n, X)                     (n * 2 + (X ? 1 : 0)) 
     41#define TIMER_ANY                       0x00 
     42#define TIMER1A                         TIMER(1, 0) 
     43#define TIMER1B                         TIMER(1, 1) 
     44#define TIMER2A                         TIMER(2, 0) 
     45#define TIMER2B                         TIMER(2, 1) 
     46#define TIMER3A                         TIMER(3, 0) 
     47#define TIMER3B                         TIMER(3, 1) 
     48 
     49/* 
     50 *  Flag of Timer/Counter 
     51 *  These flags specify the way in which timer is configured. 
     52 */ 
     53/*  Bit size of timer/counter.                      */ 
     54#define TIMER_FLAG_16BIT                0x0000 
     55#define TIMER_FLAG_32BIT                0x0001 
     56/*  Switch between timer and counter.               */ 
     57#define TIMER_FLAG_TIMER                0x0000 
     58#define TIMER_FLAG_COUNTER              0x0002 
     59/*  Stop or continue when overflowing/underflowing. */ 
     60#define TIMER_FLAG_ONCE                 0x0000 
     61#define TIMER_FLAG_CYCLIC               0x0004 
     62/*  Count up or counter down.                       */ 
     63#define TIMER_FLAG_UP                   0x0000 
     64#define TIMER_FLAG_DOWN                 0x0008 
     65/*  Count on specific level or edge.                */ 
     66#define TIMER_FLAG_HIGH_LEVEL_SENSITIVE 0x0000 
     67#define TIMER_FLAG_LOW_LEVEL_SENSITIVE  0x0040 
     68#define TIMER_FLAG_RISE_EDGE            0x0010 
     69#define TIMER_FLAG_FALL_EDGE            0x0020 
     70#define TIMER_FLAG_ANY_EDGE             0x0030 
     71/*  Signal is syncronous to module clock or not.    */ 
     72#define TIMER_FLAG_UNSYNC               0x0000 
     73#define TIMER_FLAG_SYNC                 0x0080 
     74/*  Different interrupt handle type.                */ 
     75#define TIMER_FLAG_NO_HANDLE            0x0000 
     76#if defined(__KERNEL__) 
     77    #define TIMER_FLAG_CALLBACK_IN_IRQ  0x0100 
     78#endif  //  defined(__KERNEL__) 
     79#define TIMER_FLAG_SIGNAL               0x0300 
     80/*  Internal clock source or external clock source  */ 
     81#define TIMER_FLAG_INT_SRC              0x0000 
     82#define TIMER_FLAG_EXT_SRC              0x1000 
     83 
     84 
     85/* 
     86 *  ioctl Command 
     87 */ 
     88#define GPTU_REQUEST_TIMER              0x01    /*  General method to setup timer/counter.  */ 
     89#define GPTU_FREE_TIMER                 0x02    /*  Free timer/counter.                     */ 
     90#define GPTU_START_TIMER                0x03    /*  Start or resume timer/counter.          */ 
     91#define GPTU_STOP_TIMER                 0x04    /*  Suspend timer/counter.                  */ 
     92#define GPTU_GET_COUNT_VALUE            0x05    /*  Get current count value.                */ 
     93#define GPTU_CALCULATE_DIVIDER          0x06    /*  Calculate timer divider from given freq.*/ 
     94#define GPTU_SET_TIMER                  0x07    /*  Simplified method to setup timer.       */ 
     95#define GPTU_SET_COUNTER                0x08    /*  Simplified method to setup counter.     */ 
     96 
     97/* 
     98 *  Data Type Used to Call ioctl 
     99 */ 
     100struct gptu_ioctl_param { 
     101    unsigned int                        timer;  /*  In command GPTU_REQUEST_TIMER, GPTU_SET_TIMER, and  * 
     102                                                 *  GPTU_SET_COUNTER, this field is ID of expected      * 
     103                                                 *  timer/counter. If it's zero, a timer/counter would  * 
     104                                                 *  be dynamically allocated and ID would be stored in  * 
     105                                                 *  this field.                                         * 
     106                                                 *  In command GPTU_GET_COUNT_VALUE, this field is      * 
     107                                                 *  ignored.                                            * 
     108                                                 *  In other command, this field is ID of timer/counter * 
     109                                                 *  allocated.                                          */ 
     110    unsigned int                        flag;   /*  In command GPTU_REQUEST_TIMER, GPTU_SET_TIMER, and  * 
     111                                                 *  GPTU_SET_COUNTER, this field contains flags to      * 
     112                                                 *  specify how to configure timer/counter.             * 
     113                                                 *  In command GPTU_START_TIMER, zero indicate start    * 
     114                                                 *  and non-zero indicate resume timer/counter.         * 
     115                                                 *  In other command, this field is ignored.            */ 
     116    unsigned long                       value;  /*  In command GPTU_REQUEST_TIMER, this field contains  * 
     117                                                 *  init/reload value.                                  * 
     118                                                 *  In command GPTU_SET_TIMER, this field contains      * 
     119                                                 *  frequency (0.001Hz) of timer.                       * 
     120                                                 *  In command GPTU_GET_COUNT_VALUE, current count      * 
     121                                                 *  value would be stored in this field.                * 
     122                                                 *  In command GPTU_CALCULATE_DIVIDER, this field       * 
     123                                                 *  contains frequency wanted, and after calculation,   * 
     124                                                 *  divider would be stored in this field to overwrite  * 
     125                                                 *  the frequency.                                      * 
     126                                                 *  In other command, this field is ignored.            */ 
     127    int                                 pid;    /*  In command GPTU_REQUEST_TIMER and GPTU_SET_TIMER,   * 
     128                                                 *  if signal is required, this field contains process  * 
     129                                                 *  ID to which signal would be sent.                   * 
     130                                                 *  In other command, this field is ignored.            */ 
     131    int                                 sig;    /*  In command GPTU_REQUEST_TIMER and GPTU_SET_TIMER,   * 
     132                                                 *  if signal is required, this field contains signal   * 
     133                                                 *  number which would be sent.                         * 
     134                                                 *  In other command, this field is ignored.            */ 
     135}; 
     136 
     137/* 
     138 * #################################### 
     139 *              Data Type 
     140 * #################################### 
     141 */ 
     142typedef void (*timer_callback)(unsigned long arg); 
     143 
     144extern int lq_request_timer(unsigned int, unsigned int, unsigned long, unsigned long, unsigned long); 
     145extern int lq_free_timer(unsigned int); 
     146extern int lq_start_timer(unsigned int, int); 
     147extern int lq_stop_timer(unsigned int); 
     148extern int lq_reset_counter_flags(u32 timer, u32 flags); 
     149extern int lq_get_count_value(unsigned int, unsigned long *); 
     150extern u32 lq_cal_divider(unsigned long); 
     151extern int lq_set_timer(unsigned int, unsigned int, int, int, unsigned int, unsigned long, unsigned long); 
     152extern int lq_set_counter(unsigned int timer, unsigned int flag, 
     153        u32 reload, unsigned long arg1, unsigned long arg2); 
     154 
     155#endif /* __DANUBE_GPTU_DEV_H__2005_07_26__10_19__ */ 
  • new file arch/mips/include/asm/mach-lantiq/xway/xway.h

    - +  
     1/* 
     2 *  This program is free software; you can redistribute it and/or modify it 
     3 *  under the terms of the GNU General Public License version 2 as published 
     4 *  by the Free Software Foundation. 
     5 * 
     6 *  Copyright (C) 2005 infineon 
     7 *  Copyright (C) 2010 John Crispin <blogic@openwrt.org> 
     8 */ 
     9 
     10#ifdef CONFIG_SOC_LANTIQ_XWAY 
     11 
     12#ifndef _LQ_XWAY_H__ 
     13#define _LQ_XWAY_H__ 
     14 
     15#include <lantiq.h> 
     16 
     17/* request a non-gpio and set the PIO config */ 
     18extern int  lq_gpio_request(unsigned int pin, unsigned int alt0, 
     19    unsigned int alt1, unsigned int dir, const char *name); 
     20extern int lq_gpio_setconfig(unsigned int pin, unsigned int reg, unsigned int val); 
     21 
     22extern void lq_pmu_enable(unsigned int module); 
     23extern void lq_pmu_disable(unsigned int module); 
     24 
     25extern unsigned int lq_get_fpi_bus_clock(int bus); 
     26 
     27#define BOARD_SYSTEM_TYPE               "LANTIQ" 
     28 
     29/*------------ Chip IDs */ 
     30#define SOC_ID_DANUBE1          0x129 
     31#define SOC_ID_DANUBE2          0x12B 
     32#define SOC_ID_TWINPASS         0x12D 
     33#define SOC_ID_ARX188           0x16C 
     34#define SOC_ID_ARX168           0x16D 
     35#define SOC_ID_ARX182           0x16F 
     36 
     37/*------------ SoC Types */ 
     38#define SOC_TYPE_DANUBE         0x01 
     39#define SOC_TYPE_TWINPASS       0x02 
     40#define SOC_TYPE_AR9            0x03 
     41 
     42/*------------ ASC0/1 */ 
     43#define LQ_ASC0_BASE            0x1E100400 
     44#define LQ_ASC1_BASE            0x1E100C00 
     45#define LQ_ASC_SIZE                     0x400 
     46 
     47/*------------ RCU */ 
     48#define LQ_RCU_BASE_ADDR        0xBF203000 
     49 
     50/*------------ GPTU */ 
     51#define LQ_GPTU_BASE_ADDR       0xB8000300 
     52 
     53/*------------ EBU */ 
     54#define LQ_EBU_GPIO_START       0x14000000 
     55#define LQ_EBU_GPIO_SIZE        0x1000 
     56 
     57#define LQ_EBU_BASE_ADDR        0xBE105300 
     58 
     59#define LQ_EBU_BUSCON0          ((u32 *)(LQ_EBU_BASE_ADDR + 0x0060)) 
     60#define LQ_EBU_PCC_CON          ((u32 *)(LQ_EBU_BASE_ADDR + 0x0090)) 
     61#define LQ_EBU_PCC_IEN          ((u32 *)(LQ_EBU_BASE_ADDR + 0x00A4)) 
     62#define LQ_EBU_PCC_ISTAT        ((u32 *)(LQ_EBU_BASE_ADDR + 0x00A0)) 
     63#define LQ_EBU_BUSCON1          ((u32 *)(LQ_EBU_BASE_ADDR + 0x0064)) 
     64#define LQ_EBU_ADDRSEL1         ((u32 *)(LQ_EBU_BASE_ADDR + 0x0024)) 
     65 
     66#define EBU_WRDIS                       0x80000000 
     67 
     68/*------------ CGU */ 
     69#define LQ_CGU_BASE_ADDR        (KSEG1 + 0x1F103000) 
     70 
     71/*------------ PMU */ 
     72#define LQ_PMU_BASE_ADDR        (KSEG1 + 0x1F102000) 
     73 
     74#define PMU_DMA                         0x0020 
     75#define PMU_USB                         0x8041 
     76#define PMU_LED                         0x0800 
     77#define PMU_GPT                         0x1000 
     78#define PMU_PPE                         0x2000 
     79#define PMU_FPI                         0x4000 
     80#define PMU_SWITCH                      0x10000000 
     81 
     82/*------------ ETOP */ 
     83#define LQ_PPE32_BASE_ADDR      0xBE180000 
     84#define LQ_PPE32_SIZE           0x40000 
     85 
     86/*------------ DMA */ 
     87#define LQ_DMA_BASE_ADDR        0xBE104100 
     88 
     89/*------------ PCI */ 
     90#define PCI_CR_PR_BASE_ADDR     (KSEG1 + 0x1E105400) 
     91#define PCI_CS_PR_BASE_ADDR     (KSEG1 + 0x17000000) 
     92 
     93/*------------ WDT */ 
     94#define LQ_WDT_BASE                     0x1F880000 
     95#define LQ_WDT_SIZE                     0x400 
     96 
     97/*------------ Serial To Parallel conversion  */ 
     98#define LQ_STP_BASE                     0x1E100BB0 
     99#define LQ_STP_SIZE                     0x40 
     100 
     101/*------------ GPIO */ 
     102#define LQ_GPIO0_BASE_ADDR      0x1E100B10 
     103#define LQ_GPIO1_BASE_ADDR      0x1E100B40 
     104#define LQ_GPIO_SIZE            0x30 
     105 
     106/*------------ SSC */ 
     107#define LQ_SSC_BASE_ADDR        (KSEG1 + 0x1e100800) 
     108 
     109/*------------ MEI */ 
     110#define LQ_MEI_BASE_ADDR        (KSEG1 + 0x1E116000) 
     111 
     112/*------------ DEU */ 
     113#define LQ_DEU_BASE                     (KSEG1 + 0x1E103100) 
     114 
     115/*------------ MPS */ 
     116#define LQ_MPS_BASE_ADDR        (KSEG1 + 0x1F107000) 
     117#define LQ_MPS_CHIPID           ((u32 *)(LQ_MPS_BASE_ADDR + 0x0344)) 
     118 
     119#endif 
     120 
     121#endif 
  • new file arch/mips/include/asm/mach-lantiq/xway/xway_dma.h

    - +  
     1/* 
     2 *   This program is free software; you can redistribute it and/or modify it 
     3 *   under the terms of the GNU General Public License version 2 as published 
     4 *   by the Free Software Foundation. 
     5 * 
     6 *   This program is distributed in the hope that it will be useful, 
     7 *   but WITHOUT ANY WARRANTY; without even the implied warranty of 
     8 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
     9 *   GNU General Public License for more details. 
     10 * 
     11 *   You should have received a copy of the GNU General Public License 
     12 *   along with this program; if not, write to the Free Software 
     13 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. 
     14 * 
     15 *   Copyright (C) 2005 infineon 
     16 *   Copyright (C) 2007 John Crispin <blogic@openwrt.org> 
     17 * 
     18 */ 
     19#ifndef _LQ_DMA_H__ 
     20#define _LQ_DMA_H__ 
     21 
     22#define RCV_INT                                         1 
     23#define TX_BUF_FULL_INT                                 2 
     24#define TRANSMIT_CPT_INT                                4 
     25#define LQ_DMA_CH_ON                            1 
     26#define LQ_DMA_CH_OFF                           0 
     27#define LQ_DMA_CH_DEFAULT_WEIGHT                        100 
     28 
     29enum attr_t{ 
     30        TX = 0, 
     31        RX = 1, 
     32        RESERVED = 2, 
     33        DEFAULT = 3, 
     34}; 
     35 
     36#define DMA_OWN                                         1 
     37#define CPU_OWN                                         0 
     38#define DMA_MAJOR                                       250 
     39 
     40#define DMA_DESC_OWN_CPU                                0x0 
     41#define DMA_DESC_OWN_DMA                                0x80000000 
     42#define DMA_DESC_CPT_SET                                0x40000000 
     43#define DMA_DESC_SOP_SET                                0x20000000 
     44#define DMA_DESC_EOP_SET                                0x10000000 
     45 
     46#define MISCFG_MASK                                     0x40 
     47#define RDERR_MASK                                      0x20 
     48#define CHOFF_MASK                                      0x10 
     49#define DESCPT_MASK                                     0x8 
     50#define DUR_MASK                                        0x4 
     51#define EOP_MASK                                        0x2 
     52 
     53#define DMA_DROP_MASK                                   (1<<31) 
     54 
     55#define LQ_DMA_RX                                       -1 
     56#define LQ_DMA_TX                                       1 
     57 
     58struct dma_chan_map { 
     59        const char *dev_name; 
     60        enum attr_t dir; 
     61        int pri; 
     62        int irq; 
     63        int rel_chan_no; 
     64}; 
     65 
     66#ifdef CONFIG_CPU_LITTLE_ENDIAN 
     67struct rx_desc { 
     68        u32 data_length:16; 
     69        volatile u32 reserved:7; 
     70        volatile u32 byte_offset:2; 
     71        volatile u32 Burst_length_offset:3; 
     72        volatile u32 EoP:1; 
     73        volatile u32 Res:1; 
     74        volatile u32 C:1; 
     75        volatile u32 OWN:1; 
     76        volatile u32 Data_Pointer; /* fixme: should be 28 bits here */ 
     77}; 
     78 
     79struct tx_desc { 
     80        volatile u32 data_length:16; 
     81        volatile u32 reserved1:7; 
     82        volatile u32 byte_offset:5; 
     83        volatile u32 EoP:1; 
     84        volatile u32 SoP:1; 
     85        volatile u32 C:1; 
     86        volatile u32 OWN:1; 
     87        volatile u32 Data_Pointer; /* fixme: should be 28 bits here */ 
     88}; 
     89#else /* BIG */ 
     90struct rx_desc { 
     91        union { 
     92                struct { 
     93                        volatile u32 OWN:1; 
     94                        volatile u32 C:1; 
     95                        volatile u32 SoP:1; 
     96                        volatile u32 EoP:1; 
     97                        volatile u32 Burst_length_offset:3; 
     98                        volatile u32 byte_offset:2; 
     99                        volatile u32 reserve:7; 
     100                        volatile u32 data_length:16; 
     101                } field; 
     102                volatile u32 word; 
     103        } status; 
     104        volatile u32 Data_Pointer; 
     105}; 
     106 
     107struct tx_desc { 
     108        union { 
     109                struct { 
     110                        volatile u32 OWN:1; 
     111                        volatile u32 C:1; 
     112                        volatile u32 SoP:1; 
     113                        volatile u32 EoP:1; 
     114                        volatile u32 byte_offset:5; 
     115                        volatile u32 reserved:7; 
     116                        volatile u32 data_length:16; 
     117                } field; 
     118                volatile u32 word; 
     119        } status; 
     120        volatile u32 Data_Pointer; 
     121}; 
     122#endif /* ENDIAN */ 
     123 
     124struct dma_channel_info { 
     125        /* relative channel number */ 
     126        int rel_chan_no; 
     127        /* class for this channel for QoS */ 
     128        int pri; 
     129        /* specify byte_offset */ 
     130        int byte_offset; 
     131        /* direction */ 
     132        int dir; 
     133        /* irq number */ 
     134        int irq; 
     135        /* descriptor parameter */ 
     136        int desc_base; 
     137        int desc_len; 
     138        int curr_desc; 
     139        int prev_desc; /* only used if it is a tx channel*/ 
     140        /* weight setting for WFQ algorithm*/ 
     141        int weight; 
     142        int default_weight; 
     143        int packet_size; 
     144        int burst_len; 
     145        /* on or off of this channel */ 
     146        int control; 
     147        /* optional information for the upper layer devices */ 
     148#if defined(CONFIG_LQ_ETHERNET_D2) || defined(CONFIG_LQ_PPA) 
     149        void *opt[64]; 
     150#else 
     151        void *opt[25]; 
     152#endif 
     153        /* Pointer to the peripheral device who is using this channel */ 
     154        void *dma_dev; 
     155        /* channel operations */ 
     156        void (*open)(struct dma_channel_info *pCh); 
     157        void (*close)(struct dma_channel_info *pCh); 
     158        void (*reset)(struct dma_channel_info *pCh); 
     159        void (*enable_irq)(struct dma_channel_info *pCh); 
     160        void (*disable_irq)(struct dma_channel_info *pCh); 
     161}; 
     162 
     163struct dma_device_info { 
     164        /* device name of this peripheral */ 
     165        char device_name[15]; 
     166        int reserved; 
     167        int tx_burst_len; 
     168        int rx_burst_len; 
     169        int default_weight; 
     170        int current_tx_chan; 
     171        int current_rx_chan; 
     172        int num_tx_chan; 
     173        int num_rx_chan; 
     174        int max_rx_chan_num; 
     175        int max_tx_chan_num; 
     176        struct dma_channel_info *tx_chan[20]; 
     177        struct dma_channel_info *rx_chan[20]; 
     178        /*functions, optional*/ 
     179        u8 *(*buffer_alloc)(int len, int *offset, void **opt); 
     180        void (*buffer_free)(u8 *dataptr, void *opt); 
     181        int (*intr_handler)(struct dma_device_info *info, int status); 
     182        void *priv;             /* used by peripheral driver only */ 
     183}; 
     184 
     185struct dma_device_info *dma_device_reserve(char *dev_name); 
     186void dma_device_release(struct dma_device_info *dev); 
     187void dma_device_register(struct dma_device_info *info); 
     188void dma_device_unregister(struct dma_device_info *info); 
     189int dma_device_read(struct dma_device_info *info, u8 **dataptr, void **opt); 
     190int dma_device_write(struct dma_device_info *info, u8 *dataptr, int len, 
     191        void *opt); 
     192 
     193#endif 
     194 
  • new file arch/mips/include/asm/mach-lantiq/xway/xway_irq.h

    - +  
     1/* 
     2 *  This program is free software; you can redistribute it and/or modify it 
     3 *  under the terms of the GNU General Public License version 2 as published 
     4 *  by the Free Software Foundation. 
     5 * 
     6 *  Copyright (C) 2010 John Crispin <blogic@openwrt.org> 
     7 */ 
     8 
     9#ifndef _LANTIQ_XWAY_IRQ_H__ 
     10#define _LANTIQ_XWAY_IRQ_H__ 
     11 
     12#define INT_NUM_IRQ0                    8 
     13#define INT_NUM_IM0_IRL0                (INT_NUM_IRQ0 + 0) 
     14#define INT_NUM_IM1_IRL0                (INT_NUM_IRQ0 + 32) 
     15#define INT_NUM_IM2_IRL0                (INT_NUM_IRQ0 + 64) 
     16#define INT_NUM_IM3_IRL0                (INT_NUM_IRQ0 + 96) 
     17#define INT_NUM_IM4_IRL0                (INT_NUM_IRQ0 + 128) 
     18#define INT_NUM_IM_OFFSET               (INT_NUM_IM1_IRL0 - INT_NUM_IM0_IRL0) 
     19 
     20#define LQ_ASC_TIR(x)           (INT_NUM_IM3_IRL0 + (x * 7)) 
     21#define LQ_ASC_RIR(x)           (INT_NUM_IM3_IRL0 + (x * 7) + 2) 
     22#define LQ_ASC_EIR(x)           (INT_NUM_IM3_IRL0 + (x * 7) + 3) 
     23 
     24#define LQ_SSC_TIR                      (INT_NUM_IM0_IRL0 + 15) 
     25#define LQ_SSC_RIR                      (INT_NUM_IM0_IRL0 + 14) 
     26#define LQ_SSC_EIR                      (INT_NUM_IM0_IRL0 + 16) 
     27 
     28#define LQ_MEI_DYING_GASP_INT   (INT_NUM_IM1_IRL0 + 21) 
     29#define LQ_MEI_INT                      (INT_NUM_IM1_IRL0 + 23) 
     30 
     31#define LQ_TIMER6_INT           (INT_NUM_IM1_IRL0 + 23) 
     32#define LQ_USB_INT                      (INT_NUM_IM1_IRL0 + 22) 
     33#define LQ_USB_OC_INT           (INT_NUM_IM4_IRL0 + 23) 
     34 
     35#define MIPS_CPU_TIMER_IRQ              7 
     36 
     37#define LQ_DMA_CH0_INT          (INT_NUM_IM2_IRL0) 
     38#define LQ_DMA_CH1_INT          (INT_NUM_IM2_IRL0 + 1) 
     39#define LQ_DMA_CH2_INT          (INT_NUM_IM2_IRL0 + 2) 
     40#define LQ_DMA_CH3_INT          (INT_NUM_IM2_IRL0 + 3) 
     41#define LQ_DMA_CH4_INT          (INT_NUM_IM2_IRL0 + 4) 
     42#define LQ_DMA_CH5_INT          (INT_NUM_IM2_IRL0 + 5) 
     43#define LQ_DMA_CH6_INT          (INT_NUM_IM2_IRL0 + 6) 
     44#define LQ_DMA_CH7_INT          (INT_NUM_IM2_IRL0 + 7) 
     45#define LQ_DMA_CH8_INT          (INT_NUM_IM2_IRL0 + 8) 
     46#define LQ_DMA_CH9_INT          (INT_NUM_IM2_IRL0 + 9) 
     47#define LQ_DMA_CH10_INT         (INT_NUM_IM2_IRL0 + 10) 
     48#define LQ_DMA_CH11_INT         (INT_NUM_IM2_IRL0 + 11) 
     49#define LQ_DMA_CH12_INT         (INT_NUM_IM2_IRL0 + 25) 
     50#define LQ_DMA_CH13_INT         (INT_NUM_IM2_IRL0 + 26) 
     51#define LQ_DMA_CH14_INT         (INT_NUM_IM2_IRL0 + 27) 
     52#define LQ_DMA_CH15_INT         (INT_NUM_IM2_IRL0 + 28) 
     53#define LQ_DMA_CH16_INT         (INT_NUM_IM2_IRL0 + 29) 
     54#define LQ_DMA_CH17_INT         (INT_NUM_IM2_IRL0 + 30) 
     55#define LQ_DMA_CH18_INT         (INT_NUM_IM2_IRL0 + 16) 
     56#define LQ_DMA_CH19_INT         (INT_NUM_IM2_IRL0 + 21) 
     57 
     58#define LQ_PPE_MBOX_INT         (INT_NUM_IM2_IRL0 + 24) 
     59 
     60#define INT_NUM_IM4_IRL14                       (INT_NUM_IM4_IRL0 + 14) 
     61 
     62#endif 
Note: See TracBrowser for help on using the repository browser.