Adding IRQ defintions for DaVinci DM355 and
default interrupt priorities for DM355

Signed-off-by: Sandeep Paulraj <[EMAIL PROTECTED]>
---
 arch/arm/mach-davinci/include/mach/irqs.h       |    1 +
 arch/arm/mach-davinci/include/mach/irqs_dm355.h |   81 +++++++++++++++++++++++
 arch/arm/mach-davinci/irq.c                     |   66 ++++++++++++++++++
 3 files changed, 148 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-davinci/include/mach/irqs_dm355.h

diff --git a/arch/arm/mach-davinci/include/mach/irqs.h 
b/arch/arm/mach-davinci/include/mach/irqs.h
index 9f5d961..003e4f6 100644
--- a/arch/arm/mach-davinci/include/mach/irqs.h
+++ b/arch/arm/mach-davinci/include/mach/irqs.h
@@ -28,6 +28,7 @@
 #define __ASM_ARCH_IRQS_H
 
 #include <mach/irqs_dm6467.h>
+#include <mach/irqs_dm355.h>
 
 /* Base address */
 #define DAVINCI_ARM_INTC_BASE 0x01C48000
diff --git a/arch/arm/mach-davinci/include/mach/irqs_dm355.h 
b/arch/arm/mach-davinci/include/mach/irqs_dm355.h
new file mode 100644
index 0000000..c1d4bde
--- /dev/null
+++ b/arch/arm/mach-davinci/include/mach/irqs_dm355.h
@@ -0,0 +1,81 @@
+/*
+ *
+ *  Copyright (C) 2008 Texas Instruments.
+ *
+ *  This program is free software; you can redistribute  it and/or modify it
+ *  under  the terms of  the GNU General  Public License as published by the
+ *  Free Software Foundation;  either version 2 of the  License, or (at your
+ *  option) any later version.
+ *
+ *  THIS  SOFTWARE  IS PROVIDED   ``AS  IS'' AND   ANY  EXPRESS OR IMPLIED
+ *  WARRANTIES,   INCLUDING, BUT NOT  LIMITED  TO, THE IMPLIED WARRANTIES OF
+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
+ *  NO  EVENT  SHALL   THE AUTHOR  BE    LIABLE FOR ANY   DIRECT, INDIRECT,
+ *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ *  NOT LIMITED   TO, PROCUREMENT OF  SUBSTITUTE GOODS  OR SERVICES; LOSS OF
+ *  USE, DATA,  OR PROFITS; OR  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ *  ANY THEORY OF LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT
+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *  You should have received a copy of the  GNU General Public License along
+ *  with this program; if not, write  to the Free Software Foundation, Inc.,
+ *  675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#ifndef __ASM_ARCH_IRQS_DM355_H
+#define __ASM_ARCH_IRQS_DM355_H
+
+/* DaVinci DM355-specific Interrupts */
+#define IRQ_DM355_CCDC_VDINT0  0
+#define IRQ_DM355_CCDC_VDINT1  1
+#define IRQ_DM355_CCDC_VDINT2  2
+#define IRQ_DM355_IPIPE_HST    3
+#define IRQ_DM355_H3AINT       4
+#define IRQ_DM355_IPIPE_SDR    5
+#define IRQ_DM355_IPIPEIFINT   6
+#define IRQ_DM355_OSDINT       7
+#define IRQ_DM355_VENCINT      8
+#define IRQ_DM355_IMCOPINT     11
+#define IRQ_DM355_RTOINT       13
+#define IRQ_DM355_TINT4                13
+#define IRQ_DM355_TINT2_TINT12 13
+#define IRQ_DM355_UARTINT2     14
+#define IRQ_DM355_TINT5                14
+#define IRQ_DM355_TINT2_TINT34 14
+#define IRQ_DM355_TINT6                15
+#define IRQ_DM355_TINT3_TINT12 15
+#define IRQ_DM355_SPINT1_0     17
+#define IRQ_DM355_SPINT1_1     18
+#define IRQ_DM355_SPINT2_0     19
+#define IRQ_DM355_SPINT2_1     21
+#define IRQ_DM355_TINT7                22
+#define IRQ_DM355_TINT3_TINT34 22
+#define IRQ_DM355_SDIOINT0     23
+#define IRQ_DM355_MMCINT0      26
+#define IRQ_DM355_MSINT                26
+#define IRQ_DM355_MMCINT1      27
+#define IRQ_DM355_PWMINT3      28
+#define IRQ_DM355_SDIOINT1     31
+#define IRQ_DM355_SPINT0_0     42
+#define IRQ_DM355_SPINT0_1     43
+#define IRQ_DM355_GPIO0                44
+#define IRQ_DM355_GPIO1                45
+#define IRQ_DM355_GPIO2                46
+#define IRQ_DM355_GPIO3                47
+#define IRQ_DM355_GPIO4                48
+#define IRQ_DM355_GPIO5                49
+#define IRQ_DM355_GPIO6                50
+#define IRQ_DM355_GPIO7                51
+#define IRQ_DM355_GPIO8                52
+#define IRQ_DM355_GPIO9                53
+#define IRQ_DM355_GPIOBNK0     54
+#define IRQ_DM355_GPIOBNK1     55
+#define IRQ_DM355_GPIOBNK2     56
+#define IRQ_DM355_GPIOBNK3     57
+#define IRQ_DM355_GPIOBNK4     58
+#define IRQ_DM355_GPIOBNK5     59
+#define IRQ_DM355_GPIOBNK6     60
+
+#endif /* __ASM_ARCH_IRQS__DM355_H */
diff --git a/arch/arm/mach-davinci/irq.c b/arch/arm/mach-davinci/irq.c
index a6450d9..8385e03 100644
--- a/arch/arm/mach-davinci/irq.c
+++ b/arch/arm/mach-davinci/irq.c
@@ -245,6 +245,70 @@ static const u8 
dm646x_default_priorities[DAVINCI_N_AINTC_IRQ] = {
        [IRQ_COMMRX]                    = 7,
        [IRQ_EMUINT]                    = 7,
 };
