This patch updates the common platform headers files for OMAP4430.
On OMAP4, GIC is used instead of INTC, hence all the private peripheral
interrupts are shifted by an offset of 32. So if the hardcoding is not
done for IRQ lines in drivers, then this change won't impact any driver.

Signed-off-by: Santosh Shilimkar <santosh.shilim...@ti.com>
---
 arch/arm/plat-omap/include/mach/common.h      |    1 +
 arch/arm/plat-omap/include/mach/control.h     |    3 +-
 arch/arm/plat-omap/include/mach/debug-macro.S |    2 +-
 arch/arm/plat-omap/include/mach/dma.h         |    1 +
 arch/arm/plat-omap/include/mach/entry-macro.S |   45 +++++-
 arch/arm/plat-omap/include/mach/io.h          |   34 ++++
 arch/arm/plat-omap/include/mach/irqs.h        |  205 +++++++++++++------------
 arch/arm/plat-omap/include/mach/memory.h      |    3 +-
 arch/arm/plat-omap/include/mach/serial.h      |   11 ++-
 arch/arm/plat-omap/include/mach/system.h      |    7 +
 10 files changed, 206 insertions(+), 106 deletions(-)

diff --git a/arch/arm/plat-omap/include/mach/common.h 
b/arch/arm/plat-omap/include/mach/common.h
index 0ecf36d..4b18833 100644
--- a/arch/arm/plat-omap/include/mach/common.h
+++ b/arch/arm/plat-omap/include/mach/common.h
@@ -62,6 +62,7 @@ struct omap_globals {
 void omap2_set_globals_242x(void);
 void omap2_set_globals_243x(void);
 void omap2_set_globals_343x(void);
+void omap2_set_globals_443x(void);
 
 /* These get called from omap2_set_globals_xxxx(), do not call these */
 void omap2_set_globals_tap(struct omap_globals *);
diff --git a/arch/arm/plat-omap/include/mach/control.h 
b/arch/arm/plat-omap/include/mach/control.h
index 269147f..c5f47cd 100644
--- a/arch/arm/plat-omap/include/mach/control.h
+++ b/arch/arm/plat-omap/include/mach/control.h
@@ -190,7 +190,8 @@
 #define OMAP2_PBIASLITEVMODE0          (1 << 0)
 
 #ifndef __ASSEMBLY__
-#if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3)
+#if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) || \
+               defined(CONFIG_ARCH_OMAP4)
 extern void __iomem *omap_ctrl_base_get(void);
 extern u8 omap_ctrl_readb(u16 offset);
 extern u16 omap_ctrl_readw(u16 offset);
diff --git a/arch/arm/plat-omap/include/mach/debug-macro.S 
b/arch/arm/plat-omap/include/mach/debug-macro.S
index 1b11f5c..662f08f 100644
--- a/arch/arm/plat-omap/include/mach/debug-macro.S
+++ b/arch/arm/plat-omap/include/mach/debug-macro.S
@@ -36,7 +36,7 @@
                add     \rx, \rx, #0x00004000   @ UART 3
 #endif
 
-#elif  CONFIG_ARCH_OMAP3
+#elif  (CONFIG_ARCH_OMAP3 || CONFIG_ARCH_OMAP4)
                moveq   \rx, #0x48000000        @ physical base address
                movne   \rx, #0xd8000000        @ virtual base
                orr     \rx, \rx, #0x0006a000
diff --git a/arch/arm/plat-omap/include/mach/dma.h 
b/arch/arm/plat-omap/include/mach/dma.h
index 54fe966..8e05b6a 100644
--- a/arch/arm/plat-omap/include/mach/dma.h
+++ b/arch/arm/plat-omap/include/mach/dma.h
@@ -48,6 +48,7 @@
 /* Hardware registers for omap2 and omap3 */
 #define OMAP24XX_DMA4_BASE             (L4_24XX_BASE + 0x56000)
 #define OMAP34XX_DMA4_BASE             (L4_34XX_BASE + 0x56000)
+#define OMAP44XX_DMA4_BASE             (L4_44XX_BASE + 0x56000)
 
 #define OMAP_DMA4_REVISION             0x00
 #define OMAP_DMA4_GCR                  0x78
diff --git a/arch/arm/plat-omap/include/mach/entry-macro.S 
b/arch/arm/plat-omap/include/mach/entry-macro.S
index 2276f89..7a9d40e 100644
--- a/arch/arm/plat-omap/include/mach/entry-macro.S
+++ b/arch/arm/plat-omap/include/mach/entry-macro.S
@@ -10,6 +10,9 @@
 #include <mach/hardware.h>
 #include <mach/io.h>
 #include <mach/irqs.h>
+#ifdef CONFIG_ARCH_OMAP44XX
+#include <asm/hardware/gic.h>
+#endif
 
 #if defined(CONFIG_ARCH_OMAP1)
 
@@ -56,7 +59,8 @@
                .endm
 
 #endif
-#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX)
+#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) || \
+                       defined(CONFIG_ARCH_OMAP44XX)
 
 #if defined(CONFIG_ARCH_OMAP24XX)
 #include <mach/omap24xx.h>
@@ -64,7 +68,9 @@
 #if defined(CONFIG_ARCH_OMAP34XX)
 #include <mach/omap34xx.h>
 #endif
-
+#if defined(CONFIG_ARCH_OMAP44XX)
+#include <mach/omap44xx.h>
+#endif
 #define INTCPS_SIR_IRQ_OFFSET  0x0040          /* Active interrupt offset */
 #define        ACTIVEIRQ_MASK          0x7f            /* Active interrupt 
bits */
 
@@ -77,6 +83,7 @@
                .macro  arch_ret_to_user, tmp1, tmp2
                .endm
 
+#ifndef CONFIG_ARCH_OMAP44XX
                .macro  get_irqnr_and_base, irqnr, irqstat, base, tmp
                ldr     \base, =OMAP2_VA_IC_BASE
                ldr     \irqnr, [\base, #0x98] /* IRQ pending reg 1 */
@@ -92,6 +99,40 @@
                and     \irqnr, \irqnr, #ACTIVEIRQ_MASK /* Clear spurious bits 
*/
 
                .endm
+#else
+               /*
+                * The interrupt numbering scheme is defined in the
+                * interrupt controller spec.  To wit:
+                *
+                * Interrupts 0-15 are IPI
+                * 16-28 are reserved
+                * 29-31 are local.  We allow 30 to be used for the watchdog.
+                * 32-1020 are global
+                * 1021-1022 are reserved
+                * 1023 is "spurious" (no interrupt)
+                *
+                * For now, we ignore all local interrupts so only return an
+                * interrupt if it's between 30 and 1020.  The test_for_ipi
+                * routine below will pick up on IPIs.
+                * A simple read from the controller will tell us the number
+                * of the highest priority enabled interrupt.
+                * We then just need to check whether it is in the
+                * valid range for an IRQ (30-1020 inclusive).
+                */
+               .macro  get_irqnr_and_base, irqnr, irqstat, base, tmp
+               ldr     \base, =OMAP44XX_VA_GIC_CPU_BASE
+               ldr     \irqstat, [\base, #GIC_CPU_INTACK]
+
+               ldr     \tmp, =1021
+
+               bic     \irqnr, \irqstat, #0x1c00
+
+               cmp     \irqnr, #29
+               cmpcc   \irqnr, \irqnr
+               cmpne   \irqnr, \tmp
+               cmpcs   \irqnr, \irqnr
+               .endm
+#endif
 
                .macro  irq_prio_table
                .endm
diff --git a/arch/arm/plat-omap/include/mach/io.h 
b/arch/arm/plat-omap/include/mach/io.h
index 0610d7e..f786471 100644
--- a/arch/arm/plat-omap/include/mach/io.h
+++ b/arch/arm/plat-omap/include/mach/io.h
@@ -157,6 +157,40 @@
 #define DSP_MMU_34XX_VIRT      0xe2000000
 #define DSP_MMU_34XX_SIZE      SZ_4K
 
+
+#elif defined(CONFIG_ARCH_OMAP4)
+/* We map both L3 and L4 on OMAP4 */
+#define L3_44XX_PHYS           L3_44XX_BASE
+#define L3_44XX_VIRT           0xd4000000
+#define L3_44XX_SIZE           SZ_1M
+
+#define L4_44XX_PHYS           L4_44XX_BASE
+#define L4_44XX_VIRT           0xda000000
+#define L4_44XX_SIZE           SZ_4M
+
+
+#define L4_WK_44XX_PHYS                L4_WK_44XX_BASE
+#define L4_WK_44XX_VIRT                0xda300000
+#define L4_WK_44XX_SIZE                SZ_1M
+
+#define L4_PER_44XX_PHYS       L4_PER_44XX_BASE
+#define L4_PER_44XX_VIRT       0xd8000000
+#define L4_PER_44XX_SIZE       SZ_4M
+
+#define L4_EMU_44XX_PHYS       L4_EMU_44XX_BASE
+#define L4_EMU_44XX_VIRT       0xe4000000
+#define L4_EMU_44XX_SIZE       SZ_64M
+
+#define OMAP44XX_GPMC_PHYS     OMAP44XX_GPMC_BASE
+#define OMAP44XX_GPMC_VIRT     0xe0000000
+#define OMAP44XX_GPMC_SIZE     SZ_1M
+
+
+#define IO_OFFSET              0x90000000
+#define __IO_ADDRESS(pa)       ((pa) + IO_OFFSET)/* Works for L3 and L4 */
+#define __OMAP2_IO_ADDRESS(pa) ((pa) + IO_OFFSET)/* Works for L3 and L4 */
+#define io_v2p(va)             ((va) - IO_OFFSET)/* Works for L3 and L4 */
+
 #endif
 
 #define IO_ADDRESS(pa)         IOMEM(__IO_ADDRESS(pa))
diff --git a/arch/arm/plat-omap/include/mach/irqs.h 
b/arch/arm/plat-omap/include/mach/irqs.h
index 7f57ee6..81d5ab7 100644
--- a/arch/arm/plat-omap/include/mach/irqs.h
+++ b/arch/arm/plat-omap/include/mach/irqs.h
@@ -318,109 +318,114 @@
 #define INT_850_DMA_CH15       (62 + IH2_BASE)
 #define INT_850_NAND           (63 + IH2_BASE)
 
-#define INT_24XX_SYS_NIRQ      7
-#define INT_24XX_SDMA_IRQ0     12
-#define INT_24XX_SDMA_IRQ1     13
-#define INT_24XX_SDMA_IRQ2     14
-#define INT_24XX_SDMA_IRQ3     15
-#define INT_24XX_CAM_IRQ       24
-#define INT_24XX_DSS_IRQ       25
-#define INT_24XX_MAIL_U0_MPU   26
-#define INT_24XX_DSP_UMA       27
-#define INT_24XX_DSP_MMU       28
-#define INT_24XX_GPIO_BANK1    29
-#define INT_24XX_GPIO_BANK2    30
-#define INT_24XX_GPIO_BANK3    31
-#define INT_24XX_GPIO_BANK4    32
-#define INT_24XX_GPIO_BANK5    33
-#define INT_24XX_MAIL_U3_MPU   34
-#define INT_24XX_GPTIMER1      37
-#define INT_24XX_GPTIMER2      38
-#define INT_24XX_GPTIMER3      39
-#define INT_24XX_GPTIMER4      40
-#define INT_24XX_GPTIMER5      41
-#define INT_24XX_GPTIMER6      42
-#define INT_24XX_GPTIMER7      43
-#define INT_24XX_GPTIMER8      44
-#define INT_24XX_GPTIMER9      45
-#define INT_24XX_GPTIMER10     46
-#define INT_24XX_GPTIMER11     47
-#define INT_24XX_GPTIMER12     48
-#define INT_24XX_SHA1MD5       51
-#define INT_24XX_MCBSP4_IRQ_TX 54
-#define INT_24XX_MCBSP4_IRQ_RX 55
-#define INT_24XX_I2C1_IRQ      56
-#define INT_24XX_I2C2_IRQ      57
-#define INT_24XX_HDQ_IRQ       58
-#define INT_24XX_MCBSP1_IRQ_TX 59
-#define INT_24XX_MCBSP1_IRQ_RX 60
-#define INT_24XX_MCBSP2_IRQ_TX 62
-#define INT_24XX_MCBSP2_IRQ_RX 63
-#define INT_24XX_SPI1_IRQ      65
-#define INT_24XX_SPI2_IRQ      66
-#define INT_24XX_UART1_IRQ     72
-#define INT_24XX_UART2_IRQ     73
-#define INT_24XX_UART3_IRQ     74
-#define INT_24XX_USB_IRQ_GEN   75
-#define INT_24XX_USB_IRQ_NISO  76
-#define INT_24XX_USB_IRQ_ISO   77
-#define INT_24XX_USB_IRQ_HGEN  78
-#define INT_24XX_USB_IRQ_HSOF  79
-#define INT_24XX_USB_IRQ_OTG   80
-#define INT_24XX_MCBSP5_IRQ_TX 81
-#define INT_24XX_MCBSP5_IRQ_RX 82
-#define INT_24XX_MMC_IRQ       83
-#define INT_24XX_MMC2_IRQ      86
-#define INT_24XX_MCBSP3_IRQ_TX 89
-#define INT_24XX_MCBSP3_IRQ_RX 90
-#define INT_24XX_SPI3_IRQ      91
+#ifdef CONFIG_ARCH_OMAP4
+#define IRQ_GIC_START          32
+#else
+#define        IRQ_GIC_START           0
+#endif
 
-#define INT_243X_MCBSP2_IRQ    16
-#define INT_243X_MCBSP3_IRQ    17
-#define INT_243X_MCBSP4_IRQ    18
-#define INT_243X_MCBSP5_IRQ    19
-#define INT_243X_MCBSP1_IRQ    64
-#define INT_243X_HS_USB_MC     92
-#define INT_243X_HS_USB_DMA    93
-#define INT_243X_CARKIT_IRQ    94
+#define INT_24XX_SYS_NIRQ      (7 + IRQ_GIC_START)
+#define INT_24XX_SDMA_IRQ0     (12 + IRQ_GIC_START)
+#define INT_24XX_SDMA_IRQ1     (13 + IRQ_GIC_START)
+#define INT_24XX_SDMA_IRQ2     (14 + IRQ_GIC_START)
+#define INT_24XX_SDMA_IRQ3     (15 + IRQ_GIC_START)
+#define INT_24XX_CAM_IRQ       (24 + IRQ_GIC_START)
+#define INT_24XX_DSS_IRQ       (25 + IRQ_GIC_START)
+#define INT_24XX_MAIL_U0_MPU   (26 + IRQ_GIC_START)
+#define INT_24XX_DSP_UMA       (27 + IRQ_GIC_START)
+#define INT_24XX_DSP_MMU       (28 + IRQ_GIC_START)
+#define INT_24XX_GPIO_BANK1    (29 + IRQ_GIC_START)
+#define INT_24XX_GPIO_BANK2    (30 + IRQ_GIC_START)
+#define INT_24XX_GPIO_BANK3    (31 + IRQ_GIC_START)
+#define INT_24XX_GPIO_BANK4    (32 + IRQ_GIC_START)
+#define INT_24XX_GPIO_BANK5    (33 + IRQ_GIC_START)
+#define INT_24XX_MAIL_U3_MPU   (34 + IRQ_GIC_START)
+#define INT_24XX_GPTIMER1      (37 + IRQ_GIC_START)
+#define INT_24XX_GPTIMER2      (38 + IRQ_GIC_START)
+#define INT_24XX_GPTIMER3      (39 + IRQ_GIC_START)
+#define INT_24XX_GPTIMER4      (40 + IRQ_GIC_START)
+#define INT_24XX_GPTIMER5      (41 + IRQ_GIC_START)
+#define INT_24XX_GPTIMER6      (42 + IRQ_GIC_START)
+#define INT_24XX_GPTIMER7      (43 + IRQ_GIC_START)
+#define INT_24XX_GPTIMER8      (44 + IRQ_GIC_START)
+#define INT_24XX_GPTIMER9      (45 + IRQ_GIC_START)
+#define INT_24XX_GPTIMER10     (46 + IRQ_GIC_START)
+#define INT_24XX_GPTIMER11     (47 + IRQ_GIC_START)
+#define INT_24XX_GPTIMER12     (48 + IRQ_GIC_START)
+#define INT_24XX_SHA1MD5       (51 + IRQ_GIC_START)
+#define INT_24XX_MCBSP4_IRQ_TX (54 + IRQ_GIC_START)
+#define INT_24XX_MCBSP4_IRQ_RX (55 + IRQ_GIC_START)
+#define INT_24XX_I2C1_IRQ      (56 + IRQ_GIC_START)
+#define INT_24XX_I2C2_IRQ      (57 + IRQ_GIC_START)
+#define INT_24XX_HDQ_IRQ       (58 + IRQ_GIC_START)
+#define INT_24XX_MCBSP1_IRQ_TX (59 + IRQ_GIC_START)
+#define INT_24XX_MCBSP1_IRQ_RX (60 + IRQ_GIC_START)
+#define INT_24XX_MCBSP2_IRQ_TX (62 + IRQ_GIC_START)
+#define INT_24XX_MCBSP2_IRQ_RX (63 + IRQ_GIC_START)
+#define INT_24XX_SPI1_IRQ      (65 + IRQ_GIC_START)
+#define INT_24XX_SPI2_IRQ      (66 + IRQ_GIC_START)
+#define INT_24XX_UART1_IRQ     (72 + IRQ_GIC_START)
+#define INT_24XX_UART2_IRQ     (73 + IRQ_GIC_START)
+#define INT_24XX_UART3_IRQ     (74 + IRQ_GIC_START)
+#define INT_24XX_USB_IRQ_GEN   (75 + IRQ_GIC_START)
+#define INT_24XX_USB_IRQ_NISO  (76 + IRQ_GIC_START)
+#define INT_24XX_USB_IRQ_ISO   (77 + IRQ_GIC_START)
+#define INT_24XX_USB_IRQ_HGEN  (78 + IRQ_GIC_START)
+#define INT_24XX_USB_IRQ_HSOF  (79 + IRQ_GIC_START)
+#define INT_24XX_USB_IRQ_OTG   (80 + IRQ_GIC_START)
+#define INT_24XX_MCBSP5_IRQ_TX (81 + IRQ_GIC_START)
+#define INT_24XX_MCBSP5_IRQ_RX (82 + IRQ_GIC_START)
+#define INT_24XX_MMC_IRQ       (83 + IRQ_GIC_START)
+#define INT_24XX_MMC2_IRQ      (86 + IRQ_GIC_START)
+#define INT_24XX_MCBSP3_IRQ_TX (89 + IRQ_GIC_START)
+#define INT_24XX_MCBSP3_IRQ_RX (90 + IRQ_GIC_START)
+#define INT_24XX_SPI3_IRQ      (91 + IRQ_GIC_START)
 
-#define INT_34XX_BENCH_MPU_EMUL        3
-#define INT_34XX_ST_MCBSP2_IRQ 4
-#define INT_34XX_ST_MCBSP3_IRQ 5
-#define INT_34XX_SSM_ABORT_IRQ 6
-#define INT_34XX_SYS_NIRQ      7
-#define INT_34XX_D2D_FW_IRQ    8
-#define INT_34XX_PRCM_MPU_IRQ  11
-#define INT_34XX_MCBSP1_IRQ    16
-#define INT_34XX_MCBSP2_IRQ    17
-#define INT_34XX_MCBSP3_IRQ    22
-#define INT_34XX_MCBSP4_IRQ    23
-#define INT_34XX_CAM_IRQ       24
-#define INT_34XX_MCBSP5_IRQ    27
-#define INT_34XX_GPIO_BANK1    29
-#define INT_34XX_GPIO_BANK2    30
-#define INT_34XX_GPIO_BANK3    31
-#define INT_34XX_GPIO_BANK4    32
-#define INT_34XX_GPIO_BANK5    33
-#define INT_34XX_GPIO_BANK6    34
-#define INT_34XX_USIM_IRQ      35
-#define INT_34XX_WDT3_IRQ      36
-#define INT_34XX_SPI4_IRQ      48
-#define INT_34XX_SHA1MD52_IRQ  49
-#define INT_34XX_FPKA_READY_IRQ        50
-#define INT_34XX_SHA1MD51_IRQ  51
-#define INT_34XX_RNG_IRQ       52
-#define INT_34XX_I2C3_IRQ      61
-#define INT_34XX_FPKA_ERROR_IRQ        64
-#define INT_34XX_PBIAS_IRQ     75
-#define INT_34XX_OHCI_IRQ      76
-#define INT_34XX_EHCI_IRQ      77
-#define INT_34XX_TLL_IRQ       78
-#define INT_34XX_PARTHASH_IRQ  79
-#define INT_34XX_MMC3_IRQ      94
-#define INT_34XX_GPT12_IRQ     95
+#define INT_243X_MCBSP2_IRQ    (16 + IRQ_GIC_START)
+#define INT_243X_MCBSP3_IRQ    (17 + IRQ_GIC_START)
+#define INT_243X_MCBSP4_IRQ    (18 + IRQ_GIC_START)
+#define INT_243X_MCBSP5_IRQ    (19 + IRQ_GIC_START)
+#define INT_243X_MCBSP1_IRQ    (64 + IRQ_GIC_START)
+#define INT_243X_HS_USB_MC     (92 + IRQ_GIC_START)
+#define INT_243X_HS_USB_DMA    (93 + IRQ_GIC_START)
+#define INT_243X_CARKIT_IRQ    (94 + IRQ_GIC_START)
 
-#define        INT_34XX_BENCH_MPU_EMUL 3
+#define INT_34XX_BENCH_MPU_EMUL        (3 + IRQ_GIC_START)
+#define INT_34XX_ST_MCBSP2_IRQ (4 + IRQ_GIC_START)
+#define INT_34XX_ST_MCBSP3_IRQ (5 + IRQ_GIC_START)
+#define INT_34XX_SSM_ABORT_IRQ (6 + IRQ_GIC_START)
+#define INT_34XX_SYS_NIRQ      (7 + IRQ_GIC_START)
+#define INT_34XX_D2D_FW_IRQ    (8 + IRQ_GIC_START)
+#define INT_34XX_PRCM_MPU_IRQ  (11 + IRQ_GIC_START)
+#define INT_34XX_MCBSP1_IRQ    (16 + IRQ_GIC_START)
+#define INT_34XX_MCBSP2_IRQ    (17 + IRQ_GIC_START)
+#define INT_34XX_MCBSP3_IRQ    (22 + IRQ_GIC_START)
+#define INT_34XX_MCBSP4_IRQ    (23 + IRQ_GIC_START)
+#define INT_34XX_CAM_IRQ       (24 + IRQ_GIC_START)
+#define INT_34XX_MCBSP5_IRQ    (27 + IRQ_GIC_START)
+#define INT_34XX_GPIO_BANK1    (29 + IRQ_GIC_START)
+#define INT_34XX_GPIO_BANK2    (30 + IRQ_GIC_START)
+#define INT_34XX_GPIO_BANK3    (31 + IRQ_GIC_START)
+#define INT_34XX_GPIO_BANK4    (32 + IRQ_GIC_START)
+#define INT_34XX_GPIO_BANK5    (33 + IRQ_GIC_START)
+#define INT_34XX_GPIO_BANK6    (34 + IRQ_GIC_START)
+#define INT_34XX_USIM_IRQ      (35 + IRQ_GIC_START)
+#define INT_34XX_WDT3_IRQ      (36 + IRQ_GIC_START)
+#define INT_34XX_SPI4_IRQ      (48 + IRQ_GIC_START)
+#define INT_34XX_SHA1MD52_IRQ  (49 + IRQ_GIC_START)
+#define INT_34XX_FPKA_READY_IRQ        (50 + IRQ_GIC_START)
+#define INT_34XX_SHA1MD51_IRQ  (51 + IRQ_GIC_START)
+#define INT_34XX_RNG_IRQ       (52 + IRQ_GIC_START)
+#define INT_34XX_I2C3_IRQ      (61 + IRQ_GIC_START)
+#define INT_34XX_FPKA_ERROR_IRQ        (64 + IRQ_GIC_START)
+#define INT_34XX_PBIAS_IRQ     (75 + IRQ_GIC_START)
+#define INT_34XX_OHCI_IRQ      (76 + IRQ_GIC_START)
+#define INT_34XX_EHCI_IRQ      (77 + IRQ_GIC_START)
+#define INT_34XX_TLL_IRQ       (78 + IRQ_GIC_START)
+#define INT_34XX_PARTHASH_IRQ  (79 + IRQ_GIC_START)
+#define INT_34XX_MMC3_IRQ      (94 + IRQ_GIC_START)
+#define INT_34XX_GPT12_IRQ     (95 + IRQ_GIC_START)
+#define INT_44XX_SPI5_IRQ      (69 + IRQ_GIC_START)
 
 /* Max. 128 level 2 IRQs (OMAP1610), 192 GPIOs (OMAP730/850) and
  * 16 MPUIO lines */
diff --git a/arch/arm/plat-omap/include/mach/memory.h 
b/arch/arm/plat-omap/include/mach/memory.h
index 99ed564..9ad41dc 100644
--- a/arch/arm/plat-omap/include/mach/memory.h
+++ b/arch/arm/plat-omap/include/mach/memory.h
@@ -38,7 +38,8 @@
  */
 #if defined(CONFIG_ARCH_OMAP1)
 #define PHYS_OFFSET            UL(0x10000000)
-#elif defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3)
+#elif defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) || \
+                       defined(CONFIG_ARCH_OMAP4)
 #define PHYS_OFFSET            UL(0x80000000)
 #endif
 
diff --git a/arch/arm/plat-omap/include/mach/serial.h 
b/arch/arm/plat-omap/include/mach/serial.h
index 8a676a0..ed4738b 100644
--- a/arch/arm/plat-omap/include/mach/serial.h
+++ b/arch/arm/plat-omap/include/mach/serial.h
@@ -15,19 +15,28 @@
 #define OMAP_UART1_BASE                0xfffb0000
 #define OMAP_UART2_BASE                0xfffb0800
 #define OMAP_UART3_BASE                0xfffb9800
+#define OMAP_MAX_NR_PORTS      3
 #elif defined(CONFIG_ARCH_OMAP2)
 /* OMAP2 serial ports */
 #define OMAP_UART1_BASE                0x4806a000
 #define OMAP_UART2_BASE                0x4806c000
 #define OMAP_UART3_BASE                0x4806e000
+#define OMAP_MAX_NR_PORTS      3
 #elif defined(CONFIG_ARCH_OMAP3)
 /* OMAP3 serial ports */
 #define OMAP_UART1_BASE                0x4806a000
 #define OMAP_UART2_BASE                0x4806c000
 #define OMAP_UART3_BASE                0x49020000
+#define OMAP_MAX_NR_PORTS      3
+#elif defined(CONFIG_ARCH_OMAP4)
+/* OMAP4 serial ports */
+#define OMAP_UART1_BASE                0x4806a000
+#define OMAP_UART2_BASE                0x4806c000
+#define OMAP_UART3_BASE                0x48020000
+#define OMAP_UART4_BASE                0x4806e000
+#define OMAP_MAX_NR_PORTS      4
 #endif
 
-#define OMAP_MAX_NR_PORTS      3
 #define OMAP1510_BASE_BAUD     (12000000/16)
 #define OMAP16XX_BASE_BAUD     (48000000/16)
 #define OMAP24XX_BASE_BAUD     (48000000/16)
diff --git a/arch/arm/plat-omap/include/mach/system.h 
b/arch/arm/plat-omap/include/mach/system.h
index 1060e34..371f98a 100644
--- a/arch/arm/plat-omap/include/mach/system.h
+++ b/arch/arm/plat-omap/include/mach/system.h
@@ -48,4 +48,11 @@ static inline void arch_reset(char mode, const char *cmd)
                omap_prcm_arch_reset(mode);
 }
 
+#ifdef CONFIG_ARCH_OMAP4
+void omap_prcm_arch_reset(char mode)
+{
+       /* dummy hook for Linking */
+}
+#endif
+
 #endif
-- 
1.5.4.7

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to