+static const u8 dm355_default_priorities[DAVINCI_N_AINTC_IRQ] = {
+       [IRQ_DM355_CCDC_VDINT0]         = 2,
+       [IRQ_DM355_CCDC_VDINT1]         = 6,
+       [IRQ_DM355_CCDC_VDINT2]         = 6,
+       [IRQ_DM355_IPIPE_HST]           = 6,
+       [IRQ_DM355_H3AINT]              = 6,
+       [IRQ_DM355_IPIPE_SDR]           = 6,
+       [IRQ_DM355_IPIPEIFINT]          = 6,
+       [IRQ_DM355_OSDINT]              = 7,
+       [IRQ_DM355_VENCINT]             = 6,
+       [IRQ_ASQINT]                    = 6,
+       [IRQ_IMXINT]                    = 6,
+       [IRQ_USBINT]                    = 4,
+       [IRQ_DM355_RTOINT]              = 4,
+       [IRQ_DM355_UARTINT2]            = 7,
+       [IRQ_DM355_TINT6]               = 7,
+       [IRQ_CCINT0]                    = 5,    /* dma */
+       [IRQ_CCERRINT]                  = 5,    /* dma */
+       [IRQ_TCERRINT0]                 = 5,    /* dma */
+       [IRQ_TCERRINT]                  = 5,    /* dma */
+       [IRQ_DM355_SPINT2_1]            = 7,
+       [IRQ_DM355_TINT7]               = 4,
+       [IRQ_DM355_SDIOINT0]            = 7,
+       [IRQ_MBXINT]                    = 7,
+       [IRQ_MBRINT]                    = 7,
+       [IRQ_MMCINT]                    = 7,
+       [IRQ_DM355_MMCINT1]             = 7,
+       [IRQ_DM355_PWMINT3]             = 7,
+       [IRQ_DDRINT]                    = 7,
+       [IRQ_AEMIFINT]                  = 7,
+       [IRQ_DM355_SDIOINT1]            = 4,
+       [IRQ_TINT0_TINT12]              = 2,    /* clockevent */
+       [IRQ_TINT0_TINT34]              = 2,    /* clocksource */
+       [IRQ_TINT1_TINT12]              = 7,    /* DSP timer */
+       [IRQ_TINT1_TINT34]              = 7,    /* system tick */
+       [IRQ_PWMINT0]                   = 7,
+       [IRQ_PWMINT1]                   = 7,
+       [IRQ_PWMINT2]                   = 7,
+       [IRQ_I2C]                       = 3,
+       [IRQ_UARTINT0]                  = 3,
+       [IRQ_UARTINT1]                  = 3,
+       [IRQ_DM355_SPINT0_0]            = 3,
+       [IRQ_DM355_SPINT0_1]            = 3,
+       [IRQ_DM355_GPIO0]               = 3,
+       [IRQ_DM355_GPIO1]               = 7,
+       [IRQ_DM355_GPIO2]               = 4,
+       [IRQ_DM355_GPIO3]               = 4,
+       [IRQ_DM355_GPIO4]               = 7,
+       [IRQ_DM355_GPIO5]               = 7,
+       [IRQ_DM355_GPIO6]               = 7,
+       [IRQ_DM355_GPIO7]               = 7,
+       [IRQ_DM355_GPIO8]               = 7,
+       [IRQ_DM355_GPIO9]               = 7,
+       [IRQ_DM355_GPIOBNK0]            = 7,
+       [IRQ_DM355_GPIOBNK1]            = 7,
+       [IRQ_DM355_GPIOBNK2]            = 7,
+       [IRQ_DM355_GPIOBNK3]            = 7,
+       [IRQ_DM355_GPIOBNK4]            = 7,
+       [IRQ_DM355_GPIOBNK5]            = 7,
+       [IRQ_DM355_GPIOBNK6]            = 7,
+       [IRQ_COMMTX]                    = 7,
+       [IRQ_COMMRX]                    = 7,
+       [IRQ_EMUINT]                    = 7,
+};
 
 /* ARM Interrupt Controller Initialization */
 void __init davinci_irq_init(void)
@@ -255,6 +319,8 @@ void __init davinci_irq_init(void)
                davinci_def_priorities = dm644x_default_priorities;
        else if (cpu_is_davinci_dm6467())
                davinci_def_priorities = dm646x_default_priorities;
+       else if (cpu_is_davinci_dm355())
+               davinci_def_priorities = dm355_default_priorities;
 
        /* Clear all interrupt requests */
        davinci_irq_writel(~0x0, FIQ_REG0_OFFSET);
-- 
1.5.6.4

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to