* [PATCH 1/9] omap3/4: uart: fix full-fifo write abort
@ 2010-02-18 8:59 Santosh Shilimkar
2010-02-18 8:59 ` [PATCH 2/9] omap2/3/4: ioremap omap_globals module Santosh Shilimkar
2010-02-19 5:25 ` [PATCH 1/9] omap3/4: uart: fix full-fifo write abort Shilimkar, Santosh
0 siblings, 2 replies; 25+ messages in thread
From: Santosh Shilimkar @ 2010-02-18 8:59 UTC (permalink / raw)
To: linux-arm-kernel
This patch is addition to the already merged commit on non-empty
uart fifo read abort. "ce13d4716a276f4331d78ba28a5093a63822ab95"
OMAP3630 and OMAP4430 UART IP blocks have a restriction on TX FIFO
too. If you try to write to the tx fifo when it is full, the system aborts.
This can be easily reproducible by not suppressing interconnect errors or
long duration testing where continuous prints over console from multiple
threads. This patch is addressing the issue by ensuring that write is
not issued while fifo is full. A timeout is added to avoid any hang
on fifo-full for 10 mS which is unlikely case.
Patch is validated on OMAP3630 and OMAP4 SDP.
V2 version removed the additional 1 uS on every TX as per
Tony's suggestion
Signed-off-by: Woodruff Richard <r-woodruff2@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
CC: Ghorai Sukumar <s-ghorai@ti.com>
---
arch/arm/mach-omap2/serial.c | 31 ++++++++++++++++++++++++++++---
1 files changed, 28 insertions(+), 3 deletions(-)
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
index 5f3035e..b79bc89 100644
--- a/arch/arm/mach-omap2/serial.c
+++ b/arch/arm/mach-omap2/serial.c
@@ -23,6 +23,7 @@
#include <linux/serial_reg.h>
#include <linux/clk.h>
#include <linux/io.h>
+#include <linux/delay.h>
#include <plat/common.h>
#include <plat/board.h>
@@ -160,6 +161,13 @@ static inline unsigned int serial_read_reg(struct plat_serial8250_port *up,
return (unsigned int)__raw_readb(up->membase + offset);
}
+static inline void __serial_write_reg(struct uart_port *up, int offset,
+ int value)
+{
+ offset <<= up->regshift;
+ __raw_writeb(value, up->membase + offset);
+}
+
static inline void serial_write_reg(struct plat_serial8250_port *p, int offset,
int value)
{
@@ -620,6 +628,20 @@ static unsigned int serial_in_override(struct uart_port *up, int offset)
return __serial_read_reg(up, offset);
}
+static void serial_out_override(struct uart_port *up, int offset, int value)
+{
+ unsigned int status, tmout = 10000;
+
+ status = __serial_read_reg(up, UART_LSR);
+ while (!(status & UART_LSR_THRE)) {
+ /* Wait up to 10ms for the character(s) to be sent. */
+ if (--tmout == 0)
+ break;
+ udelay(1);
+ status = __serial_read_reg(up, UART_LSR);
+ }
+ __serial_write_reg(up, offset, value);
+}
void __init omap_serial_early_init(void)
{
int i;
@@ -721,11 +743,14 @@ void __init omap_serial_init_port(int port)
* omap3xxx: Never read empty UART fifo on UARTs
* with IP rev >=0x52
*/
- if (cpu_is_omap44xx())
+ if (cpu_is_omap44xx()) {
uart->p->serial_in = serial_in_override;
- else if ((serial_read_reg(uart->p, UART_OMAP_MVER) & 0xFF)
- >= UART_OMAP_NO_EMPTY_FIFO_READ_IP_REV)
+ uart->p->serial_out = serial_out_override;
+ } else if ((serial_read_reg(uart->p, UART_OMAP_MVER) & 0xFF)
+ >= UART_OMAP_NO_EMPTY_FIFO_READ_IP_REV) {
uart->p->serial_in = serial_in_override;
+ uart->p->serial_out = serial_out_override;
+ }
}
/**
--
1.6.0.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 2/9] omap2/3/4: ioremap omap_globals module
2010-02-18 8:59 [PATCH 1/9] omap3/4: uart: fix full-fifo write abort Santosh Shilimkar
@ 2010-02-18 8:59 ` Santosh Shilimkar
2010-02-18 8:59 ` [PATCH 3/9] omap4: sdma: Enable the idle modes on omap4 Santosh Shilimkar
` (2 more replies)
2010-02-19 5:25 ` [PATCH 1/9] omap3/4: uart: fix full-fifo write abort Shilimkar, Santosh
1 sibling, 3 replies; 25+ messages in thread
From: Santosh Shilimkar @ 2010-02-18 8:59 UTC (permalink / raw)
To: linux-arm-kernel
This is a clean-up patch towards dynamic allocation of IO space
instead of using harcoded macros to calculate virtual addresses.
Also update the sdrc, prcm, tap and control module to
allocate iospace dynamically
As per Tony's suggestion V2 version drops tap changes
becasue ioremap uses cpu_is_omap2420() and cpu_is_omap2430(),
so we can't use that for setting tap_base. Hence ioremap()
won't work for tap until omap2_check_revision() is done
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
CC: Kevin Hilman <khilman@deeprootsystems.com>
CC: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap2/control.c | 6 ++++-
arch/arm/mach-omap2/prcm.c | 16 ++++++++++--
arch/arm/mach-omap2/sdrc.c | 11 +++++++-
arch/arm/plat-omap/common.c | 38 +++++++++++++++---------------
arch/arm/plat-omap/include/plat/common.h | 17 ++++++++-----
5 files changed, 56 insertions(+), 32 deletions(-)
diff --git a/arch/arm/mach-omap2/control.c b/arch/arm/mach-omap2/control.c
index cdd1f35..43f8a33 100644
--- a/arch/arm/mach-omap2/control.c
+++ b/arch/arm/mach-omap2/control.c
@@ -140,7 +140,11 @@ static struct omap3_control_regs control_context;
void __init omap2_set_globals_control(struct omap_globals *omap2_globals)
{
- omap2_ctrl_base = omap2_globals->ctrl;
+ /* Static mapping, never released */
+ if (omap2_globals->ctrl) {
+ omap2_ctrl_base = ioremap(omap2_globals->ctrl, SZ_4K);
+ WARN_ON(!omap2_ctrl_base);
+ }
}
void __iomem *omap_ctrl_base_get(void)
diff --git a/arch/arm/mach-omap2/prcm.c b/arch/arm/mach-omap2/prcm.c
index e8e121a..338d5f6 100644
--- a/arch/arm/mach-omap2/prcm.c
+++ b/arch/arm/mach-omap2/prcm.c
@@ -279,9 +279,19 @@ int omap2_cm_wait_idlest(void __iomem *reg, u32 mask, const char *name)
void __init omap2_set_globals_prcm(struct omap_globals *omap2_globals)
{
- prm_base = omap2_globals->prm;
- cm_base = omap2_globals->cm;
- cm2_base = omap2_globals->cm2;
+ /* Static mapping, never released */
+ if (omap2_globals->prm) {
+ prm_base = ioremap(omap2_globals->prm, SZ_8K);
+ WARN_ON(!prm_base);
+ }
+ if (omap2_globals->cm) {
+ cm_base = ioremap(omap2_globals->cm, SZ_8K);
+ WARN_ON(!cm_base);
+ }
+ if (omap2_globals->cm2) {
+ cm2_base = ioremap(omap2_globals->cm2, SZ_8K);
+ WARN_ON(!cm2_base);
+ }
}
#ifdef CONFIG_ARCH_OMAP3
diff --git a/arch/arm/mach-omap2/sdrc.c b/arch/arm/mach-omap2/sdrc.c
index cbfbd14..4c65f56 100644
--- a/arch/arm/mach-omap2/sdrc.c
+++ b/arch/arm/mach-omap2/sdrc.c
@@ -119,8 +119,15 @@ int omap2_sdrc_get_params(unsigned long r,
void __init omap2_set_globals_sdrc(struct omap_globals *omap2_globals)
{
- omap2_sdrc_base = omap2_globals->sdrc;
- omap2_sms_base = omap2_globals->sms;
+ /* Static mapping, never released */
+ if (omap2_globals->sdrc) {
+ omap2_sdrc_base = ioremap(omap2_globals->sdrc, SZ_64K);
+ WARN_ON(!omap2_sdrc_base);
+ }
+ if (omap2_globals->sms) {
+ omap2_sms_base = ioremap(omap2_globals->sms, SZ_64K);
+ WARN_ON(!omap2_sms_base);
+ }
}
/**
diff --git a/arch/arm/plat-omap/common.c b/arch/arm/plat-omap/common.c
index 4f29e8c..088c1a0 100644
--- a/arch/arm/plat-omap/common.c
+++ b/arch/arm/plat-omap/common.c
@@ -256,11 +256,11 @@ static void __init __omap2_set_globals(struct omap_globals *omap2_globals)
static struct omap_globals omap242x_globals = {
.class = OMAP242X_CLASS,
.tap = OMAP2_L4_IO_ADDRESS(0x48014000),
- .sdrc = OMAP2_L3_IO_ADDRESS(OMAP2420_SDRC_BASE),
- .sms = OMAP2_L3_IO_ADDRESS(OMAP2420_SMS_BASE),
- .ctrl = OMAP2_L4_IO_ADDRESS(OMAP2420_CTRL_BASE),
- .prm = OMAP2_L4_IO_ADDRESS(OMAP2420_PRM_BASE),
- .cm = OMAP2_L4_IO_ADDRESS(OMAP2420_CM_BASE),
+ .sdrc = OMAP2420_SDRC_BASE,
+ .sms = OMAP2420_SMS_BASE,
+ .ctrl = OMAP2420_CTRL_BASE,
+ .prm = OMAP2420_PRM_BASE,
+ .cm = OMAP2420_CM_BASE,
.uart1_phys = OMAP2_UART1_BASE,
.uart2_phys = OMAP2_UART2_BASE,
.uart3_phys = OMAP2_UART3_BASE,
@@ -277,11 +277,11 @@ void __init omap2_set_globals_242x(void)
static struct omap_globals omap243x_globals = {
.class = OMAP243X_CLASS,
.tap = OMAP2_L4_IO_ADDRESS(0x4900a000),
- .sdrc = OMAP2_L3_IO_ADDRESS(OMAP243X_SDRC_BASE),
- .sms = OMAP2_L3_IO_ADDRESS(OMAP243X_SMS_BASE),
- .ctrl = OMAP2_L4_IO_ADDRESS(OMAP243X_CTRL_BASE),
- .prm = OMAP2_L4_IO_ADDRESS(OMAP2430_PRM_BASE),
- .cm = OMAP2_L4_IO_ADDRESS(OMAP2430_CM_BASE),
+ .sdrc = OMAP243X_SDRC_BASE,
+ .sms = OMAP243X_SMS_BASE,
+ .ctrl = OMAP243X_CTRL_BASE,
+ .prm = OMAP2430_PRM_BASE,
+ .cm = OMAP2430_CM_BASE,
.uart1_phys = OMAP2_UART1_BASE,
.uart2_phys = OMAP2_UART2_BASE,
.uart3_phys = OMAP2_UART3_BASE,
@@ -298,11 +298,11 @@ void __init omap2_set_globals_243x(void)
static struct omap_globals omap3_globals = {
.class = OMAP343X_CLASS,
.tap = OMAP2_L4_IO_ADDRESS(0x4830A000),
- .sdrc = OMAP2_L3_IO_ADDRESS(OMAP343X_SDRC_BASE),
- .sms = OMAP2_L3_IO_ADDRESS(OMAP343X_SMS_BASE),
- .ctrl = OMAP2_L4_IO_ADDRESS(OMAP343X_CTRL_BASE),
- .prm = OMAP2_L4_IO_ADDRESS(OMAP3430_PRM_BASE),
- .cm = OMAP2_L4_IO_ADDRESS(OMAP3430_CM_BASE),
+ .sdrc = OMAP343X_SDRC_BASE,
+ .sms = OMAP343X_SMS_BASE,
+ .ctrl = OMAP343X_CTRL_BASE,
+ .prm = OMAP3430_PRM_BASE,
+ .cm = OMAP3430_CM_BASE,
.uart1_phys = OMAP3_UART1_BASE,
.uart2_phys = OMAP3_UART2_BASE,
.uart3_phys = OMAP3_UART3_BASE,
@@ -325,10 +325,10 @@ void __init omap2_set_globals_36xx(void)
static struct omap_globals omap4_globals = {
.class = OMAP443X_CLASS,
.tap = OMAP2_L4_IO_ADDRESS(OMAP443X_SCM_BASE),
- .ctrl = OMAP2_L4_IO_ADDRESS(OMAP443X_CTRL_BASE),
- .prm = OMAP2_L4_IO_ADDRESS(OMAP4430_PRM_BASE),
- .cm = OMAP2_L4_IO_ADDRESS(OMAP4430_CM_BASE),
- .cm2 = OMAP2_L4_IO_ADDRESS(OMAP4430_CM2_BASE),
+ .ctrl = OMAP443X_CTRL_BASE,
+ .prm = OMAP4430_PRM_BASE,
+ .cm = OMAP4430_CM_BASE,
+ .cm2 = OMAP4430_CM2_BASE,
.uart1_phys = OMAP4_UART1_BASE,
.uart2_phys = OMAP4_UART2_BASE,
.uart3_phys = OMAP4_UART3_BASE,
diff --git a/arch/arm/plat-omap/include/plat/common.h b/arch/arm/plat-omap/include/plat/common.h
index e04a58e..d0faff0 100644
--- a/arch/arm/plat-omap/include/plat/common.h
+++ b/arch/arm/plat-omap/include/plat/common.h
@@ -37,16 +37,19 @@ extern void __iomem *gic_cpu_base_addr;
extern void omap_map_common_io(void);
extern struct sys_timer omap_timer;
-/* IO bases for various OMAP processors */
+/* IO bases for various OMAP processors
+ * Except the tap base, rest all the io bases
+ * listed are physical addresses.
+ */
struct omap_globals {
u32 class; /* OMAP class to detect */
void __iomem *tap; /* Control module ID code */
- void __iomem *sdrc; /* SDRAM Controller */
- void __iomem *sms; /* SDRAM Memory Scheduler */
- void __iomem *ctrl; /* System Control Module */
- void __iomem *prm; /* Power and Reset Management */
- void __iomem *cm; /* Clock Management */
- void __iomem *cm2;
+ unsigned long sdrc; /* SDRAM Controller */
+ unsigned long sms; /* SDRAM Memory Scheduler */
+ unsigned long ctrl; /* System Control Module */
+ unsigned long prm; /* Power and Reset Management */
+ unsigned long cm; /* Clock Management */
+ unsigned long cm2;
unsigned long uart1_phys;
unsigned long uart2_phys;
unsigned long uart3_phys;
--
1.6.0.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 3/9] omap4: sdma: Enable the idle modes on omap4
2010-02-18 8:59 ` [PATCH 2/9] omap2/3/4: ioremap omap_globals module Santosh Shilimkar
@ 2010-02-18 8:59 ` Santosh Shilimkar
2010-02-18 8:59 ` [PATCH 4/9] omap: sdma: Limit the secure reserve channel fix for omap3 Santosh Shilimkar
2010-02-18 17:35 ` [PATCH 2/9] omap2/3/4: ioremap omap_globals module Paul Walmsley
2010-02-18 22:24 ` Kevin Hilman
2 siblings, 1 reply; 25+ messages in thread
From: Santosh Shilimkar @ 2010-02-18 8:59 UTC (permalink / raw)
To: linux-arm-kernel
This patch enables smart-idle idlemodes and autoidle for sDMA
on OMAP4
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
---
arch/arm/plat-omap/dma.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
index 30ff525..5ec96db 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -2138,7 +2138,7 @@ static int __init omap_init_dma(void)
setup_irq(irq, &omap24xx_dma_irq);
}
- if (cpu_is_omap34xx()) {
+ if (cpu_is_omap34xx() || cpu_is_omap44xx()) {
/* Enable smartidle idlemodes and autoidle */
u32 v = dma_read(OCP_SYSCONFIG);
v &= ~(DMA_SYSCONFIG_MIDLEMODE_MASK |
--
1.6.0.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 4/9] omap: sdma: Limit the secure reserve channel fix for omap3
2010-02-18 8:59 ` [PATCH 3/9] omap4: sdma: Enable the idle modes on omap4 Santosh Shilimkar
@ 2010-02-18 8:59 ` Santosh Shilimkar
2010-02-18 8:59 ` [PATCH 5/9] omap4: Fix omap_type() for omap4 Santosh Shilimkar
0 siblings, 1 reply; 25+ messages in thread
From: Santosh Shilimkar @ 2010-02-18 8:59 UTC (permalink / raw)
To: linux-arm-kernel
The commit 'ba50ea7e' reserves DMA channels 0 and 1 on high
security devices, in order to avoid collision between kernel
dma transfers and ROM code dma transfers.
This fix is applicable only for OMAP3 so add an appropriate
check.
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
CC: Kalle Jokiniemi <kalle.jokiniemi@digia.com>
CC: Kevin Hilman <khilman@deeprootsystems.com>
---
arch/arm/plat-omap/dma.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
index 5ec96db..049165c 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -2149,7 +2149,8 @@ static int __init omap_init_dma(void)
DMA_SYSCONFIG_AUTOIDLE);
dma_write(v , OCP_SYSCONFIG);
/* reserve dma channels 0 and 1 in high security devices */
- if (omap_type() != OMAP2_DEVICE_TYPE_GP) {
+ if (cpu_is_omap34xx() &&
+ (omap_type() != OMAP2_DEVICE_TYPE_GP)) {
printk(KERN_INFO "Reserving DMA channels 0 and 1 for "
"HS ROM code\n");
dma_chan[0].dev_id = 0;
--
1.6.0.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 5/9] omap4: Fix omap_type() for omap4
2010-02-18 8:59 ` [PATCH 4/9] omap: sdma: Limit the secure reserve channel fix for omap3 Santosh Shilimkar
@ 2010-02-18 8:59 ` Santosh Shilimkar
2010-02-18 8:59 ` [PATCH 6/9] omap3/4: Remove overlapping mapping of L4_WKUP io space Santosh Shilimkar
0 siblings, 1 reply; 25+ messages in thread
From: Santosh Shilimkar @ 2010-02-18 8:59 UTC (permalink / raw)
To: linux-arm-kernel
This patch fixes the omap_type function to detect whether the device
is GP or HS
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
---
arch/arm/mach-omap2/id.c | 2 ++
arch/arm/plat-omap/include/plat/control.h | 3 +++
2 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
index 9e7c4ae..e73f7e4 100644
--- a/arch/arm/mach-omap2/id.c
+++ b/arch/arm/mach-omap2/id.c
@@ -57,6 +57,8 @@ int omap_type(void)
val = omap_ctrl_readl(OMAP24XX_CONTROL_STATUS);
} else if (cpu_is_omap34xx()) {
val = omap_ctrl_readl(OMAP343X_CONTROL_STATUS);
+ } else if (cpu_is_omap44xx()) {
+ val = omap_ctrl_readl(OMAP44XX_CONTROL_STATUS);
} else {
pr_err("Cannot detect omap type!\n");
goto out;
diff --git a/arch/arm/plat-omap/include/plat/control.h b/arch/arm/plat-omap/include/plat/control.h
index 2074473..a56deee 100644
--- a/arch/arm/plat-omap/include/plat/control.h
+++ b/arch/arm/plat-omap/include/plat/control.h
@@ -204,6 +204,9 @@
#define OMAP3_PADCONF_SAD2D_MSTANDBY 0x250
#define OMAP3_PADCONF_SAD2D_IDLEACK 0x254
+/* 44xx control status register offset */
+#define OMAP44XX_CONTROL_STATUS 0x2c4
+
/*
* REVISIT: This list of registers is not comprehensive - there are more
* that should be added.
--
1.6.0.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 6/9] omap3/4: Remove overlapping mapping of L4_WKUP io space
2010-02-18 8:59 ` [PATCH 5/9] omap4: Fix omap_type() for omap4 Santosh Shilimkar
@ 2010-02-18 8:59 ` Santosh Shilimkar
2010-02-18 8:59 ` [PATCH 7/9] omap4: Add auto-generated irq and dma headers Santosh Shilimkar
0 siblings, 1 reply; 25+ messages in thread
From: Santosh Shilimkar @ 2010-02-18 8:59 UTC (permalink / raw)
To: linux-arm-kernel
This patch removes the L4 wakeup io mapping section for omap3
and omap4. L4 wakeup space is part of 4MB L4 space which is
already mapped and hence remove the overlapped mapping.
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
---
arch/arm/mach-omap2/io.c | 12 ------------
arch/arm/plat-omap/include/plat/io.h | 9 ---------
arch/arm/plat-omap/io.c | 4 ----
3 files changed, 0 insertions(+), 25 deletions(-)
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index 5a3d6f9..0385a28 100644
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -140,12 +140,6 @@ static struct map_desc omap34xx_io_desc[] __initdata = {
.type = MT_DEVICE
},
{
- .virtual = L4_WK_34XX_VIRT,
- .pfn = __phys_to_pfn(L4_WK_34XX_PHYS),
- .length = L4_WK_34XX_SIZE,
- .type = MT_DEVICE
- },
- {
.virtual = OMAP34XX_GPMC_VIRT,
.pfn = __phys_to_pfn(OMAP34XX_GPMC_PHYS),
.length = OMAP34XX_GPMC_SIZE,
@@ -192,12 +186,6 @@ static struct map_desc omap44xx_io_desc[] __initdata = {
.type = MT_DEVICE,
},
{
- .virtual = L4_WK_44XX_VIRT,
- .pfn = __phys_to_pfn(L4_WK_44XX_PHYS),
- .length = L4_WK_44XX_SIZE,
- .type = MT_DEVICE,
- },
- {
.virtual = OMAP44XX_GPMC_VIRT,
.pfn = __phys_to_pfn(OMAP44XX_GPMC_PHYS),
.length = OMAP44XX_GPMC_SIZE,
diff --git a/arch/arm/plat-omap/include/plat/io.h b/arch/arm/plat-omap/include/plat/io.h
index eef914d..128b549 100644
--- a/arch/arm/plat-omap/include/plat/io.h
+++ b/arch/arm/plat-omap/include/plat/io.h
@@ -158,10 +158,6 @@
* VPOM3430 was not working for Int controller
*/
-#define L4_WK_34XX_PHYS L4_WK_34XX_BASE /* 0x48300000 --> 0xfa300000 */
-#define L4_WK_34XX_VIRT (L4_WK_34XX_PHYS + OMAP2_L4_IO_OFFSET)
-#define L4_WK_34XX_SIZE SZ_1M
-
#define L4_PER_34XX_PHYS L4_PER_34XX_BASE
/* 0x49000000 --> 0xfb000000 */
#define L4_PER_34XX_VIRT (L4_PER_34XX_PHYS + OMAP2_L4_IO_OFFSET)
@@ -204,11 +200,6 @@
#define L4_44XX_VIRT (L4_44XX_PHYS + OMAP2_L4_IO_OFFSET)
#define L4_44XX_SIZE SZ_4M
-
-#define L4_WK_44XX_PHYS L4_WK_44XX_BASE /* 0x4a300000 --> 0xfc300000 */
-#define L4_WK_44XX_VIRT (L4_WK_44XX_PHYS + OMAP2_L4_IO_OFFSET)
-#define L4_WK_44XX_SIZE SZ_1M
-
#define L4_PER_44XX_PHYS L4_PER_44XX_BASE
/* 0x48000000 --> 0xfa000000 */
#define L4_PER_44XX_VIRT (L4_PER_44XX_PHYS + OMAP2_L4_IO_OFFSET)
diff --git a/arch/arm/plat-omap/io.c b/arch/arm/plat-omap/io.c
index 0cfd54f..2c494cf 100644
--- a/arch/arm/plat-omap/io.c
+++ b/arch/arm/plat-omap/io.c
@@ -90,8 +90,6 @@ void __iomem *omap_ioremap(unsigned long p, size_t size, unsigned int type)
return XLATE(p, L3_34XX_PHYS, L3_34XX_VIRT);
if (BETWEEN(p, L4_34XX_PHYS, L4_34XX_SIZE))
return XLATE(p, L4_34XX_PHYS, L4_34XX_VIRT);
- if (BETWEEN(p, L4_WK_34XX_PHYS, L4_WK_34XX_SIZE))
- return XLATE(p, L4_WK_34XX_PHYS, L4_WK_34XX_VIRT);
if (BETWEEN(p, OMAP34XX_GPMC_PHYS, OMAP34XX_GPMC_SIZE))
return XLATE(p, OMAP34XX_GPMC_PHYS, OMAP34XX_GPMC_VIRT);
if (BETWEEN(p, OMAP343X_SMS_PHYS, OMAP343X_SMS_SIZE))
@@ -110,8 +108,6 @@ void __iomem *omap_ioremap(unsigned long p, size_t size, unsigned int type)
return XLATE(p, L3_44XX_PHYS, L3_44XX_VIRT);
if (BETWEEN(p, L4_44XX_PHYS, L4_44XX_SIZE))
return XLATE(p, L4_44XX_PHYS, L4_44XX_VIRT);
- if (BETWEEN(p, L4_WK_44XX_PHYS, L4_WK_44XX_SIZE))
- return XLATE(p, L4_WK_44XX_PHYS, L4_WK_44XX_VIRT);
if (BETWEEN(p, OMAP44XX_GPMC_PHYS, OMAP44XX_GPMC_SIZE))
return XLATE(p, OMAP44XX_GPMC_PHYS, OMAP44XX_GPMC_VIRT);
if (BETWEEN(p, OMAP44XX_EMIF1_PHYS, OMAP44XX_EMIF1_SIZE))
--
1.6.0.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 7/9] omap4: Add auto-generated irq and dma headers
2010-02-18 8:59 ` [PATCH 6/9] omap3/4: Remove overlapping mapping of L4_WKUP io space Santosh Shilimkar
@ 2010-02-18 8:59 ` Santosh Shilimkar
2010-02-18 8:59 ` [PATCH 8/9] omap4: Use dma line defines from dma-44xx.h Santosh Shilimkar
2010-02-18 17:23 ` [PATCH 7/9] omap4: Add auto-generated irq and dma headers Paul Walmsley
0 siblings, 2 replies; 25+ messages in thread
From: Santosh Shilimkar @ 2010-02-18 8:59 UTC (permalink / raw)
To: linux-arm-kernel
These files are generated along with the HWMOD and will eventually be
in the existing header files as soon as all drivers will be migrate to
omap_hwmod / omap_device.
The dma-44xx.h file should be in 'arch/arm/mach-omap2/include/mach/',
but this would need dma.h header also present in the mach directory to
make local include possible, like what is done for irq.h. Then the
script is needed to modify the drivers to include 'mach/dma.h' instead
of 'plat/dma.h'. This would be a bigger change and hence left out for now
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
---
arch/arm/mach-omap2/include/mach/irqs-44xx.h | 144 +++++++++++++++++++++++++
arch/arm/plat-omap/include/plat/dma-44xx.h | 145 ++++++++++++++++++++++++++
2 files changed, 289 insertions(+), 0 deletions(-)
create mode 100644 arch/arm/mach-omap2/include/mach/irqs-44xx.h
create mode 100644 arch/arm/plat-omap/include/plat/dma-44xx.h
diff --git a/arch/arm/mach-omap2/include/mach/irqs-44xx.h b/arch/arm/mach-omap2/include/mach/irqs-44xx.h
new file mode 100644
index 0000000..6dc5887
--- /dev/null
+++ b/arch/arm/mach-omap2/include/mach/irqs-44xx.h
@@ -0,0 +1,144 @@
+/*
+ * OMAP4 Interrupt lines definitions
+ *
+ * Copyright (C) 2009-2010 Texas Instruments, Inc.
+ *
+ * Santosh Shilimkar (santosh.shilimkar at ti.com)
+ * Benoit Cousson (b-cousson at ti.com)
+ *
+ * This file is automatically generated from the OMAP hardware databases.
+ * We respectfully ask that any modifications to this file be coordinated
+ * with the public linux-omap at vger.kernel.org mailing list and the
+ * authors above to ensure that the autogeneration scripts are kept
+ * up-to-date with the file contents.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#ifndef __ARCH_ARM_MACH_OMAP2_OMAP44XX_IRQS_H
+#define __ARCH_ARM_MACH_OMAP2_OMAP44XX_IRQS_H
+
+/* OMAP44XX IRQs numbers definitions */
+#define OMAP44XX_IRQ_LOCALTIMER 29
+#define OMAP44XX_IRQ_LOCALWDT 30
+
+#define OMAP44XX_IRQ_GIC_START 32
+
+#define OMAP44XX_IRQ_PL310 (0 + OMAP44XX_IRQ_GIC_START) /* Level-2 Cache Controller interrupt */
+#define OMAP44XX_IRQ_CTI0 (1 + OMAP44XX_IRQ_GIC_START) /* TRIGOUT[6] of Cross Trigger Interface 0 (CTI0) */
+#define OMAP44XX_IRQ_CTI1 (2 + OMAP44XX_IRQ_GIC_START) /* TRIGOUT[6] of Cross Trigger Interface 1 (CTI1) */
+#define OMAP44XX_IRQ_ELM (4 + OMAP44XX_IRQ_GIC_START) /* Error location process completion */
+#define OMAP44XX_IRQ_SYS_1N (7 + OMAP44XX_IRQ_GIC_START) /* External interrupt (active low) */
+#define OMAP44XX_IRQ_SECURITY_EVENTS (8 + OMAP44XX_IRQ_GIC_START) /* Occurs when a firewall (ARTERIS/L4) has generated an out-band error or when power events occurred (including power-on reset, so by default, this interrupt is active after power-up reset). */
+#define OMAP44XX_IRQ_L3_DBG (9 + OMAP44XX_IRQ_GIC_START) /* Reports debug errors on L3 */
+#define OMAP44XX_IRQ_L3_APP (10 + OMAP44XX_IRQ_GIC_START) /* Reports application or non-attributable errors on L3 */
+#define OMAP44XX_IRQ_PRCM (11 + OMAP44XX_IRQ_GIC_START) /* PRCM module */
+#define OMAP44XX_IRQ_SDMA_0 (12 + OMAP44XX_IRQ_GIC_START) /* System DMA interrupt request 0 */
+#define OMAP44XX_IRQ_SDMA_1 (13 + OMAP44XX_IRQ_GIC_START) /* System DMA interrupt request 1 */
+#define OMAP44XX_IRQ_SDMA_2 (14 + OMAP44XX_IRQ_GIC_START) /* System DMA interrupt request 2 */
+#define OMAP44XX_IRQ_SDMA_3 (15 + OMAP44XX_IRQ_GIC_START) /* System DMA interrupt request 3 */
+#define OMAP44XX_IRQ_MCBSP4 (16 + OMAP44XX_IRQ_GIC_START) /* McBSP 4 / PORCOMMONIRQ : Common Synchronous Interrupt Request line */
+#define OMAP44XX_IRQ_MCBSP1 (17 + OMAP44XX_IRQ_GIC_START) /* McBSP 1 / PORCOMMONIRQ : Common Synchronous Interrupt Request line */
+#define OMAP44XX_IRQ_SR_MCU (18 + OMAP44XX_IRQ_GIC_START) /* SmartReflex MCU interrupt request */
+#define OMAP44XX_IRQ_SR_CORE (19 + OMAP44XX_IRQ_GIC_START) /* SmartReflex Core interrupt request */
+#define OMAP44XX_IRQ_GPMC (20 + OMAP44XX_IRQ_GIC_START) /* General purpose memory controller module */
+#define OMAP44XX_IRQ_GFX (21 + OMAP44XX_IRQ_GIC_START) /* 2D/3D graphics module */
+#define OMAP44XX_IRQ_MCBSP2 (22 + OMAP44XX_IRQ_GIC_START) /* McBSP 2 / PORCOMMONIRQ : Common Synchronous Interrupt Request line */
+#define OMAP44XX_IRQ_MCBSP3 (23 + OMAP44XX_IRQ_GIC_START) /* McBSP 3 / PORCOMMONIRQ : Common Synchronous Interrupt Request line */
+#define OMAP44XX_IRQ_ISS_5 (24 + OMAP44XX_IRQ_GIC_START) /* Imaging Sub System interrupt request */
+#define OMAP44XX_IRQ_DSS_DISPC (25 + OMAP44XX_IRQ_GIC_START) /* Display controller interrupt request */
+#define OMAP44XX_IRQ_MAIL_U0 (26 + OMAP44XX_IRQ_GIC_START) /* Mailbox user 0 interrupt request */
+#define OMAP44XX_IRQ_C2C_SSCM_0 (27 + OMAP44XX_IRQ_GIC_START) /* Chip2Chip Status interrupt */
+#define OMAP44XX_IRQ_TESLA_MMU (28 + OMAP44XX_IRQ_GIC_START) /* Telsa (Mini64) SS MMU interrupt */
+#define OMAP44XX_IRQ_GPIO1 (29 + OMAP44XX_IRQ_GIC_START) /* GPIO module 1 interrupt 1 */
+#define OMAP44XX_IRQ_GPIO2 (30 + OMAP44XX_IRQ_GIC_START) /* GPIO module 2 interrupt 1 */
+#define OMAP44XX_IRQ_GPIO3 (31 + OMAP44XX_IRQ_GIC_START) /* GPIO module 3 interrupt 1 */
+#define OMAP44XX_IRQ_GPIO4 (32 + OMAP44XX_IRQ_GIC_START) /* GPIO module 4 interrupt 1 */
+#define OMAP44XX_IRQ_GPIO5 (33 + OMAP44XX_IRQ_GIC_START) /* GPIO module 5 interrupt 1 */
+#define OMAP44XX_IRQ_GPIO6 (34 + OMAP44XX_IRQ_GIC_START) /* GPIO module 6 interrupt 1 */
+#define OMAP44XX_IRQ_USIM (35 + OMAP44XX_IRQ_GIC_START) /* USIM interrupt */
+#define OMAP44XX_IRQ_WDT3 (36 + OMAP44XX_IRQ_GIC_START) /* Watchdog timer module 3 overflow (WDT controlled by Mini64) */
+#define OMAP44XX_IRQ_GPT1 (37 + OMAP44XX_IRQ_GIC_START) /* General purpose timer module 1 (Timer 1ms / Wakeup domain) */
+#define OMAP44XX_IRQ_GPT2 (38 + OMAP44XX_IRQ_GIC_START) /* General purpose timer module 2 (Timer 1ms / Core domain) */
+#define OMAP44XX_IRQ_GPT3 (39 + OMAP44XX_IRQ_GIC_START) /* General purpose timer module 3 */
+#define OMAP44XX_IRQ_GPT4 (40 + OMAP44XX_IRQ_GIC_START) /* General purpose timer module 4 */
+#define OMAP44XX_IRQ_GPT5 (41 + OMAP44XX_IRQ_GIC_START) /* General purpose timer module 5 (Audio BE) */
+#define OMAP44XX_IRQ_GPT6 (42 + OMAP44XX_IRQ_GIC_START) /* General purpose timer module 6 (Audio BE) */
+#define OMAP44XX_IRQ_GPT7 (43 + OMAP44XX_IRQ_GIC_START) /* General purpose timer module 7 (Audio BE) */
+#define OMAP44XX_IRQ_GPT8 (44 + OMAP44XX_IRQ_GIC_START) /* General purpose timer module 8 (Audio BE) */
+#define OMAP44XX_IRQ_GPT9 (45 + OMAP44XX_IRQ_GIC_START) /* General purpose timer module 9 */
+#define OMAP44XX_IRQ_GPT10 (46 + OMAP44XX_IRQ_GIC_START) /* General purpose timer module 10 (Timer 1ms / Core domain) */
+#define OMAP44XX_IRQ_GPT11 (47 + OMAP44XX_IRQ_GIC_START) /* General purpose timer module 11 */
+#define OMAP44XX_IRQ_SPI4 (48 + OMAP44XX_IRQ_GIC_START) /* McSPI module 4 */
+#define OMAP44XX_IRQ_SHA1_S (49 + OMAP44XX_IRQ_GIC_START) /* SHA2/MD5 crypto-accelerator 1 combined secure side */
+#define OMAP44XX_IRQ_FPKA_SINTREQUEST_S (50 + OMAP44XX_IRQ_GIC_START) /* PKA crypto-accelerator combined */
+#define OMAP44XX_IRQ_SHA1_P (51 + OMAP44XX_IRQ_GIC_START) /* SHA2/MD5 crypto-accelerator 1 combined public side */
+#define OMAP44XX_IRQ_RNG (52 + OMAP44XX_IRQ_GIC_START) /* RNG module */
+#define OMAP44XX_IRQ_DSS_DSI1 (53 + OMAP44XX_IRQ_GIC_START) /* Display DSI1 interrupt request */
+#define OMAP44XX_IRQ_I2C1 (56 + OMAP44XX_IRQ_GIC_START) /* I2C module 1 */
+#define OMAP44XX_IRQ_I2C2 (57 + OMAP44XX_IRQ_GIC_START) /* I2C module 2 */
+#define OMAP44XX_IRQ_HDQ (58 + OMAP44XX_IRQ_GIC_START) /* HDQ/One wire */
+#define OMAP44XX_IRQ_MMC5 (59 + OMAP44XX_IRQ_GIC_START) /* MMC5_IRQ */
+#define OMAP44XX_IRQ_I2C3 (61 + OMAP44XX_IRQ_GIC_START) /* I2C module 3 */
+#define OMAP44XX_IRQ_I2C4 (62 + OMAP44XX_IRQ_GIC_START) /* I2C module 4 */
+#define OMAP44XX_IRQ_AES2_S (63 + OMAP44XX_IRQ_GIC_START) /* AES module 2 Interrupt secure side */
+#define OMAP44XX_IRQ_AES2_P (64 + OMAP44XX_IRQ_GIC_START) /* AES module 2 Interrupt public side */
+#define OMAP44XX_IRQ_SPI1 (65 + OMAP44XX_IRQ_GIC_START) /* McSPI module 1 */
+#define OMAP44XX_IRQ_SPI2 (66 + OMAP44XX_IRQ_GIC_START) /* McSPI module 2 */
+#define OMAP44XX_IRQ_HSI_P1 (67 + OMAP44XX_IRQ_GIC_START) /* HSI interrupt request - Port 1 combined interrupt */
+#define OMAP44XX_IRQ_HSI_P2 (68 + OMAP44XX_IRQ_GIC_START) /* HSI interrupt request - Port 2 combined interrupt */
+#define OMAP44XX_IRQ_FDIF_3 (69 + OMAP44XX_IRQ_GIC_START) /* Face detect Interrupt */
+#define OMAP44XX_IRQ_UART4 (70 + OMAP44XX_IRQ_GIC_START) /* UART module 4 */
+#define OMAP44XX_IRQ_HSI_DMA (71 + OMAP44XX_IRQ_GIC_START) /* HSI DMA engine */
+#define OMAP44XX_IRQ_UART1 (72 + OMAP44XX_IRQ_GIC_START) /* UART module 1 */
+#define OMAP44XX_IRQ_UART2 (73 + OMAP44XX_IRQ_GIC_START) /* UART module 2 */
+#define OMAP44XX_IRQ_UART3 (74 + OMAP44XX_IRQ_GIC_START) /* UART module 3 (also infrared) */
+#define OMAP44XX_IRQ_PBIAS (75 + OMAP44XX_IRQ_GIC_START) /* Merged interrupt for PBIASlite1 and 2 */
+#define OMAP44XX_IRQ_OHCI (76 + OMAP44XX_IRQ_GIC_START) /* HSUSB MP Host Interrupt OHCI controller */
+#define OMAP44XX_IRQ_EHCI (77 + OMAP44XX_IRQ_GIC_START) /* HSUSB MP Host Interrupt EHCI controller */
+#define OMAP44XX_IRQ_TLL (78 + OMAP44XX_IRQ_GIC_START) /* HSUSB MP TLL Interrupt */
+#define OMAP44XX_IRQ_AES1_S (79 + OMAP44XX_IRQ_GIC_START) /* AES module 1 interrupt secure side */
+#define OMAP44XX_IRQ_WDT2 (80 + OMAP44XX_IRQ_GIC_START) /* WDT2 interrupt */
+#define OMAP44XX_IRQ_DES_S (81 + OMAP44XX_IRQ_GIC_START) /* DES/3DES module secure side */
+#define OMAP44XX_IRQ_DES_P (82 + OMAP44XX_IRQ_GIC_START) /* DES/3DES module Public side */
+#define OMAP44XX_IRQ_MMC1 (83 + OMAP44XX_IRQ_GIC_START) /* MMC1_IRQ */
+#define OMAP44XX_IRQ_DSS_DSI2 (84 + OMAP44XX_IRQ_GIC_START) /* Display DSI2 interrupt request */
+#define OMAP44XX_IRQ_AES1_P (85 + OMAP44XX_IRQ_GIC_START) /* AES module 1 interrupt public side */
+#define OMAP44XX_IRQ_MMC2 (86 + OMAP44XX_IRQ_GIC_START) /* MMC/SDIO module 2 */
+#define OMAP44XX_IRQ_MPU_ICR (87 + OMAP44XX_IRQ_GIC_START) /* MPU ICR Interrupt from Modem-APE Inter Processor Communication IP */
+#define OMAP44XX_IRQ_C2C_SSCM_1 (88 + OMAP44XX_IRQ_GIC_START) /* Chip2Chip GPI interrupt */
+#define OMAP44XX_IRQ_FSUSB (89 + OMAP44XX_IRQ_GIC_START) /* FS-USB - Host controller Interrupt */
+#define OMAP44XX_IRQ_FSUSB_SMI (90 + OMAP44XX_IRQ_GIC_START) /* FS-USB - Host controller SMI (system Management) Interrupt */
+#define OMAP44XX_IRQ_SPI3 (91 + OMAP44XX_IRQ_GIC_START) /* McSPI module 3 */
+#define OMAP44XX_IRQ_HS_USB_MC_N (92 + OMAP44XX_IRQ_GIC_START) /* Module HS USB OTG controller */
+#define OMAP44XX_IRQ_HS_USB_DMA_N (93 + OMAP44XX_IRQ_GIC_START) /* Module HS USB OTG DMA controller interrupt */
+#define OMAP44XX_IRQ_MMC3 (94 + OMAP44XX_IRQ_GIC_START) /* MMC/SDIO module 3 */
+#define OMAP44XX_IRQ_GPT12 (95 + OMAP44XX_IRQ_GIC_START) /* General purpose timer module 12 (secure timer / Wakeup domain) */
+#define OMAP44XX_IRQ_MMC4 (96 + OMAP44XX_IRQ_GIC_START) /* MMC/SDIO module 4 */
+#define OMAP44XX_IRQ_SLIMBUS1 (97 + OMAP44XX_IRQ_GIC_START) /* SLIMBus module 1 */
+#define OMAP44XX_IRQ_SLIMBUS2 (98 + OMAP44XX_IRQ_GIC_START) /* SLIMBus module 2 */
+#define OMAP44XX_IRQ_ABE (99 + OMAP44XX_IRQ_GIC_START) /* Audio Back-End interrupt */
+#define OMAP44XX_IRQ_DUCATI_MMU (100 + OMAP44XX_IRQ_GIC_START) /* Ducati MMU interrupt */
+#define OMAP44XX_IRQ_DSS_HDMI (101 + OMAP44XX_IRQ_GIC_START) /* Display HDMI interrupt request */
+#define OMAP44XX_IRQ_SR_IVA (102 + OMAP44XX_IRQ_GIC_START) /* SmartReflex IVA interrupt request */
+#define OMAP44XX_IRQ_IVA_HD_POSYNCITRPEND_1 (103 + OMAP44XX_IRQ_GIC_START) /* Sync interrupt from ICONT2 (vDMA) */
+#define OMAP44XX_IRQ_IVA_HD_POSYNCITRPEND_0 (104 + OMAP44XX_IRQ_GIC_START) /* Sync interrupt from ICONT1 */
+#define OMAP44XX_IRQ_IVA_HD_POMBINTRPEND_0 (107 + OMAP44XX_IRQ_GIC_START) /* IVA-HD Sub System interrupt request (Mailbox interrupt 0) */
+#define OMAP44XX_IRQ_MCASP1_AR (108 + OMAP44XX_IRQ_GIC_START) /* McASP Receive interrupt - Module 1 (Audio BE) */
+#define OMAP44XX_IRQ_MCASP1_AX (109 + OMAP44XX_IRQ_GIC_START) /* McASP Transmit interrupt - Module 1 (Audio BE) */
+#define OMAP44XX_IRQ_EMIF4_1 (110 + OMAP44XX_IRQ_GIC_START) /* EMIF4 interrupt - Module 1 */
+#define OMAP44XX_IRQ_EMIF4_2 (111 + OMAP44XX_IRQ_GIC_START) /* EMIF4 interrupt - Module 2 */
+#define OMAP44XX_IRQ_MCPDM (112 + OMAP44XX_IRQ_GIC_START) /* McPDM interrupt (Audio BE) */
+#define OMAP44XX_IRQ_DMM (113 + OMAP44XX_IRQ_GIC_START) /* DMM interrupt */
+#define OMAP44XX_IRQ_DMIC (114 + OMAP44XX_IRQ_GIC_START) /* DMIC interrupt (Audio BE) */
+#define OMAP44XX_IRQ_CDMA_0 (115 + OMAP44XX_IRQ_GIC_START) /* Crypto DMA interrupt request 0 */
+#define OMAP44XX_IRQ_CDMA_1 (116 + OMAP44XX_IRQ_GIC_START) /* Crypto DMA interrupt request 1 */
+#define OMAP44XX_IRQ_CDMA_2 (117 + OMAP44XX_IRQ_GIC_START) /* Crypto DMA interrupt request 2 */
+#define OMAP44XX_IRQ_CDMA_3 (118 + OMAP44XX_IRQ_GIC_START) /* Crypto DMA interrupt request 3 */
+#define OMAP44XX_IRQ_SYS_2N (119 + OMAP44XX_IRQ_GIC_START) /* External interrupt 2 (active low) */
+#define OMAP44XX_IRQ_KBD_CTL (120 + OMAP44XX_IRQ_GIC_START) /* Keyboard controller IRQ */
+#define OMAP44XX_IRQ_UNIPRO1 (124 + OMAP44XX_IRQ_GIC_START) /* Unipro Module 1 */
+
+#endif
diff --git a/arch/arm/plat-omap/include/plat/dma-44xx.h b/arch/arm/plat-omap/include/plat/dma-44xx.h
new file mode 100644
index 0000000..f4f7d15
--- /dev/null
+++ b/arch/arm/plat-omap/include/plat/dma-44xx.h
@@ -0,0 +1,145 @@
+/*
+ * OMAP4 SDMA channel definitions
+ *
+ * Copyright (C) 2009-2010 Texas Instruments, Inc.
+ *
+ * Santosh Shilimkar (santosh.shilimkar at ti.com)
+ * Benoit Cousson (b-cousson at ti.com)
+ *
+ * This file is automatically generated from the OMAP hardware databases.
+ * We respectfully ask that any modifications to this file be coordinated
+ * with the public linux-omap at vger.kernel.org mailing list and the
+ * authors above to ensure that the autogeneration scripts are kept
+ * up-to-date with the file contents.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#ifndef __ARCH_ARM_MACH_OMAP2_OMAP44XX_DMA_H
+#define __ARCH_ARM_MACH_OMAP2_OMAP44XX_DMA_H
+
+#define OMAP44XX_DMA_SYS_REQ0 2 /* External DMA request 0 (system expansion) */
+#define OMAP44XX_DMA_SYS_REQ1 3 /* External DMA request 1 (system expansion) */
+#define OMAP44XX_DMA_GPMC 4 /* GPMC request from prefetch engine */
+#define OMAP44XX_DMA_DSS_DISPC_REQ 6 /* The line trigger signal to synchronize a memory to memory logical channel in the DMA4 (system DMA) is generated by the Display Controller IP. */
+#define OMAP44XX_DMA_SYS_REQ2 7 /* External DMA request 2 (system expansion) */
+#define OMAP44XX_DMA_MCASP1_AXEVT 8 /* McASP module 1 (Audio BE) - Data transmit DMA request line */
+#define OMAP44XX_DMA_ISS_REQ1 9 /* ISS DMA request 1 */
+#define OMAP44XX_DMA_ISS_REQ2 10 /* ISS DMA request 2 */
+#define OMAP44XX_DMA_MCASP1_AREVT 11 /* McASP module 1 (Audio BE) - Data receive DMA request line */
+#define OMAP44XX_DMA_ISS_REQ3 12 /* ISS DMA request 3 */
+#define OMAP44XX_DMA_ISS_REQ4 13 /* ISS DMA request 4 */
+#define OMAP44XX_DMA_DSS_RFBI_REQ 14 /* DSS RFBI DMA request */
+#define OMAP44XX_DMA_SPI3_TX0 15 /* McSPI module 3 - transmit request channel 0 */
+#define OMAP44XX_DMA_SPI3_RX0 16 /* McSPI module 3 - receive request channel 0 */
+#define OMAP44XX_DMA_MCBSP2_TX 17 /* MCBSP module 2 - transmit request (audio BE) */
+#define OMAP44XX_DMA_MCBSP2_RX 18 /* MCBSP module 2 - receive request (audio BE) */
+#define OMAP44XX_DMA_MCBSP3_TX 19 /* MCBSP module 3 - transmit request (Audio BE) */
+#define OMAP44XX_DMA_MCBSP3_RX 20 /* MCBSP module 3 - receive request (Audio BE) */
+#define OMAP44XX_DMA_C2C_SSCM_GPO0 21 /* Chip2Chip GPO line 0 (C2C_Sscm_Gpo[0]) */
+#define OMAP44XX_DMA_C2C_SSCM_GPO1 22 /* Chip2Chip GPO line 1 (C2C_Sscm_Gpo[1]) */
+#define OMAP44XX_DMA_SPI3_TX1 23 /* McSPI module 3 - transmit request channel 1 */
+#define OMAP44XX_DMA_SPI3_RX1 24 /* McSPI module 3 - receive request channel 1 */
+#define OMAP44XX_DMA_I2C3_TX 25 /* I2C module 3 - transmit request */
+#define OMAP44XX_DMA_I2C3_RX 26 /* I2C module 3 - receive request */
+#define OMAP44XX_DMA_I2C1_TX 27 /* I2C module 1 - transmit request */
+#define OMAP44XX_DMA_I2C1_RX 28 /* I2C module 1 - receive request */
+#define OMAP44XX_DMA_I2C2_TX 29 /* I2C module 2 - transmit request */
+#define OMAP44XX_DMA_I2C2_RX 30 /* I2C module 2 - receive request */
+#define OMAP44XX_DMA_MCBSP4_TX 31 /* MCBSP module 4 - transmit request */
+#define OMAP44XX_DMA_MCBSP4_RX 32 /* MCBSP module 4 - receive request */
+#define OMAP44XX_DMA_MCBSP1_TX 33 /* MCBSP module 1 - transmit request (Audio BE) */
+#define OMAP44XX_DMA_MCBSP1_RX 34 /* MCBSP module 1 - receive request (Audio BE) */
+#define OMAP44XX_DMA_SPI1_TX0 35 /* McSPI module 1 - transmit request channel 0 */
+#define OMAP44XX_DMA_SPI1_RX0 36 /* McSPI module 1 - receive request channel 0 */
+#define OMAP44XX_DMA_SPI1_TX1 37 /* McSPI module 1 - transmit request channel 1 */
+#define OMAP44XX_DMA_SPI1_RX1 38 /* McSPI module 1 - receive request channel 1 */
+#define OMAP44XX_DMA_SPI1_TX2 39 /* McSPI module 1 - transmit request channel 2 */
+#define OMAP44XX_DMA_SPI1_RX2 40 /* McSPI module 1 - receive request channel 2 */
+#define OMAP44XX_DMA_SPI1_TX3 41 /* McSPI module 1 - transmit request channel 3 */
+#define OMAP44XX_DMA_SPI1_RX3 42 /* McSPI module 1 - receive request channel 3 */
+#define OMAP44XX_DMA_SPI2_TX0 43 /* McSPI module 2 - transmit request channel 0 */
+#define OMAP44XX_DMA_SPI2_RX0 44 /* McSPI module 2 - receive request channel 0 */
+#define OMAP44XX_DMA_SPI2_TX1 45 /* McSPI module 2 - transmit request channel 1 */
+#define OMAP44XX_DMA_SPI2_RX1 46 /* McSPI module 2 - receive request channel 1 */
+#define OMAP44XX_DMA_MMC2_TX 47 /* MMC/SD2 transmit request */
+#define OMAP44XX_DMA_MMC2_RX 48 /* MMC/SD2 receive request */
+#define OMAP44XX_DMA_UART1_TX 49 /* UART module 1 - transmit request */
+#define OMAP44XX_DMA_UART1_RX 50 /* UART module 1 - receive request */
+#define OMAP44XX_DMA_UART2_TX 51 /* UART module 2 - transmit request */
+#define OMAP44XX_DMA_UART2_RX 52 /* UART module 2 - receive request */
+#define OMAP44XX_DMA_UART3_TX 53 /* UART module 3 - transmit request (Also infrared) */
+#define OMAP44XX_DMA_UART3_RX 54 /* UART module 3 - receive request (Also infrared) */
+#define OMAP44XX_DMA_UART4_TX 55 /* UART module 4 transmit request */
+#define OMAP44XX_DMA_UART4_RX 56 /* UART module 4 receive request */
+#define OMAP44XX_DMA_MMC4_TX 57 /* MMC/SD4 transmit request */
+#define OMAP44XX_DMA_MMC4_RX 58 /* MMC/SD4 receive request */
+#define OMAP44XX_DMA_MMC5_TX 59 /* MMC/SD5 transmit request */
+#define OMAP44XX_DMA_MMC5_RX 60 /* MMC/SD5 receive request */
+#define OMAP44XX_DMA_MMC1_TX 61 /* MMC/SD1 transmit request */
+#define OMAP44XX_DMA_MMC1_RX 62 /* MMC/SD1 receive request */
+#define OMAP44XX_DMA_SYS_REQ3 64 /* External DMA request 3 (system expansion) */
+#define OMAP44XX_DMA_MCPDM_UP 65 /* McPDM Uplink DMA request */
+#define OMAP44XX_DMA_MCPDM_DL 66 /* McPDM DownlinkDMA request */
+#define OMAP44XX_DMA_DMIC_REQ 67 /* DMIC DMA request */
+#define OMAP44XX_DMA_C2C_SSCM_GPO2 68 /* Chip2Chip GPO line 2 (C2C_Sscm_Gpo[2]) */
+#define OMAP44XX_DMA_C2C_SSCM_GPO3 69 /* Chip2Chip GPO line 3 (C2C_Sscm_Gpo[3]) */
+#define OMAP44XX_DMA_SPI4_TX0 70 /* McSPI module 4 - transmit request channel 0 */
+#define OMAP44XX_DMA_SPI4_RX0 71 /* McSPI module 4 - receive request channel 0 */
+#define OMAP44XX_DMA_DSS_DSI1_REQ0 72 /* Display subsystem DSI1 DMA request 0 */
+#define OMAP44XX_DMA_DSS_DSI1_REQ1 73 /* Display subsystem DSI1 DMA request 1 */
+#define OMAP44XX_DMA_DSS_DSI1_REQ2 74 /* Display subsystem DSI1 DMA request 2 */
+#define OMAP44XX_DMA_DSS_DSI1_REQ3 75 /* Display subsystem DSI1 DMA request 3 */
+#define OMAP44XX_DMA_DSS_HDMI_REQ 76 /* Display subsystem HDMI Audio DMA request */
+#define OMAP44XX_DMA_MMC3_TX 77 /* MMC/SD3 transmit request */
+#define OMAP44XX_DMA_MMC3_RX 78 /* MMC/SD3 receive request */
+#define OMAP44XX_DMA_USIM_TX 79 /* USIM transmit request */
+#define OMAP44XX_DMA_USIM_RX 80 /* USIM receive request */
+#define OMAP44XX_DMA_DSS_DSI2_REQ0 81 /* Display subsystem DSI2 DMA request 0 */
+#define OMAP44XX_DMA_DSS_DSI2_REQ1 82 /* Display subsystem DSI2 DMA request 1 */
+#define OMAP44XX_DMA_DSS_DSI2_REQ2 83 /* Display subsystem DSI2 DMA request 2 */
+#define OMAP44XX_DMA_DSS_DSI2_REQ3 84 /* Display subsystem DSI2 DMA request 3 */
+#define OMAP44XX_DMA_SLIMBUS1_TX0 85 /* SLIMbus module 1 transmit request channel 0 */
+#define OMAP44XX_DMA_SLIMBUS1_TX1 86 /* SLIMbus module 1 transmit request channel 1 */
+#define OMAP44XX_DMA_SLIMBUS1_TX2 87 /* SLIMbus module 1 transmit request channel 2 */
+#define OMAP44XX_DMA_SLIMBUS1_TX3 88 /* SLIMbus module 1 transmit request channel 3 */
+#define OMAP44XX_DMA_SLIMBUS1_RX0 89 /* SLIMbus module 1 receive request channel 0 */
+#define OMAP44XX_DMA_SLIMBUS1_RX1 90 /* SLIMbus module 1 receive request channel 1 */
+#define OMAP44XX_DMA_SLIMBUS1_RX2 91 /* SLIMbus module 1 receive request channel 2 */
+#define OMAP44XX_DMA_SLIMBUS1_RX3 92 /* SLIMbus module 1 receive request channel 3 */
+#define OMAP44XX_DMA_SLIMBUS2_TX0 93 /* SLIMbus module 2 transmit request channel 0 */
+#define OMAP44XX_DMA_SLIMBUS2_TX1 94 /* SLIMbus module 2 transmit request channel 1 */
+#define OMAP44XX_DMA_SLIMBUS2_TX2 95 /* SLIMbus module 2 transmit request channel 2 */
+#define OMAP44XX_DMA_SLIMBUS2_TX3 96 /* SLIMbus module 2 transmit request channel 3 */
+#define OMAP44XX_DMA_SLIMBUS2_RX0 97 /* SLIMbus module 2 receive request channel 0 */
+#define OMAP44XX_DMA_SLIMBUS2_RX1 98 /* SLIMbus module 2 receive request channel 1 */
+#define OMAP44XX_DMA_SLIMBUS2_RX2 99 /* SLIMbus module 2 receive request channel 2 */
+#define OMAP44XX_DMA_SLIMBUS2_RX3 100 /* SLIMbus module 2 receive request channel 3 */
+#define OMAP44XX_DMA_ABE_REQ_0 101 /* Audio Back-End module request FIFO 0 */
+#define OMAP44XX_DMA_ABE_REQ_1 102 /* Audio Back-End module request FIFO 1 */
+#define OMAP44XX_DMA_ABE_REQ_2 103 /* Audio Back-End module request FIFO 2 */
+#define OMAP44XX_DMA_ABE_REQ_3 104 /* Audio Back-End module request FIFO 3 */
+#define OMAP44XX_DMA_ABE_REQ_4 105 /* Audio Back-End module request FIFO 4 */
+#define OMAP44XX_DMA_ABE_REQ_5 106 /* Audio Back-End module request FIFO 5 */
+#define OMAP44XX_DMA_ABE_REQ_6 107 /* Audio Back-End module request FIFO 6 */
+#define OMAP44XX_DMA_ABE_REQ_7 108 /* Audio Back-End module request FIFO 7 */
+#define OMAP44XX_DMA_AES1_P_CTX_IN_REQ 109 /* AES Module 1: Request a new context on the public HIB */
+#define OMAP44XX_DMA_AES1_P_DATA_IN_REQ 110 /* AES Module 1: Request input data on the public HIB */
+#define OMAP44XX_DMA_AES1_P_DATA_OUT_REQ 111 /* AES Module 1: Request output data read on the public HIB */
+#define OMAP44XX_DMA_AES2_P_CTX_IN_REQ 112 /* AES Module 2: Request a new context on the public HIB */
+#define OMAP44XX_DMA_AES2_P_DATA_IN_REQ 113 /* AES Module 2: Request input data on the public HIB */
+#define OMAP44XX_DMA_AES2_P_DATA_OUT_REQ 114 /* AES Module 2: Request output data read on the public HIB */
+#define OMAP44XX_DMA_DES_P_CTX_IN_REQ 115 /* DES Module: Request a new context on the public HIB */
+#define OMAP44XX_DMA_DES_P_DATA_IN_REQ 116 /* DES Module: Request input data on the public HIB */
+#define OMAP44XX_DMA_DES_P_DATA_OUT_REQ 117 /* DES Module: Request output data read on the public HIB */
+#define OMAP44XX_DMA_SHA2_CTXIN_P 118 /* SHA2MD5 Module 1: Request a context on public HIB */
+#define OMAP44XX_DMA_SHA2_DIN_P 119 /* SHA2MD5 Module 1: Request input data on public HIB */
+#define OMAP44XX_DMA_SHA2_CTXOUT_P 120 /* SHA2MD5 Module 1: Request output data/context on public HIB */
+#define OMAP44XX_DMA_AES1_P_CONTEXT_OUT_REQ 121 /* AES Module 1: Request the authentication result (TAG) or result IV read on public HIB */
+#define OMAP44XX_DMA_AES2_P_CONTEXT_OUT_REQ 122 /* AES Module 2: Request the authentication result (TAG) or result IV read on public HIB */
+#define OMAP44XX_DMA_I2C4_TX 124 /* I2C module 4 - transmit request */
+#define OMAP44XX_DMA_I2C4_RX 125 /* I2C module 4 - receive request */
+
+#endif
--
1.6.0.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 8/9] omap4: Use dma line defines from dma-44xx.h
2010-02-18 8:59 ` [PATCH 7/9] omap4: Add auto-generated irq and dma headers Santosh Shilimkar
@ 2010-02-18 8:59 ` Santosh Shilimkar
2010-02-18 8:59 ` [PATCH 9/9] omap4: Use irq line defines from irq-44xx.h Santosh Shilimkar
2010-02-22 22:13 ` [PATCH 8/9] omap4: Use dma line defines from dma-44xx.h Tony Lindgren
2010-02-18 17:23 ` [PATCH 7/9] omap4: Add auto-generated irq and dma headers Paul Walmsley
1 sibling, 2 replies; 25+ messages in thread
From: Santosh Shilimkar @ 2010-02-18 8:59 UTC (permalink / raw)
To: linux-arm-kernel
This patch removes all the omap4 specific dma request
lines defines from plat/dma.h and includes dma-44xx.h
The defines are aligned so no driver should be impacted
because of this change.
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
---
arch/arm/plat-omap/include/plat/dma.h | 86 +-------------------------------
1 files changed, 3 insertions(+), 83 deletions(-)
diff --git a/arch/arm/plat-omap/include/plat/dma.h b/arch/arm/plat-omap/include/plat/dma.h
index 4ede9e1..02232ca 100644
--- a/arch/arm/plat-omap/include/plat/dma.h
+++ b/arch/arm/plat-omap/include/plat/dma.h
@@ -21,6 +21,9 @@
#ifndef __ASM_ARCH_DMA_H
#define __ASM_ARCH_DMA_H
+/* Move omap4 specific defines to dma-44xx.h */
+#include "dma-44xx.h"
+
/* Hardware registers for omap1 */
#define OMAP1_DMA_BASE (0xfffed800)
@@ -316,89 +319,6 @@
#define OMAP34XX_DMA_USIM_TX 79 /* S_DMA_78 */
#define OMAP34XX_DMA_USIM_RX 80 /* S_DMA_79 */
-/* DMA request lines for 44xx */
-#define OMAP44XX_DMA_DSS_DISPC_REQ 6 /* S_DMA_5 */
-#define OMAP44XX_DMA_SYS_REQ2 7 /* S_DMA_6 */
-#define OMAP44XX_DMA_ISS_REQ1 9 /* S_DMA_8 */
-#define OMAP44XX_DMA_ISS_REQ2 10 /* S_DMA_9 */
-#define OMAP44XX_DMA_ISS_REQ3 12 /* S_DMA_11 */
-#define OMAP44XX_DMA_ISS_REQ4 13 /* S_DMA_12 */
-#define OMAP44XX_DMA_DSS_RFBI_REQ 14 /* S_DMA_13 */
-#define OMAP44XX_DMA_SPI3_TX0 15 /* S_DMA_14 */
-#define OMAP44XX_DMA_SPI3_RX0 16 /* S_DMA_15 */
-#define OMAP44XX_DMA_MCBSP2_TX 17 /* S_DMA_16 */
-#define OMAP44XX_DMA_MCBSP2_RX 18 /* S_DMA_17 */
-#define OMAP44XX_DMA_MCBSP3_TX 19 /* S_DMA_18 */
-#define OMAP44XX_DMA_MCBSP3_RX 20 /* S_DMA_19 */
-#define OMAP44XX_DMA_SPI3_TX1 23 /* S_DMA_22 */
-#define OMAP44XX_DMA_SPI3_RX1 24 /* S_DMA_23 */
-#define OMAP44XX_DMA_I2C3_TX 25 /* S_DMA_24 */
-#define OMAP44XX_DMA_I2C3_RX 26 /* S_DMA_25 */
-#define OMAP44XX_DMA_I2C1_TX 27 /* S_DMA_26 */
-#define OMAP44XX_DMA_I2C1_RX 28 /* S_DMA_27 */
-#define OMAP44XX_DMA_I2C2_TX 29 /* S_DMA_28 */
-#define OMAP44XX_DMA_I2C2_RX 30 /* S_DMA_29 */
-#define OMAP44XX_DMA_MCBSP4_TX 31 /* S_DMA_30 */
-#define OMAP44XX_DMA_MCBSP4_RX 32 /* S_DMA_31 */
-#define OMAP44XX_DMA_MCBSP1_TX 33 /* S_DMA_32 */
-#define OMAP44XX_DMA_MCBSP1_RX 34 /* S_DMA_33 */
-#define OMAP44XX_DMA_SPI1_TX0 35 /* S_DMA_34 */
-#define OMAP44XX_DMA_SPI1_RX0 36 /* S_DMA_35 */
-#define OMAP44XX_DMA_SPI1_TX1 37 /* S_DMA_36 */
-#define OMAP44XX_DMA_SPI1_RX1 38 /* S_DMA_37 */
-#define OMAP44XX_DMA_SPI1_TX2 39 /* S_DMA_38 */
-#define OMAP44XX_DMA_SPI1_RX2 40 /* S_DMA_39 */
-#define OMAP44XX_DMA_SPI1_TX3 41 /* S_DMA_40 */
-#define OMAP44XX_DMA_SPI1_RX3 42 /* S_DMA_41 */
-#define OMAP44XX_DMA_SPI2_TX0 43 /* S_DMA_42 */
-#define OMAP44XX_DMA_SPI2_RX0 44 /* S_DMA_43 */
-#define OMAP44XX_DMA_SPI2_TX1 45 /* S_DMA_44 */
-#define OMAP44XX_DMA_SPI2_RX1 46 /* S_DMA_45 */
-#define OMAP44XX_DMA_MMC2_TX 47 /* S_DMA_46 */
-#define OMAP44XX_DMA_MMC2_RX 48 /* S_DMA_47 */
-#define OMAP44XX_DMA_UART1_TX 49 /* S_DMA_48 */
-#define OMAP44XX_DMA_UART1_RX 50 /* S_DMA_49 */
-#define OMAP44XX_DMA_UART2_TX 51 /* S_DMA_50 */
-#define OMAP44XX_DMA_UART2_RX 52 /* S_DMA_51 */
-#define OMAP44XX_DMA_UART3_TX 53 /* S_DMA_52 */
-#define OMAP44XX_DMA_UART3_RX 54 /* S_DMA_53 */
-#define OMAP44XX_DMA_UART4_TX 55 /* S_DMA_54 */
-#define OMAP44XX_DMA_UART4_RX 56 /* S_DMA_55 */
-#define OMAP44XX_DMA_MMC4_TX 57 /* S_DMA_56 */
-#define OMAP44XX_DMA_MMC4_RX 58 /* S_DMA_57 */
-#define OMAP44XX_DMA_MMC5_TX 59 /* S_DMA_58 */
-#define OMAP44XX_DMA_MMC5_RX 60 /* S_DMA_59 */
-#define OMAP44XX_DMA_MMC1_TX 61 /* S_DMA_60 */
-#define OMAP44XX_DMA_MMC1_RX 62 /* S_DMA_61 */
-#define OMAP44XX_DMA_SYS_REQ3 64 /* S_DMA_63 */
-#define OMAP44XX_DMA_MCPDM_UP 65 /* S_DMA_64 */
-#define OMAP44XX_DMA_MCPDM_DL 66 /* S_DMA_65 */
-#define OMAP44XX_DMA_SPI4_TX0 70 /* S_DMA_69 */
-#define OMAP44XX_DMA_SPI4_RX0 71 /* S_DMA_70 */
-#define OMAP44XX_DMA_DSS_DSI1_REQ0 72 /* S_DMA_71 */
-#define OMAP44XX_DMA_DSS_DSI1_REQ1 73 /* S_DMA_72 */
-#define OMAP44XX_DMA_DSS_DSI1_REQ2 74 /* S_DMA_73 */
-#define OMAP44XX_DMA_DSS_DSI1_REQ3 75 /* S_DMA_74 */
-#define OMAP44XX_DMA_DSS_HDMI_REQ 76 /* S_DMA_75 */
-#define OMAP44XX_DMA_MMC3_TX 77 /* S_DMA_76 */
-#define OMAP44XX_DMA_MMC3_RX 78 /* S_DMA_77 */
-#define OMAP44XX_DMA_USIM_TX 79 /* S_DMA_78 */
-#define OMAP44XX_DMA_USIM_RX 80 /* S_DMA_79 */
-#define OMAP44XX_DMA_DSS_DSI2_REQ0 81 /* S_DMA_80 */
-#define OMAP44XX_DMA_DSS_DSI2_REQ1 82 /* S_DMA_81 */
-#define OMAP44XX_DMA_DSS_DSI2_REQ2 83 /* S_DMA_82 */
-#define OMAP44XX_DMA_DSS_DSI2_REQ3 84 /* S_DMA_83 */
-#define OMAP44XX_DMA_ABE_REQ0 101 /* S_DMA_100 */
-#define OMAP44XX_DMA_ABE_REQ1 102 /* S_DMA_101 */
-#define OMAP44XX_DMA_ABE_REQ2 103 /* S_DMA_102 */
-#define OMAP44XX_DMA_ABE_REQ3 104 /* S_DMA_103 */
-#define OMAP44XX_DMA_ABE_REQ4 105 /* S_DMA_104 */
-#define OMAP44XX_DMA_ABE_REQ5 106 /* S_DMA_105 */
-#define OMAP44XX_DMA_ABE_REQ6 107 /* S_DMA_106 */
-#define OMAP44XX_DMA_ABE_REQ7 108 /* S_DMA_107 */
-#define OMAP44XX_DMA_I2C4_TX 124 /* S_DMA_123 */
-#define OMAP44XX_DMA_I2C4_RX 125 /* S_DMA_124 */
-
/*----------------------------------------------------------------------------*/
#define OMAP1_DMA_TOUT_IRQ (1 << 0)
--
1.6.0.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 9/9] omap4: Use irq line defines from irq-44xx.h
2010-02-18 8:59 ` [PATCH 8/9] omap4: Use dma line defines from dma-44xx.h Santosh Shilimkar
@ 2010-02-18 8:59 ` Santosh Shilimkar
2010-02-22 22:13 ` [PATCH 8/9] omap4: Use dma line defines from dma-44xx.h Tony Lindgren
1 sibling, 0 replies; 25+ messages in thread
From: Santosh Shilimkar @ 2010-02-18 8:59 UTC (permalink / raw)
To: linux-arm-kernel
This patch removes all the omap4 specific irq line
defines from plat/irqs.h and includes auto-generated
irqs-44xx.h
All the legacy naming style defines are replaced with the one
from irqs-44xx.h
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
---
arch/arm/mach-omap2/devices.c | 8 ++--
arch/arm/mach-omap2/include/mach/irqs.h | 1 +
arch/arm/mach-omap2/timer-mpu.c | 2 +-
arch/arm/plat-omap/devices.c | 4 +-
arch/arm/plat-omap/dma.c | 2 +-
arch/arm/plat-omap/dmtimer.c | 24 ++++----
arch/arm/plat-omap/gpio.c | 12 ++--
arch/arm/plat-omap/include/plat/irqs.h | 89 -------------------------------
8 files changed, 27 insertions(+), 115 deletions(-)
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
index c104d5c..23e4d77 100644
--- a/arch/arm/mach-omap2/devices.c
+++ b/arch/arm/mach-omap2/devices.c
@@ -191,7 +191,7 @@ static struct resource omap4_mbox_resources[] = {
.flags = IORESOURCE_MEM,
},
{
- .start = INT_44XX_MAIL_U0_MPU,
+ .start = OMAP44XX_IRQ_MAIL_U0,
.flags = IORESOURCE_IRQ,
},
};
@@ -720,13 +720,13 @@ void __init omap2_init_mmc(struct omap_mmc_platform_data **mmc_data,
if (!cpu_is_omap44xx())
return;
base = OMAP4_MMC4_BASE + OMAP4_MMC_REG_OFFSET;
- irq = INT_44XX_MMC4_IRQ;
+ irq = OMAP44XX_IRQ_MMC4;
break;
case 4:
if (!cpu_is_omap44xx())
return;
base = OMAP4_MMC5_BASE + OMAP4_MMC_REG_OFFSET;
- irq = INT_44XX_MMC5_IRQ;
+ irq = OMAP44XX_IRQ_MMC4;
break;
default:
continue;
@@ -738,7 +738,7 @@ void __init omap2_init_mmc(struct omap_mmc_platform_data **mmc_data,
} else if (cpu_is_omap44xx()) {
if (i < 3) {
base += OMAP4_MMC_REG_OFFSET;
- irq += IRQ_GIC_START;
+ irq += OMAP44XX_IRQ_GIC_START;
}
size = OMAP4_HSMMC_SIZE;
name = "mmci-omap-hs";
diff --git a/arch/arm/mach-omap2/include/mach/irqs.h b/arch/arm/mach-omap2/include/mach/irqs.h
index 44dab77..573d03e 100644
--- a/arch/arm/mach-omap2/include/mach/irqs.h
+++ b/arch/arm/mach-omap2/include/mach/irqs.h
@@ -3,3 +3,4 @@
*/
#include <plat/irqs.h>
+#include "irqs-44xx.h"
diff --git a/arch/arm/mach-omap2/timer-mpu.c b/arch/arm/mach-omap2/timer-mpu.c
index c1a650a..954682e 100644
--- a/arch/arm/mach-omap2/timer-mpu.c
+++ b/arch/arm/mach-omap2/timer-mpu.c
@@ -28,7 +28,7 @@
*/
void __cpuinit local_timer_setup(struct clock_event_device *evt)
{
- evt->irq = INT_44XX_LOCALTIMER_IRQ;
+ evt->irq = OMAP44XX_IRQ_LOCALTIMER;
twd_timer_setup(evt);
}
diff --git a/arch/arm/plat-omap/devices.c b/arch/arm/plat-omap/devices.c
index 3a3e357..4a4cd87 100644
--- a/arch/arm/plat-omap/devices.c
+++ b/arch/arm/plat-omap/devices.c
@@ -205,8 +205,8 @@ static struct resource mcpdm_resources[] = {
},
{
.name = "mcpdm_irq",
- .start = INT_44XX_MCPDM_IRQ,
- .end = INT_44XX_MCPDM_IRQ,
+ .start = OMAP44XX_IRQ_MCPDM,
+ .end = OMAP44XX_IRQ_MCPDM,
.flags = IORESOURCE_IRQ,
},
};
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
index 049165c..2ab224c 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -2132,7 +2132,7 @@ static int __init omap_init_dma(void)
if (cpu_class_is_omap2()) {
int irq;
if (cpu_is_omap44xx())
- irq = INT_44XX_SDMA_IRQ0;
+ irq = OMAP44XX_IRQ_SDMA_0;
else
irq = INT_24XX_SDMA_IRQ0;
setup_irq(irq, &omap24xx_dma_irq);
diff --git a/arch/arm/plat-omap/dmtimer.c b/arch/arm/plat-omap/dmtimer.c
index 24bf692..4d99dfb 100644
--- a/arch/arm/plat-omap/dmtimer.c
+++ b/arch/arm/plat-omap/dmtimer.c
@@ -250,18 +250,18 @@ static const int omap3_dm_timer_count = ARRAY_SIZE(omap3_dm_timers);
#ifdef CONFIG_ARCH_OMAP4
static struct omap_dm_timer omap4_dm_timers[] = {
- { .phys_base = 0x4a318000, .irq = INT_44XX_GPTIMER1 },
- { .phys_base = 0x48032000, .irq = INT_44XX_GPTIMER2 },
- { .phys_base = 0x48034000, .irq = INT_44XX_GPTIMER3 },
- { .phys_base = 0x48036000, .irq = INT_44XX_GPTIMER4 },
- { .phys_base = 0x40138000, .irq = INT_44XX_GPTIMER5 },
- { .phys_base = 0x4013a000, .irq = INT_44XX_GPTIMER6 },
- { .phys_base = 0x4013a000, .irq = INT_44XX_GPTIMER7 },
- { .phys_base = 0x4013e000, .irq = INT_44XX_GPTIMER8 },
- { .phys_base = 0x4803e000, .irq = INT_44XX_GPTIMER9 },
- { .phys_base = 0x48086000, .irq = INT_44XX_GPTIMER10 },
- { .phys_base = 0x48088000, .irq = INT_44XX_GPTIMER11 },
- { .phys_base = 0x4a320000, .irq = INT_44XX_GPTIMER12 },
+ { .phys_base = 0x4a318000, .irq = OMAP44XX_IRQ_GPT1 },
+ { .phys_base = 0x48032000, .irq = OMAP44XX_IRQ_GPT2 },
+ { .phys_base = 0x48034000, .irq = OMAP44XX_IRQ_GPT3 },
+ { .phys_base = 0x48036000, .irq = OMAP44XX_IRQ_GPT4 },
+ { .phys_base = 0x40138000, .irq = OMAP44XX_IRQ_GPT5 },
+ { .phys_base = 0x4013a000, .irq = OMAP44XX_IRQ_GPT6 },
+ { .phys_base = 0x4013a000, .irq = OMAP44XX_IRQ_GPT7 },
+ { .phys_base = 0x4013e000, .irq = OMAP44XX_IRQ_GPT8 },
+ { .phys_base = 0x4803e000, .irq = OMAP44XX_IRQ_GPT9 },
+ { .phys_base = 0x48086000, .irq = OMAP44XX_IRQ_GPT10 },
+ { .phys_base = 0x48088000, .irq = OMAP44XX_IRQ_GPT11 },
+ { .phys_base = 0x4a320000, .irq = OMAP44XX_IRQ_GPT12 },
};
static const char *omap4_dm_source_names[] __initdata = {
"sys_ck",
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c
index 6055028..337199e 100644
--- a/arch/arm/plat-omap/gpio.c
+++ b/arch/arm/plat-omap/gpio.c
@@ -312,17 +312,17 @@ static struct omap3_gpio_regs gpio_context[OMAP34XX_NR_GPIOS];
#ifdef CONFIG_ARCH_OMAP4
static struct gpio_bank gpio_bank_44xx[6] = {
- { OMAP44XX_GPIO1_BASE, NULL, INT_44XX_GPIO_BANK1, IH_GPIO_BASE,
+ { OMAP44XX_GPIO1_BASE, NULL, OMAP44XX_IRQ_GPIO1, IH_GPIO_BASE,
METHOD_GPIO_44XX },
- { OMAP44XX_GPIO2_BASE, NULL, INT_44XX_GPIO_BANK2, IH_GPIO_BASE + 32,
+ { OMAP44XX_GPIO2_BASE, NULL, OMAP44XX_IRQ_GPIO2, IH_GPIO_BASE + 32,
METHOD_GPIO_44XX },
- { OMAP44XX_GPIO3_BASE, NULL, INT_44XX_GPIO_BANK3, IH_GPIO_BASE + 64,
+ { OMAP44XX_GPIO3_BASE, NULL, OMAP44XX_IRQ_GPIO3, IH_GPIO_BASE + 64,
METHOD_GPIO_44XX },
- { OMAP44XX_GPIO4_BASE, NULL, INT_44XX_GPIO_BANK4, IH_GPIO_BASE + 96,
+ { OMAP44XX_GPIO4_BASE, NULL, OMAP44XX_IRQ_GPIO4, IH_GPIO_BASE + 96,
METHOD_GPIO_44XX },
- { OMAP44XX_GPIO5_BASE, NULL, INT_44XX_GPIO_BANK5, IH_GPIO_BASE + 128,
+ { OMAP44XX_GPIO5_BASE, NULL, OMAP44XX_IRQ_GPIO5, IH_GPIO_BASE + 128,
METHOD_GPIO_44XX },
- { OMAP44XX_GPIO6_BASE, NULL, INT_44XX_GPIO_BANK6, IH_GPIO_BASE + 160,
+ { OMAP44XX_GPIO6_BASE, NULL, OMAP44XX_IRQ_GPIO6, IH_GPIO_BASE + 160,
METHOD_GPIO_44XX },
};
diff --git a/arch/arm/plat-omap/include/plat/irqs.h b/arch/arm/plat-omap/include/plat/irqs.h
index e8205c1..be470bd 100644
--- a/arch/arm/plat-omap/include/plat/irqs.h
+++ b/arch/arm/plat-omap/include/plat/irqs.h
@@ -355,95 +355,6 @@
#define INT_35XX_CCDC_VD1_IRQ 92
#define INT_35XX_CCDC_VD2_IRQ 93
-#define IRQ_GIC_START 32
-#define INT_44XX_LOCALTIMER_IRQ 29
-#define INT_44XX_LOCALWDT_IRQ 30
-
-#define INT_44XX_BENCH_MPU_EMUL (3 + IRQ_GIC_START)
-#define INT_44XX_SSM_ABORT_IRQ (6 + IRQ_GIC_START)
-#define INT_44XX_SYS_NIRQ (7 + IRQ_GIC_START)
-#define INT_44XX_D2D_FW_IRQ (8 + IRQ_GIC_START)
-#define INT_44XX_PRCM_MPU_IRQ (11 + IRQ_GIC_START)
-#define INT_44XX_SDMA_IRQ0 (12 + IRQ_GIC_START)
-#define INT_44XX_SDMA_IRQ1 (13 + IRQ_GIC_START)
-#define INT_44XX_SDMA_IRQ2 (14 + IRQ_GIC_START)
-#define INT_44XX_SDMA_IRQ3 (15 + IRQ_GIC_START)
-#define INT_44XX_ISS_IRQ (24 + IRQ_GIC_START)
-#define INT_44XX_DSS_IRQ (25 + IRQ_GIC_START)
-#define INT_44XX_MAIL_U0_MPU (26 + IRQ_GIC_START)
-#define INT_44XX_DSP_MMU (28 + IRQ_GIC_START)
-#define INT_44XX_GPTIMER1 (37 + IRQ_GIC_START)
-#define INT_44XX_GPTIMER2 (38 + IRQ_GIC_START)
-#define INT_44XX_GPTIMER3 (39 + IRQ_GIC_START)
-#define INT_44XX_GPTIMER4 (40 + IRQ_GIC_START)
-#define INT_44XX_GPTIMER5 (41 + IRQ_GIC_START)
-#define INT_44XX_GPTIMER6 (42 + IRQ_GIC_START)
-#define INT_44XX_GPTIMER7 (43 + IRQ_GIC_START)
-#define INT_44XX_GPTIMER8 (44 + IRQ_GIC_START)
-#define INT_44XX_GPTIMER9 (45 + IRQ_GIC_START)
-#define INT_44XX_GPTIMER10 (46 + IRQ_GIC_START)
-#define INT_44XX_GPTIMER11 (47 + IRQ_GIC_START)
-#define INT_44XX_GPTIMER12 (95 + IRQ_GIC_START)
-#define INT_44XX_SHA1MD5 (51 + IRQ_GIC_START)
-#define INT_44XX_I2C1_IRQ (56 + IRQ_GIC_START)
-#define INT_44XX_I2C2_IRQ (57 + IRQ_GIC_START)
-#define INT_44XX_HDQ_IRQ (58 + IRQ_GIC_START)
-#define INT_44XX_SPI1_IRQ (65 + IRQ_GIC_START)
-#define INT_44XX_SPI2_IRQ (66 + IRQ_GIC_START)
-#define INT_44XX_HSI_1_IRQ0 (67 + IRQ_GIC_START)
-#define INT_44XX_HSI_2_IRQ1 (68 + IRQ_GIC_START)
-#define INT_44XX_HSI_1_DMAIRQ (71 + IRQ_GIC_START)
-#define INT_44XX_UART1_IRQ (72 + IRQ_GIC_START)
-#define INT_44XX_UART2_IRQ (73 + IRQ_GIC_START)
-#define INT_44XX_UART3_IRQ (74 + IRQ_GIC_START)
-#define INT_44XX_UART4_IRQ (70 + IRQ_GIC_START)
-#define INT_44XX_USB_IRQ_NISO (76 + IRQ_GIC_START)
-#define INT_44XX_USB_IRQ_ISO (77 + IRQ_GIC_START)
-#define INT_44XX_USB_IRQ_HGEN (78 + IRQ_GIC_START)
-#define INT_44XX_USB_IRQ_HSOF (79 + IRQ_GIC_START)
-#define INT_44XX_USB_IRQ_OTG (80 + IRQ_GIC_START)
-#define INT_44XX_MCBSP4_IRQ_TX (81 + IRQ_GIC_START)
-#define INT_44XX_MCBSP4_IRQ_RX (82 + IRQ_GIC_START)
-#define INT_44XX_MMC_IRQ (83 + IRQ_GIC_START)
-#define INT_44XX_MMC2_IRQ (86 + IRQ_GIC_START)
-#define INT_44XX_MCBSP2_IRQ_TX (89 + IRQ_GIC_START)
-#define INT_44XX_MCBSP2_IRQ_RX (90 + IRQ_GIC_START)
-#define INT_44XX_SPI3_IRQ (91 + IRQ_GIC_START)
-#define INT_44XX_SPI5_IRQ (69 + IRQ_GIC_START)
-
-#define INT_44XX_MCBSP5_IRQ (16 + IRQ_GIC_START)
-#define INT_44xX_MCBSP1_IRQ (17 + IRQ_GIC_START)
-#define INT_44XX_MCBSP2_IRQ (22 + IRQ_GIC_START)
-#define INT_44XX_MCBSP3_IRQ (23 + IRQ_GIC_START)
-#define INT_44XX_MCBSP4_IRQ (27 + IRQ_GIC_START)
-#define INT_44XX_HS_USB_MC (92 + IRQ_GIC_START)
-#define INT_44XX_HS_USB_DMA (93 + IRQ_GIC_START)
-
-#define INT_44XX_GPIO_BANK1 (29 + IRQ_GIC_START)
-#define INT_44XX_GPIO_BANK2 (30 + IRQ_GIC_START)
-#define INT_44XX_GPIO_BANK3 (31 + IRQ_GIC_START)
-#define INT_44XX_GPIO_BANK4 (32 + IRQ_GIC_START)
-#define INT_44XX_GPIO_BANK5 (33 + IRQ_GIC_START)
-#define INT_44XX_GPIO_BANK6 (34 + IRQ_GIC_START)
-#define INT_44XX_USIM_IRQ (35 + IRQ_GIC_START)
-#define INT_44XX_WDT3_IRQ (36 + IRQ_GIC_START)
-#define INT_44XX_SPI4_IRQ (48 + IRQ_GIC_START)
-#define INT_44XX_SHA1MD52_IRQ (49 + IRQ_GIC_START)
-#define INT_44XX_FPKA_READY_IRQ (50 + IRQ_GIC_START)
-#define INT_44XX_SHA1MD51_IRQ (51 + IRQ_GIC_START)
-#define INT_44XX_RNG_IRQ (52 + IRQ_GIC_START)
-#define INT_44XX_MMC5_IRQ (59 + IRQ_GIC_START)
-#define INT_44XX_I2C3_IRQ (61 + IRQ_GIC_START)
-#define INT_44XX_FPKA_ERROR_IRQ (64 + IRQ_GIC_START)
-#define INT_44XX_PBIAS_IRQ (75 + IRQ_GIC_START)
-#define INT_44XX_OHCI_IRQ (76 + IRQ_GIC_START)
-#define INT_44XX_EHCI_IRQ (77 + IRQ_GIC_START)
-#define INT_44XX_TLL_IRQ (78 + IRQ_GIC_START)
-#define INT_44XX_PARTHASH_IRQ (79 + IRQ_GIC_START)
-#define INT_44XX_MMC3_IRQ (94 + IRQ_GIC_START)
-#define INT_44XX_MMC4_IRQ (96 + IRQ_GIC_START)
-#define INT_44XX_MCPDM_IRQ (112 + IRQ_GIC_START)
-
/* Max. 128 level 2 IRQs (OMAP1610), 192 GPIOs (OMAP730/850) and
* 16 MPUIO lines */
#define OMAP_MAX_GPIO_LINES 192
--
1.6.0.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 7/9] omap4: Add auto-generated irq and dma headers
2010-02-18 8:59 ` [PATCH 7/9] omap4: Add auto-generated irq and dma headers Santosh Shilimkar
2010-02-18 8:59 ` [PATCH 8/9] omap4: Use dma line defines from dma-44xx.h Santosh Shilimkar
@ 2010-02-18 17:23 ` Paul Walmsley
2010-02-18 17:33 ` Shilimkar, Santosh
2010-02-19 5:10 ` Shilimkar, Santosh
1 sibling, 2 replies; 25+ messages in thread
From: Paul Walmsley @ 2010-02-18 17:23 UTC (permalink / raw)
To: linux-arm-kernel
Hello Santosh,
thanks for sending these in. One minor comment:
On Thu, 18 Feb 2010, Santosh Shilimkar wrote:
> These files are generated along with the HWMOD and will eventually be
> in the existing header files as soon as all drivers will be migrate to
> omap_hwmod / omap_device.
>
> The dma-44xx.h file should be in 'arch/arm/mach-omap2/include/mach/',
> but this would need dma.h header also present in the mach directory to
> make local include possible, like what is done for irq.h. Then the
> script is needed to modify the drivers to include 'mach/dma.h' instead
> of 'plat/dma.h'. This would be a bigger change and hence left out for now
I think I originally wrote the DMA generator script, so please add a Nokia
copyright and put my name in there also. After that point, it has my ack.
- Paul
>
> Signed-off-by: Benoit Cousson <b-cousson@ti.com>
> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
> ---
> arch/arm/mach-omap2/include/mach/irqs-44xx.h | 144 +++++++++++++++++++++++++
> arch/arm/plat-omap/include/plat/dma-44xx.h | 145 ++++++++++++++++++++++++++
> 2 files changed, 289 insertions(+), 0 deletions(-)
> create mode 100644 arch/arm/mach-omap2/include/mach/irqs-44xx.h
> create mode 100644 arch/arm/plat-omap/include/plat/dma-44xx.h
>
> diff --git a/arch/arm/mach-omap2/include/mach/irqs-44xx.h b/arch/arm/mach-omap2/include/mach/irqs-44xx.h
> new file mode 100644
> index 0000000..6dc5887
> --- /dev/null
> +++ b/arch/arm/mach-omap2/include/mach/irqs-44xx.h
> @@ -0,0 +1,144 @@
> +/*
> + * OMAP4 Interrupt lines definitions
> + *
> + * Copyright (C) 2009-2010 Texas Instruments, Inc.
> + *
> + * Santosh Shilimkar (santosh.shilimkar at ti.com)
> + * Benoit Cousson (b-cousson at ti.com)
> + *
> + * This file is automatically generated from the OMAP hardware databases.
> + * We respectfully ask that any modifications to this file be coordinated
> + * with the public linux-omap at vger.kernel.org mailing list and the
> + * authors above to ensure that the autogeneration scripts are kept
> + * up-to-date with the file contents.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + */
> +
> +#ifndef __ARCH_ARM_MACH_OMAP2_OMAP44XX_IRQS_H
> +#define __ARCH_ARM_MACH_OMAP2_OMAP44XX_IRQS_H
> +
> +/* OMAP44XX IRQs numbers definitions */
> +#define OMAP44XX_IRQ_LOCALTIMER 29
> +#define OMAP44XX_IRQ_LOCALWDT 30
> +
> +#define OMAP44XX_IRQ_GIC_START 32
> +
> +#define OMAP44XX_IRQ_PL310 (0 + OMAP44XX_IRQ_GIC_START) /* Level-2 Cache Controller interrupt */
> +#define OMAP44XX_IRQ_CTI0 (1 + OMAP44XX_IRQ_GIC_START) /* TRIGOUT[6] of Cross Trigger Interface 0 (CTI0) */
> +#define OMAP44XX_IRQ_CTI1 (2 + OMAP44XX_IRQ_GIC_START) /* TRIGOUT[6] of Cross Trigger Interface 1 (CTI1) */
> +#define OMAP44XX_IRQ_ELM (4 + OMAP44XX_IRQ_GIC_START) /* Error location process completion */
> +#define OMAP44XX_IRQ_SYS_1N (7 + OMAP44XX_IRQ_GIC_START) /* External interrupt (active low) */
> +#define OMAP44XX_IRQ_SECURITY_EVENTS (8 + OMAP44XX_IRQ_GIC_START) /* Occurs when a firewall (ARTERIS/L4) has generated an out-band error or when power events occurred (including power-on reset, so by default, this interrupt is active after power-up reset). */
> +#define OMAP44XX_IRQ_L3_DBG (9 + OMAP44XX_IRQ_GIC_START) /* Reports debug errors on L3 */
> +#define OMAP44XX_IRQ_L3_APP (10 + OMAP44XX_IRQ_GIC_START) /* Reports application or non-attributable errors on L3 */
> +#define OMAP44XX_IRQ_PRCM (11 + OMAP44XX_IRQ_GIC_START) /* PRCM module */
> +#define OMAP44XX_IRQ_SDMA_0 (12 + OMAP44XX_IRQ_GIC_START) /* System DMA interrupt request 0 */
> +#define OMAP44XX_IRQ_SDMA_1 (13 + OMAP44XX_IRQ_GIC_START) /* System DMA interrupt request 1 */
> +#define OMAP44XX_IRQ_SDMA_2 (14 + OMAP44XX_IRQ_GIC_START) /* System DMA interrupt request 2 */
> +#define OMAP44XX_IRQ_SDMA_3 (15 + OMAP44XX_IRQ_GIC_START) /* System DMA interrupt request 3 */
> +#define OMAP44XX_IRQ_MCBSP4 (16 + OMAP44XX_IRQ_GIC_START) /* McBSP 4 / PORCOMMONIRQ : Common Synchronous Interrupt Request line */
> +#define OMAP44XX_IRQ_MCBSP1 (17 + OMAP44XX_IRQ_GIC_START) /* McBSP 1 / PORCOMMONIRQ : Common Synchronous Interrupt Request line */
> +#define OMAP44XX_IRQ_SR_MCU (18 + OMAP44XX_IRQ_GIC_START) /* SmartReflex MCU interrupt request */
> +#define OMAP44XX_IRQ_SR_CORE (19 + OMAP44XX_IRQ_GIC_START) /* SmartReflex Core interrupt request */
> +#define OMAP44XX_IRQ_GPMC (20 + OMAP44XX_IRQ_GIC_START) /* General purpose memory controller module */
> +#define OMAP44XX_IRQ_GFX (21 + OMAP44XX_IRQ_GIC_START) /* 2D/3D graphics module */
> +#define OMAP44XX_IRQ_MCBSP2 (22 + OMAP44XX_IRQ_GIC_START) /* McBSP 2 / PORCOMMONIRQ : Common Synchronous Interrupt Request line */
> +#define OMAP44XX_IRQ_MCBSP3 (23 + OMAP44XX_IRQ_GIC_START) /* McBSP 3 / PORCOMMONIRQ : Common Synchronous Interrupt Request line */
> +#define OMAP44XX_IRQ_ISS_5 (24 + OMAP44XX_IRQ_GIC_START) /* Imaging Sub System interrupt request */
> +#define OMAP44XX_IRQ_DSS_DISPC (25 + OMAP44XX_IRQ_GIC_START) /* Display controller interrupt request */
> +#define OMAP44XX_IRQ_MAIL_U0 (26 + OMAP44XX_IRQ_GIC_START) /* Mailbox user 0 interrupt request */
> +#define OMAP44XX_IRQ_C2C_SSCM_0 (27 + OMAP44XX_IRQ_GIC_START) /* Chip2Chip Status interrupt */
> +#define OMAP44XX_IRQ_TESLA_MMU (28 + OMAP44XX_IRQ_GIC_START) /* Telsa (Mini64) SS MMU interrupt */
> +#define OMAP44XX_IRQ_GPIO1 (29 + OMAP44XX_IRQ_GIC_START) /* GPIO module 1 interrupt 1 */
> +#define OMAP44XX_IRQ_GPIO2 (30 + OMAP44XX_IRQ_GIC_START) /* GPIO module 2 interrupt 1 */
> +#define OMAP44XX_IRQ_GPIO3 (31 + OMAP44XX_IRQ_GIC_START) /* GPIO module 3 interrupt 1 */
> +#define OMAP44XX_IRQ_GPIO4 (32 + OMAP44XX_IRQ_GIC_START) /* GPIO module 4 interrupt 1 */
> +#define OMAP44XX_IRQ_GPIO5 (33 + OMAP44XX_IRQ_GIC_START) /* GPIO module 5 interrupt 1 */
> +#define OMAP44XX_IRQ_GPIO6 (34 + OMAP44XX_IRQ_GIC_START) /* GPIO module 6 interrupt 1 */
> +#define OMAP44XX_IRQ_USIM (35 + OMAP44XX_IRQ_GIC_START) /* USIM interrupt */
> +#define OMAP44XX_IRQ_WDT3 (36 + OMAP44XX_IRQ_GIC_START) /* Watchdog timer module 3 overflow (WDT controlled by Mini64) */
> +#define OMAP44XX_IRQ_GPT1 (37 + OMAP44XX_IRQ_GIC_START) /* General purpose timer module 1 (Timer 1ms / Wakeup domain) */
> +#define OMAP44XX_IRQ_GPT2 (38 + OMAP44XX_IRQ_GIC_START) /* General purpose timer module 2 (Timer 1ms / Core domain) */
> +#define OMAP44XX_IRQ_GPT3 (39 + OMAP44XX_IRQ_GIC_START) /* General purpose timer module 3 */
> +#define OMAP44XX_IRQ_GPT4 (40 + OMAP44XX_IRQ_GIC_START) /* General purpose timer module 4 */
> +#define OMAP44XX_IRQ_GPT5 (41 + OMAP44XX_IRQ_GIC_START) /* General purpose timer module 5 (Audio BE) */
> +#define OMAP44XX_IRQ_GPT6 (42 + OMAP44XX_IRQ_GIC_START) /* General purpose timer module 6 (Audio BE) */
> +#define OMAP44XX_IRQ_GPT7 (43 + OMAP44XX_IRQ_GIC_START) /* General purpose timer module 7 (Audio BE) */
> +#define OMAP44XX_IRQ_GPT8 (44 + OMAP44XX_IRQ_GIC_START) /* General purpose timer module 8 (Audio BE) */
> +#define OMAP44XX_IRQ_GPT9 (45 + OMAP44XX_IRQ_GIC_START) /* General purpose timer module 9 */
> +#define OMAP44XX_IRQ_GPT10 (46 + OMAP44XX_IRQ_GIC_START) /* General purpose timer module 10 (Timer 1ms / Core domain) */
> +#define OMAP44XX_IRQ_GPT11 (47 + OMAP44XX_IRQ_GIC_START) /* General purpose timer module 11 */
> +#define OMAP44XX_IRQ_SPI4 (48 + OMAP44XX_IRQ_GIC_START) /* McSPI module 4 */
> +#define OMAP44XX_IRQ_SHA1_S (49 + OMAP44XX_IRQ_GIC_START) /* SHA2/MD5 crypto-accelerator 1 combined secure side */
> +#define OMAP44XX_IRQ_FPKA_SINTREQUEST_S (50 + OMAP44XX_IRQ_GIC_START) /* PKA crypto-accelerator combined */
> +#define OMAP44XX_IRQ_SHA1_P (51 + OMAP44XX_IRQ_GIC_START) /* SHA2/MD5 crypto-accelerator 1 combined public side */
> +#define OMAP44XX_IRQ_RNG (52 + OMAP44XX_IRQ_GIC_START) /* RNG module */
> +#define OMAP44XX_IRQ_DSS_DSI1 (53 + OMAP44XX_IRQ_GIC_START) /* Display DSI1 interrupt request */
> +#define OMAP44XX_IRQ_I2C1 (56 + OMAP44XX_IRQ_GIC_START) /* I2C module 1 */
> +#define OMAP44XX_IRQ_I2C2 (57 + OMAP44XX_IRQ_GIC_START) /* I2C module 2 */
> +#define OMAP44XX_IRQ_HDQ (58 + OMAP44XX_IRQ_GIC_START) /* HDQ/One wire */
> +#define OMAP44XX_IRQ_MMC5 (59 + OMAP44XX_IRQ_GIC_START) /* MMC5_IRQ */
> +#define OMAP44XX_IRQ_I2C3 (61 + OMAP44XX_IRQ_GIC_START) /* I2C module 3 */
> +#define OMAP44XX_IRQ_I2C4 (62 + OMAP44XX_IRQ_GIC_START) /* I2C module 4 */
> +#define OMAP44XX_IRQ_AES2_S (63 + OMAP44XX_IRQ_GIC_START) /* AES module 2 Interrupt secure side */
> +#define OMAP44XX_IRQ_AES2_P (64 + OMAP44XX_IRQ_GIC_START) /* AES module 2 Interrupt public side */
> +#define OMAP44XX_IRQ_SPI1 (65 + OMAP44XX_IRQ_GIC_START) /* McSPI module 1 */
> +#define OMAP44XX_IRQ_SPI2 (66 + OMAP44XX_IRQ_GIC_START) /* McSPI module 2 */
> +#define OMAP44XX_IRQ_HSI_P1 (67 + OMAP44XX_IRQ_GIC_START) /* HSI interrupt request - Port 1 combined interrupt */
> +#define OMAP44XX_IRQ_HSI_P2 (68 + OMAP44XX_IRQ_GIC_START) /* HSI interrupt request - Port 2 combined interrupt */
> +#define OMAP44XX_IRQ_FDIF_3 (69 + OMAP44XX_IRQ_GIC_START) /* Face detect Interrupt */
> +#define OMAP44XX_IRQ_UART4 (70 + OMAP44XX_IRQ_GIC_START) /* UART module 4 */
> +#define OMAP44XX_IRQ_HSI_DMA (71 + OMAP44XX_IRQ_GIC_START) /* HSI DMA engine */
> +#define OMAP44XX_IRQ_UART1 (72 + OMAP44XX_IRQ_GIC_START) /* UART module 1 */
> +#define OMAP44XX_IRQ_UART2 (73 + OMAP44XX_IRQ_GIC_START) /* UART module 2 */
> +#define OMAP44XX_IRQ_UART3 (74 + OMAP44XX_IRQ_GIC_START) /* UART module 3 (also infrared) */
> +#define OMAP44XX_IRQ_PBIAS (75 + OMAP44XX_IRQ_GIC_START) /* Merged interrupt for PBIASlite1 and 2 */
> +#define OMAP44XX_IRQ_OHCI (76 + OMAP44XX_IRQ_GIC_START) /* HSUSB MP Host Interrupt OHCI controller */
> +#define OMAP44XX_IRQ_EHCI (77 + OMAP44XX_IRQ_GIC_START) /* HSUSB MP Host Interrupt EHCI controller */
> +#define OMAP44XX_IRQ_TLL (78 + OMAP44XX_IRQ_GIC_START) /* HSUSB MP TLL Interrupt */
> +#define OMAP44XX_IRQ_AES1_S (79 + OMAP44XX_IRQ_GIC_START) /* AES module 1 interrupt secure side */
> +#define OMAP44XX_IRQ_WDT2 (80 + OMAP44XX_IRQ_GIC_START) /* WDT2 interrupt */
> +#define OMAP44XX_IRQ_DES_S (81 + OMAP44XX_IRQ_GIC_START) /* DES/3DES module secure side */
> +#define OMAP44XX_IRQ_DES_P (82 + OMAP44XX_IRQ_GIC_START) /* DES/3DES module Public side */
> +#define OMAP44XX_IRQ_MMC1 (83 + OMAP44XX_IRQ_GIC_START) /* MMC1_IRQ */
> +#define OMAP44XX_IRQ_DSS_DSI2 (84 + OMAP44XX_IRQ_GIC_START) /* Display DSI2 interrupt request */
> +#define OMAP44XX_IRQ_AES1_P (85 + OMAP44XX_IRQ_GIC_START) /* AES module 1 interrupt public side */
> +#define OMAP44XX_IRQ_MMC2 (86 + OMAP44XX_IRQ_GIC_START) /* MMC/SDIO module 2 */
> +#define OMAP44XX_IRQ_MPU_ICR (87 + OMAP44XX_IRQ_GIC_START) /* MPU ICR Interrupt from Modem-APE Inter Processor Communication IP */
> +#define OMAP44XX_IRQ_C2C_SSCM_1 (88 + OMAP44XX_IRQ_GIC_START) /* Chip2Chip GPI interrupt */
> +#define OMAP44XX_IRQ_FSUSB (89 + OMAP44XX_IRQ_GIC_START) /* FS-USB - Host controller Interrupt */
> +#define OMAP44XX_IRQ_FSUSB_SMI (90 + OMAP44XX_IRQ_GIC_START) /* FS-USB - Host controller SMI (system Management) Interrupt */
> +#define OMAP44XX_IRQ_SPI3 (91 + OMAP44XX_IRQ_GIC_START) /* McSPI module 3 */
> +#define OMAP44XX_IRQ_HS_USB_MC_N (92 + OMAP44XX_IRQ_GIC_START) /* Module HS USB OTG controller */
> +#define OMAP44XX_IRQ_HS_USB_DMA_N (93 + OMAP44XX_IRQ_GIC_START) /* Module HS USB OTG DMA controller interrupt */
> +#define OMAP44XX_IRQ_MMC3 (94 + OMAP44XX_IRQ_GIC_START) /* MMC/SDIO module 3 */
> +#define OMAP44XX_IRQ_GPT12 (95 + OMAP44XX_IRQ_GIC_START) /* General purpose timer module 12 (secure timer / Wakeup domain) */
> +#define OMAP44XX_IRQ_MMC4 (96 + OMAP44XX_IRQ_GIC_START) /* MMC/SDIO module 4 */
> +#define OMAP44XX_IRQ_SLIMBUS1 (97 + OMAP44XX_IRQ_GIC_START) /* SLIMBus module 1 */
> +#define OMAP44XX_IRQ_SLIMBUS2 (98 + OMAP44XX_IRQ_GIC_START) /* SLIMBus module 2 */
> +#define OMAP44XX_IRQ_ABE (99 + OMAP44XX_IRQ_GIC_START) /* Audio Back-End interrupt */
> +#define OMAP44XX_IRQ_DUCATI_MMU (100 + OMAP44XX_IRQ_GIC_START) /* Ducati MMU interrupt */
> +#define OMAP44XX_IRQ_DSS_HDMI (101 + OMAP44XX_IRQ_GIC_START) /* Display HDMI interrupt request */
> +#define OMAP44XX_IRQ_SR_IVA (102 + OMAP44XX_IRQ_GIC_START) /* SmartReflex IVA interrupt request */
> +#define OMAP44XX_IRQ_IVA_HD_POSYNCITRPEND_1 (103 + OMAP44XX_IRQ_GIC_START) /* Sync interrupt from ICONT2 (vDMA) */
> +#define OMAP44XX_IRQ_IVA_HD_POSYNCITRPEND_0 (104 + OMAP44XX_IRQ_GIC_START) /* Sync interrupt from ICONT1 */
> +#define OMAP44XX_IRQ_IVA_HD_POMBINTRPEND_0 (107 + OMAP44XX_IRQ_GIC_START) /* IVA-HD Sub System interrupt request (Mailbox interrupt 0) */
> +#define OMAP44XX_IRQ_MCASP1_AR (108 + OMAP44XX_IRQ_GIC_START) /* McASP Receive interrupt - Module 1 (Audio BE) */
> +#define OMAP44XX_IRQ_MCASP1_AX (109 + OMAP44XX_IRQ_GIC_START) /* McASP Transmit interrupt - Module 1 (Audio BE) */
> +#define OMAP44XX_IRQ_EMIF4_1 (110 + OMAP44XX_IRQ_GIC_START) /* EMIF4 interrupt - Module 1 */
> +#define OMAP44XX_IRQ_EMIF4_2 (111 + OMAP44XX_IRQ_GIC_START) /* EMIF4 interrupt - Module 2 */
> +#define OMAP44XX_IRQ_MCPDM (112 + OMAP44XX_IRQ_GIC_START) /* McPDM interrupt (Audio BE) */
> +#define OMAP44XX_IRQ_DMM (113 + OMAP44XX_IRQ_GIC_START) /* DMM interrupt */
> +#define OMAP44XX_IRQ_DMIC (114 + OMAP44XX_IRQ_GIC_START) /* DMIC interrupt (Audio BE) */
> +#define OMAP44XX_IRQ_CDMA_0 (115 + OMAP44XX_IRQ_GIC_START) /* Crypto DMA interrupt request 0 */
> +#define OMAP44XX_IRQ_CDMA_1 (116 + OMAP44XX_IRQ_GIC_START) /* Crypto DMA interrupt request 1 */
> +#define OMAP44XX_IRQ_CDMA_2 (117 + OMAP44XX_IRQ_GIC_START) /* Crypto DMA interrupt request 2 */
> +#define OMAP44XX_IRQ_CDMA_3 (118 + OMAP44XX_IRQ_GIC_START) /* Crypto DMA interrupt request 3 */
> +#define OMAP44XX_IRQ_SYS_2N (119 + OMAP44XX_IRQ_GIC_START) /* External interrupt 2 (active low) */
> +#define OMAP44XX_IRQ_KBD_CTL (120 + OMAP44XX_IRQ_GIC_START) /* Keyboard controller IRQ */
> +#define OMAP44XX_IRQ_UNIPRO1 (124 + OMAP44XX_IRQ_GIC_START) /* Unipro Module 1 */
> +
> +#endif
> diff --git a/arch/arm/plat-omap/include/plat/dma-44xx.h b/arch/arm/plat-omap/include/plat/dma-44xx.h
> new file mode 100644
> index 0000000..f4f7d15
> --- /dev/null
> +++ b/arch/arm/plat-omap/include/plat/dma-44xx.h
> @@ -0,0 +1,145 @@
> +/*
> + * OMAP4 SDMA channel definitions
> + *
> + * Copyright (C) 2009-2010 Texas Instruments, Inc.
> + *
> + * Santosh Shilimkar (santosh.shilimkar at ti.com)
> + * Benoit Cousson (b-cousson at ti.com)
> + *
> + * This file is automatically generated from the OMAP hardware databases.
> + * We respectfully ask that any modifications to this file be coordinated
> + * with the public linux-omap at vger.kernel.org mailing list and the
> + * authors above to ensure that the autogeneration scripts are kept
> + * up-to-date with the file contents.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + */
> +
> +#ifndef __ARCH_ARM_MACH_OMAP2_OMAP44XX_DMA_H
> +#define __ARCH_ARM_MACH_OMAP2_OMAP44XX_DMA_H
> +
> +#define OMAP44XX_DMA_SYS_REQ0 2 /* External DMA request 0 (system expansion) */
> +#define OMAP44XX_DMA_SYS_REQ1 3 /* External DMA request 1 (system expansion) */
> +#define OMAP44XX_DMA_GPMC 4 /* GPMC request from prefetch engine */
> +#define OMAP44XX_DMA_DSS_DISPC_REQ 6 /* The line trigger signal to synchronize a memory to memory logical channel in the DMA4 (system DMA) is generated by the Display Controller IP. */
> +#define OMAP44XX_DMA_SYS_REQ2 7 /* External DMA request 2 (system expansion) */
> +#define OMAP44XX_DMA_MCASP1_AXEVT 8 /* McASP module 1 (Audio BE) - Data transmit DMA request line */
> +#define OMAP44XX_DMA_ISS_REQ1 9 /* ISS DMA request 1 */
> +#define OMAP44XX_DMA_ISS_REQ2 10 /* ISS DMA request 2 */
> +#define OMAP44XX_DMA_MCASP1_AREVT 11 /* McASP module 1 (Audio BE) - Data receive DMA request line */
> +#define OMAP44XX_DMA_ISS_REQ3 12 /* ISS DMA request 3 */
> +#define OMAP44XX_DMA_ISS_REQ4 13 /* ISS DMA request 4 */
> +#define OMAP44XX_DMA_DSS_RFBI_REQ 14 /* DSS RFBI DMA request */
> +#define OMAP44XX_DMA_SPI3_TX0 15 /* McSPI module 3 - transmit request channel 0 */
> +#define OMAP44XX_DMA_SPI3_RX0 16 /* McSPI module 3 - receive request channel 0 */
> +#define OMAP44XX_DMA_MCBSP2_TX 17 /* MCBSP module 2 - transmit request (audio BE) */
> +#define OMAP44XX_DMA_MCBSP2_RX 18 /* MCBSP module 2 - receive request (audio BE) */
> +#define OMAP44XX_DMA_MCBSP3_TX 19 /* MCBSP module 3 - transmit request (Audio BE) */
> +#define OMAP44XX_DMA_MCBSP3_RX 20 /* MCBSP module 3 - receive request (Audio BE) */
> +#define OMAP44XX_DMA_C2C_SSCM_GPO0 21 /* Chip2Chip GPO line 0 (C2C_Sscm_Gpo[0]) */
> +#define OMAP44XX_DMA_C2C_SSCM_GPO1 22 /* Chip2Chip GPO line 1 (C2C_Sscm_Gpo[1]) */
> +#define OMAP44XX_DMA_SPI3_TX1 23 /* McSPI module 3 - transmit request channel 1 */
> +#define OMAP44XX_DMA_SPI3_RX1 24 /* McSPI module 3 - receive request channel 1 */
> +#define OMAP44XX_DMA_I2C3_TX 25 /* I2C module 3 - transmit request */
> +#define OMAP44XX_DMA_I2C3_RX 26 /* I2C module 3 - receive request */
> +#define OMAP44XX_DMA_I2C1_TX 27 /* I2C module 1 - transmit request */
> +#define OMAP44XX_DMA_I2C1_RX 28 /* I2C module 1 - receive request */
> +#define OMAP44XX_DMA_I2C2_TX 29 /* I2C module 2 - transmit request */
> +#define OMAP44XX_DMA_I2C2_RX 30 /* I2C module 2 - receive request */
> +#define OMAP44XX_DMA_MCBSP4_TX 31 /* MCBSP module 4 - transmit request */
> +#define OMAP44XX_DMA_MCBSP4_RX 32 /* MCBSP module 4 - receive request */
> +#define OMAP44XX_DMA_MCBSP1_TX 33 /* MCBSP module 1 - transmit request (Audio BE) */
> +#define OMAP44XX_DMA_MCBSP1_RX 34 /* MCBSP module 1 - receive request (Audio BE) */
> +#define OMAP44XX_DMA_SPI1_TX0 35 /* McSPI module 1 - transmit request channel 0 */
> +#define OMAP44XX_DMA_SPI1_RX0 36 /* McSPI module 1 - receive request channel 0 */
> +#define OMAP44XX_DMA_SPI1_TX1 37 /* McSPI module 1 - transmit request channel 1 */
> +#define OMAP44XX_DMA_SPI1_RX1 38 /* McSPI module 1 - receive request channel 1 */
> +#define OMAP44XX_DMA_SPI1_TX2 39 /* McSPI module 1 - transmit request channel 2 */
> +#define OMAP44XX_DMA_SPI1_RX2 40 /* McSPI module 1 - receive request channel 2 */
> +#define OMAP44XX_DMA_SPI1_TX3 41 /* McSPI module 1 - transmit request channel 3 */
> +#define OMAP44XX_DMA_SPI1_RX3 42 /* McSPI module 1 - receive request channel 3 */
> +#define OMAP44XX_DMA_SPI2_TX0 43 /* McSPI module 2 - transmit request channel 0 */
> +#define OMAP44XX_DMA_SPI2_RX0 44 /* McSPI module 2 - receive request channel 0 */
> +#define OMAP44XX_DMA_SPI2_TX1 45 /* McSPI module 2 - transmit request channel 1 */
> +#define OMAP44XX_DMA_SPI2_RX1 46 /* McSPI module 2 - receive request channel 1 */
> +#define OMAP44XX_DMA_MMC2_TX 47 /* MMC/SD2 transmit request */
> +#define OMAP44XX_DMA_MMC2_RX 48 /* MMC/SD2 receive request */
> +#define OMAP44XX_DMA_UART1_TX 49 /* UART module 1 - transmit request */
> +#define OMAP44XX_DMA_UART1_RX 50 /* UART module 1 - receive request */
> +#define OMAP44XX_DMA_UART2_TX 51 /* UART module 2 - transmit request */
> +#define OMAP44XX_DMA_UART2_RX 52 /* UART module 2 - receive request */
> +#define OMAP44XX_DMA_UART3_TX 53 /* UART module 3 - transmit request (Also infrared) */
> +#define OMAP44XX_DMA_UART3_RX 54 /* UART module 3 - receive request (Also infrared) */
> +#define OMAP44XX_DMA_UART4_TX 55 /* UART module 4 transmit request */
> +#define OMAP44XX_DMA_UART4_RX 56 /* UART module 4 receive request */
> +#define OMAP44XX_DMA_MMC4_TX 57 /* MMC/SD4 transmit request */
> +#define OMAP44XX_DMA_MMC4_RX 58 /* MMC/SD4 receive request */
> +#define OMAP44XX_DMA_MMC5_TX 59 /* MMC/SD5 transmit request */
> +#define OMAP44XX_DMA_MMC5_RX 60 /* MMC/SD5 receive request */
> +#define OMAP44XX_DMA_MMC1_TX 61 /* MMC/SD1 transmit request */
> +#define OMAP44XX_DMA_MMC1_RX 62 /* MMC/SD1 receive request */
> +#define OMAP44XX_DMA_SYS_REQ3 64 /* External DMA request 3 (system expansion) */
> +#define OMAP44XX_DMA_MCPDM_UP 65 /* McPDM Uplink DMA request */
> +#define OMAP44XX_DMA_MCPDM_DL 66 /* McPDM DownlinkDMA request */
> +#define OMAP44XX_DMA_DMIC_REQ 67 /* DMIC DMA request */
> +#define OMAP44XX_DMA_C2C_SSCM_GPO2 68 /* Chip2Chip GPO line 2 (C2C_Sscm_Gpo[2]) */
> +#define OMAP44XX_DMA_C2C_SSCM_GPO3 69 /* Chip2Chip GPO line 3 (C2C_Sscm_Gpo[3]) */
> +#define OMAP44XX_DMA_SPI4_TX0 70 /* McSPI module 4 - transmit request channel 0 */
> +#define OMAP44XX_DMA_SPI4_RX0 71 /* McSPI module 4 - receive request channel 0 */
> +#define OMAP44XX_DMA_DSS_DSI1_REQ0 72 /* Display subsystem DSI1 DMA request 0 */
> +#define OMAP44XX_DMA_DSS_DSI1_REQ1 73 /* Display subsystem DSI1 DMA request 1 */
> +#define OMAP44XX_DMA_DSS_DSI1_REQ2 74 /* Display subsystem DSI1 DMA request 2 */
> +#define OMAP44XX_DMA_DSS_DSI1_REQ3 75 /* Display subsystem DSI1 DMA request 3 */
> +#define OMAP44XX_DMA_DSS_HDMI_REQ 76 /* Display subsystem HDMI Audio DMA request */
> +#define OMAP44XX_DMA_MMC3_TX 77 /* MMC/SD3 transmit request */
> +#define OMAP44XX_DMA_MMC3_RX 78 /* MMC/SD3 receive request */
> +#define OMAP44XX_DMA_USIM_TX 79 /* USIM transmit request */
> +#define OMAP44XX_DMA_USIM_RX 80 /* USIM receive request */
> +#define OMAP44XX_DMA_DSS_DSI2_REQ0 81 /* Display subsystem DSI2 DMA request 0 */
> +#define OMAP44XX_DMA_DSS_DSI2_REQ1 82 /* Display subsystem DSI2 DMA request 1 */
> +#define OMAP44XX_DMA_DSS_DSI2_REQ2 83 /* Display subsystem DSI2 DMA request 2 */
> +#define OMAP44XX_DMA_DSS_DSI2_REQ3 84 /* Display subsystem DSI2 DMA request 3 */
> +#define OMAP44XX_DMA_SLIMBUS1_TX0 85 /* SLIMbus module 1 transmit request channel 0 */
> +#define OMAP44XX_DMA_SLIMBUS1_TX1 86 /* SLIMbus module 1 transmit request channel 1 */
> +#define OMAP44XX_DMA_SLIMBUS1_TX2 87 /* SLIMbus module 1 transmit request channel 2 */
> +#define OMAP44XX_DMA_SLIMBUS1_TX3 88 /* SLIMbus module 1 transmit request channel 3 */
> +#define OMAP44XX_DMA_SLIMBUS1_RX0 89 /* SLIMbus module 1 receive request channel 0 */
> +#define OMAP44XX_DMA_SLIMBUS1_RX1 90 /* SLIMbus module 1 receive request channel 1 */
> +#define OMAP44XX_DMA_SLIMBUS1_RX2 91 /* SLIMbus module 1 receive request channel 2 */
> +#define OMAP44XX_DMA_SLIMBUS1_RX3 92 /* SLIMbus module 1 receive request channel 3 */
> +#define OMAP44XX_DMA_SLIMBUS2_TX0 93 /* SLIMbus module 2 transmit request channel 0 */
> +#define OMAP44XX_DMA_SLIMBUS2_TX1 94 /* SLIMbus module 2 transmit request channel 1 */
> +#define OMAP44XX_DMA_SLIMBUS2_TX2 95 /* SLIMbus module 2 transmit request channel 2 */
> +#define OMAP44XX_DMA_SLIMBUS2_TX3 96 /* SLIMbus module 2 transmit request channel 3 */
> +#define OMAP44XX_DMA_SLIMBUS2_RX0 97 /* SLIMbus module 2 receive request channel 0 */
> +#define OMAP44XX_DMA_SLIMBUS2_RX1 98 /* SLIMbus module 2 receive request channel 1 */
> +#define OMAP44XX_DMA_SLIMBUS2_RX2 99 /* SLIMbus module 2 receive request channel 2 */
> +#define OMAP44XX_DMA_SLIMBUS2_RX3 100 /* SLIMbus module 2 receive request channel 3 */
> +#define OMAP44XX_DMA_ABE_REQ_0 101 /* Audio Back-End module request FIFO 0 */
> +#define OMAP44XX_DMA_ABE_REQ_1 102 /* Audio Back-End module request FIFO 1 */
> +#define OMAP44XX_DMA_ABE_REQ_2 103 /* Audio Back-End module request FIFO 2 */
> +#define OMAP44XX_DMA_ABE_REQ_3 104 /* Audio Back-End module request FIFO 3 */
> +#define OMAP44XX_DMA_ABE_REQ_4 105 /* Audio Back-End module request FIFO 4 */
> +#define OMAP44XX_DMA_ABE_REQ_5 106 /* Audio Back-End module request FIFO 5 */
> +#define OMAP44XX_DMA_ABE_REQ_6 107 /* Audio Back-End module request FIFO 6 */
> +#define OMAP44XX_DMA_ABE_REQ_7 108 /* Audio Back-End module request FIFO 7 */
> +#define OMAP44XX_DMA_AES1_P_CTX_IN_REQ 109 /* AES Module 1: Request a new context on the public HIB */
> +#define OMAP44XX_DMA_AES1_P_DATA_IN_REQ 110 /* AES Module 1: Request input data on the public HIB */
> +#define OMAP44XX_DMA_AES1_P_DATA_OUT_REQ 111 /* AES Module 1: Request output data read on the public HIB */
> +#define OMAP44XX_DMA_AES2_P_CTX_IN_REQ 112 /* AES Module 2: Request a new context on the public HIB */
> +#define OMAP44XX_DMA_AES2_P_DATA_IN_REQ 113 /* AES Module 2: Request input data on the public HIB */
> +#define OMAP44XX_DMA_AES2_P_DATA_OUT_REQ 114 /* AES Module 2: Request output data read on the public HIB */
> +#define OMAP44XX_DMA_DES_P_CTX_IN_REQ 115 /* DES Module: Request a new context on the public HIB */
> +#define OMAP44XX_DMA_DES_P_DATA_IN_REQ 116 /* DES Module: Request input data on the public HIB */
> +#define OMAP44XX_DMA_DES_P_DATA_OUT_REQ 117 /* DES Module: Request output data read on the public HIB */
> +#define OMAP44XX_DMA_SHA2_CTXIN_P 118 /* SHA2MD5 Module 1: Request a context on public HIB */
> +#define OMAP44XX_DMA_SHA2_DIN_P 119 /* SHA2MD5 Module 1: Request input data on public HIB */
> +#define OMAP44XX_DMA_SHA2_CTXOUT_P 120 /* SHA2MD5 Module 1: Request output data/context on public HIB */
> +#define OMAP44XX_DMA_AES1_P_CONTEXT_OUT_REQ 121 /* AES Module 1: Request the authentication result (TAG) or result IV read on public HIB */
> +#define OMAP44XX_DMA_AES2_P_CONTEXT_OUT_REQ 122 /* AES Module 2: Request the authentication result (TAG) or result IV read on public HIB */
> +#define OMAP44XX_DMA_I2C4_TX 124 /* I2C module 4 - transmit request */
> +#define OMAP44XX_DMA_I2C4_RX 125 /* I2C module 4 - receive request */
> +
> +#endif
> --
> 1.6.0.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 7/9] omap4: Add auto-generated irq and dma headers
2010-02-18 17:23 ` [PATCH 7/9] omap4: Add auto-generated irq and dma headers Paul Walmsley
@ 2010-02-18 17:33 ` Shilimkar, Santosh
2010-02-19 5:10 ` Shilimkar, Santosh
1 sibling, 0 replies; 25+ messages in thread
From: Shilimkar, Santosh @ 2010-02-18 17:33 UTC (permalink / raw)
To: linux-arm-kernel
> -----Original Message-----
> From: Paul Walmsley [mailto:paul at pwsan.com]
> Sent: Thursday, February 18, 2010 10:53 PM
> To: Shilimkar, Santosh
> Cc: tony at atomide.com; linux-omap at vger.kernel.org; linux-arm-kernel at lists.infradead.org; Cousson,
> Benoit
> Subject: Re: [PATCH 7/9] omap4: Add auto-generated irq and dma headers
>
> Hello Santosh,
>
> thanks for sending these in. One minor comment:
>
> On Thu, 18 Feb 2010, Santosh Shilimkar wrote:
>
> > These files are generated along with the HWMOD and will eventually be
> > in the existing header files as soon as all drivers will be migrate to
> > omap_hwmod / omap_device.
> >
> > The dma-44xx.h file should be in 'arch/arm/mach-omap2/include/mach/',
> > but this would need dma.h header also present in the mach directory to
> > make local include possible, like what is done for irq.h. Then the
> > script is needed to modify the drivers to include 'mach/dma.h' instead
> > of 'plat/dma.h'. This would be a bigger change and hence left out for now
>
> I think I originally wrote the DMA generator script, so please add a Nokia
> copyright and put my name in there also. After that point, it has my ack.
Sure Paul. Will add that information and send updated patch.
Benoit,
We need to update the scripts and regenerate this. I will do that.
Regards,
Santosh
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 2/9] omap2/3/4: ioremap omap_globals module
2010-02-18 8:59 ` [PATCH 2/9] omap2/3/4: ioremap omap_globals module Santosh Shilimkar
2010-02-18 8:59 ` [PATCH 3/9] omap4: sdma: Enable the idle modes on omap4 Santosh Shilimkar
@ 2010-02-18 17:35 ` Paul Walmsley
2010-02-18 22:24 ` Kevin Hilman
2 siblings, 0 replies; 25+ messages in thread
From: Paul Walmsley @ 2010-02-18 17:35 UTC (permalink / raw)
To: linux-arm-kernel
One nitpicky comment on this one also:
On Thu, 18 Feb 2010, Santosh Shilimkar wrote:
> This is a clean-up patch towards dynamic allocation of IO space
> instead of using harcoded macros to calculate virtual addresses.
>
> Also update the sdrc, prcm, tap and control module to
> allocate iospace dynamically
>
> As per Tony's suggestion V2 version drops tap changes
> becasue ioremap uses cpu_is_omap2420() and cpu_is_omap2430(),
> so we can't use that for setting tap_base. Hence ioremap()
> won't work for tap until omap2_check_revision() is done
>
> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
> CC: Kevin Hilman <khilman@deeprootsystems.com>
> CC: Tony Lindgren <tony@atomide.com>
> ---
> arch/arm/mach-omap2/control.c | 6 ++++-
> arch/arm/mach-omap2/prcm.c | 16 ++++++++++--
> arch/arm/mach-omap2/sdrc.c | 11 +++++++-
> arch/arm/plat-omap/common.c | 38 +++++++++++++++---------------
> arch/arm/plat-omap/include/plat/common.h | 17 ++++++++-----
> 5 files changed, 56 insertions(+), 32 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/control.c b/arch/arm/mach-omap2/control.c
> index cdd1f35..43f8a33 100644
> --- a/arch/arm/mach-omap2/control.c
> +++ b/arch/arm/mach-omap2/control.c
> @@ -140,7 +140,11 @@ static struct omap3_control_regs control_context;
>
> void __init omap2_set_globals_control(struct omap_globals *omap2_globals)
> {
> - omap2_ctrl_base = omap2_globals->ctrl;
> + /* Static mapping, never released */
> + if (omap2_globals->ctrl) {
> + omap2_ctrl_base = ioremap(omap2_globals->ctrl, SZ_4K);
> + WARN_ON(!omap2_ctrl_base);
> + }
> }
>
> void __iomem *omap_ctrl_base_get(void)
> diff --git a/arch/arm/mach-omap2/prcm.c b/arch/arm/mach-omap2/prcm.c
> index e8e121a..338d5f6 100644
> --- a/arch/arm/mach-omap2/prcm.c
> +++ b/arch/arm/mach-omap2/prcm.c
> @@ -279,9 +279,19 @@ int omap2_cm_wait_idlest(void __iomem *reg, u32 mask, const char *name)
>
> void __init omap2_set_globals_prcm(struct omap_globals *omap2_globals)
> {
> - prm_base = omap2_globals->prm;
> - cm_base = omap2_globals->cm;
> - cm2_base = omap2_globals->cm2;
> + /* Static mapping, never released */
> + if (omap2_globals->prm) {
> + prm_base = ioremap(omap2_globals->prm, SZ_8K);
> + WARN_ON(!prm_base);
> + }
> + if (omap2_globals->cm) {
> + cm_base = ioremap(omap2_globals->cm, SZ_8K);
> + WARN_ON(!cm_base);
> + }
> + if (omap2_globals->cm2) {
> + cm2_base = ioremap(omap2_globals->cm2, SZ_8K);
> + WARN_ON(!cm2_base);
> + }
> }
>
> #ifdef CONFIG_ARCH_OMAP3
> diff --git a/arch/arm/mach-omap2/sdrc.c b/arch/arm/mach-omap2/sdrc.c
> index cbfbd14..4c65f56 100644
> --- a/arch/arm/mach-omap2/sdrc.c
> +++ b/arch/arm/mach-omap2/sdrc.c
> @@ -119,8 +119,15 @@ int omap2_sdrc_get_params(unsigned long r,
>
> void __init omap2_set_globals_sdrc(struct omap_globals *omap2_globals)
> {
> - omap2_sdrc_base = omap2_globals->sdrc;
> - omap2_sms_base = omap2_globals->sms;
> + /* Static mapping, never released */
> + if (omap2_globals->sdrc) {
> + omap2_sdrc_base = ioremap(omap2_globals->sdrc, SZ_64K);
> + WARN_ON(!omap2_sdrc_base);
> + }
> + if (omap2_globals->sms) {
> + omap2_sms_base = ioremap(omap2_globals->sms, SZ_64K);
> + WARN_ON(!omap2_sms_base);
> + }
> }
>
> /**
> diff --git a/arch/arm/plat-omap/common.c b/arch/arm/plat-omap/common.c
> index 4f29e8c..088c1a0 100644
> --- a/arch/arm/plat-omap/common.c
> +++ b/arch/arm/plat-omap/common.c
> @@ -256,11 +256,11 @@ static void __init __omap2_set_globals(struct omap_globals *omap2_globals)
> static struct omap_globals omap242x_globals = {
> .class = OMAP242X_CLASS,
> .tap = OMAP2_L4_IO_ADDRESS(0x48014000),
> - .sdrc = OMAP2_L3_IO_ADDRESS(OMAP2420_SDRC_BASE),
> - .sms = OMAP2_L3_IO_ADDRESS(OMAP2420_SMS_BASE),
> - .ctrl = OMAP2_L4_IO_ADDRESS(OMAP2420_CTRL_BASE),
> - .prm = OMAP2_L4_IO_ADDRESS(OMAP2420_PRM_BASE),
> - .cm = OMAP2_L4_IO_ADDRESS(OMAP2420_CM_BASE),
> + .sdrc = OMAP2420_SDRC_BASE,
> + .sms = OMAP2420_SMS_BASE,
> + .ctrl = OMAP2420_CTRL_BASE,
> + .prm = OMAP2420_PRM_BASE,
> + .cm = OMAP2420_CM_BASE,
> .uart1_phys = OMAP2_UART1_BASE,
> .uart2_phys = OMAP2_UART2_BASE,
> .uart3_phys = OMAP2_UART3_BASE,
> @@ -277,11 +277,11 @@ void __init omap2_set_globals_242x(void)
> static struct omap_globals omap243x_globals = {
> .class = OMAP243X_CLASS,
> .tap = OMAP2_L4_IO_ADDRESS(0x4900a000),
> - .sdrc = OMAP2_L3_IO_ADDRESS(OMAP243X_SDRC_BASE),
> - .sms = OMAP2_L3_IO_ADDRESS(OMAP243X_SMS_BASE),
> - .ctrl = OMAP2_L4_IO_ADDRESS(OMAP243X_CTRL_BASE),
> - .prm = OMAP2_L4_IO_ADDRESS(OMAP2430_PRM_BASE),
> - .cm = OMAP2_L4_IO_ADDRESS(OMAP2430_CM_BASE),
> + .sdrc = OMAP243X_SDRC_BASE,
> + .sms = OMAP243X_SMS_BASE,
> + .ctrl = OMAP243X_CTRL_BASE,
> + .prm = OMAP2430_PRM_BASE,
> + .cm = OMAP2430_CM_BASE,
> .uart1_phys = OMAP2_UART1_BASE,
> .uart2_phys = OMAP2_UART2_BASE,
> .uart3_phys = OMAP2_UART3_BASE,
> @@ -298,11 +298,11 @@ void __init omap2_set_globals_243x(void)
> static struct omap_globals omap3_globals = {
> .class = OMAP343X_CLASS,
> .tap = OMAP2_L4_IO_ADDRESS(0x4830A000),
> - .sdrc = OMAP2_L3_IO_ADDRESS(OMAP343X_SDRC_BASE),
> - .sms = OMAP2_L3_IO_ADDRESS(OMAP343X_SMS_BASE),
> - .ctrl = OMAP2_L4_IO_ADDRESS(OMAP343X_CTRL_BASE),
> - .prm = OMAP2_L4_IO_ADDRESS(OMAP3430_PRM_BASE),
> - .cm = OMAP2_L4_IO_ADDRESS(OMAP3430_CM_BASE),
> + .sdrc = OMAP343X_SDRC_BASE,
> + .sms = OMAP343X_SMS_BASE,
> + .ctrl = OMAP343X_CTRL_BASE,
> + .prm = OMAP3430_PRM_BASE,
> + .cm = OMAP3430_CM_BASE,
> .uart1_phys = OMAP3_UART1_BASE,
> .uart2_phys = OMAP3_UART2_BASE,
> .uart3_phys = OMAP3_UART3_BASE,
> @@ -325,10 +325,10 @@ void __init omap2_set_globals_36xx(void)
> static struct omap_globals omap4_globals = {
> .class = OMAP443X_CLASS,
> .tap = OMAP2_L4_IO_ADDRESS(OMAP443X_SCM_BASE),
> - .ctrl = OMAP2_L4_IO_ADDRESS(OMAP443X_CTRL_BASE),
> - .prm = OMAP2_L4_IO_ADDRESS(OMAP4430_PRM_BASE),
> - .cm = OMAP2_L4_IO_ADDRESS(OMAP4430_CM_BASE),
> - .cm2 = OMAP2_L4_IO_ADDRESS(OMAP4430_CM2_BASE),
> + .ctrl = OMAP443X_CTRL_BASE,
> + .prm = OMAP4430_PRM_BASE,
> + .cm = OMAP4430_CM_BASE,
> + .cm2 = OMAP4430_CM2_BASE,
> .uart1_phys = OMAP4_UART1_BASE,
> .uart2_phys = OMAP4_UART2_BASE,
> .uart3_phys = OMAP4_UART3_BASE,
> diff --git a/arch/arm/plat-omap/include/plat/common.h b/arch/arm/plat-omap/include/plat/common.h
> index e04a58e..d0faff0 100644
> --- a/arch/arm/plat-omap/include/plat/common.h
> +++ b/arch/arm/plat-omap/include/plat/common.h
> @@ -37,16 +37,19 @@ extern void __iomem *gic_cpu_base_addr;
> extern void omap_map_common_io(void);
> extern struct sys_timer omap_timer;
>
> -/* IO bases for various OMAP processors */
> +/* IO bases for various OMAP processors
> + * Except the tap base, rest all the io bases
> + * listed are physical addresses.
> + */
Please be careful with CodingStyle, this should follow the rules for
multiline comments.
> struct omap_globals {
> u32 class; /* OMAP class to detect */
> void __iomem *tap; /* Control module ID code */
> - void __iomem *sdrc; /* SDRAM Controller */
> - void __iomem *sms; /* SDRAM Memory Scheduler */
> - void __iomem *ctrl; /* System Control Module */
> - void __iomem *prm; /* Power and Reset Management */
> - void __iomem *cm; /* Clock Management */
> - void __iomem *cm2;
> + unsigned long sdrc; /* SDRAM Controller */
> + unsigned long sms; /* SDRAM Memory Scheduler */
> + unsigned long ctrl; /* System Control Module */
> + unsigned long prm; /* Power and Reset Management */
> + unsigned long cm; /* Clock Management */
> + unsigned long cm2;
> unsigned long uart1_phys;
> unsigned long uart2_phys;
> unsigned long uart3_phys;
> --
> 1.6.0.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
- Paul
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 2/9] omap2/3/4: ioremap omap_globals module
2010-02-18 8:59 ` [PATCH 2/9] omap2/3/4: ioremap omap_globals module Santosh Shilimkar
2010-02-18 8:59 ` [PATCH 3/9] omap4: sdma: Enable the idle modes on omap4 Santosh Shilimkar
2010-02-18 17:35 ` [PATCH 2/9] omap2/3/4: ioremap omap_globals module Paul Walmsley
@ 2010-02-18 22:24 ` Kevin Hilman
2010-02-19 5:13 ` Shilimkar, Santosh
2 siblings, 1 reply; 25+ messages in thread
From: Kevin Hilman @ 2010-02-18 22:24 UTC (permalink / raw)
To: linux-arm-kernel
Santosh Shilimkar <santosh.shilimkar@ti.com> writes:
> This is a clean-up patch towards dynamic allocation of IO space
> instead of using harcoded macros to calculate virtual addresses.
>
> Also update the sdrc, prcm, tap and control module to
> allocate iospace dynamically
You should drop the referenece to the TAP here since it's dropped.
> As per Tony's suggestion V2 version drops tap changes
> becasue ioremap uses cpu_is_omap2420() and cpu_is_omap2430(),
> so we can't use that for setting tap_base. Hence ioremap()
> won't work for tap until omap2_check_revision() is done
And this type of comment should come after the '---' since
it's relevant to the reviewers, but not to the final git history.
> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
> CC: Kevin Hilman <khilman@deeprootsystems.com>
> CC: Tony Lindgren <tony@atomide.com>
After that, you can change the CC for me to a Reviewed-by.
Kevin
> ---
> arch/arm/mach-omap2/control.c | 6 ++++-
> arch/arm/mach-omap2/prcm.c | 16 ++++++++++--
> arch/arm/mach-omap2/sdrc.c | 11 +++++++-
> arch/arm/plat-omap/common.c | 38 +++++++++++++++---------------
> arch/arm/plat-omap/include/plat/common.h | 17 ++++++++-----
> 5 files changed, 56 insertions(+), 32 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/control.c b/arch/arm/mach-omap2/control.c
> index cdd1f35..43f8a33 100644
> --- a/arch/arm/mach-omap2/control.c
> +++ b/arch/arm/mach-omap2/control.c
> @@ -140,7 +140,11 @@ static struct omap3_control_regs control_context;
>
> void __init omap2_set_globals_control(struct omap_globals *omap2_globals)
> {
> - omap2_ctrl_base = omap2_globals->ctrl;
> + /* Static mapping, never released */
> + if (omap2_globals->ctrl) {
> + omap2_ctrl_base = ioremap(omap2_globals->ctrl, SZ_4K);
> + WARN_ON(!omap2_ctrl_base);
> + }
> }
>
> void __iomem *omap_ctrl_base_get(void)
> diff --git a/arch/arm/mach-omap2/prcm.c b/arch/arm/mach-omap2/prcm.c
> index e8e121a..338d5f6 100644
> --- a/arch/arm/mach-omap2/prcm.c
> +++ b/arch/arm/mach-omap2/prcm.c
> @@ -279,9 +279,19 @@ int omap2_cm_wait_idlest(void __iomem *reg, u32 mask, const char *name)
>
> void __init omap2_set_globals_prcm(struct omap_globals *omap2_globals)
> {
> - prm_base = omap2_globals->prm;
> - cm_base = omap2_globals->cm;
> - cm2_base = omap2_globals->cm2;
> + /* Static mapping, never released */
> + if (omap2_globals->prm) {
> + prm_base = ioremap(omap2_globals->prm, SZ_8K);
> + WARN_ON(!prm_base);
> + }
> + if (omap2_globals->cm) {
> + cm_base = ioremap(omap2_globals->cm, SZ_8K);
> + WARN_ON(!cm_base);
> + }
> + if (omap2_globals->cm2) {
> + cm2_base = ioremap(omap2_globals->cm2, SZ_8K);
> + WARN_ON(!cm2_base);
> + }
> }
>
> #ifdef CONFIG_ARCH_OMAP3
> diff --git a/arch/arm/mach-omap2/sdrc.c b/arch/arm/mach-omap2/sdrc.c
> index cbfbd14..4c65f56 100644
> --- a/arch/arm/mach-omap2/sdrc.c
> +++ b/arch/arm/mach-omap2/sdrc.c
> @@ -119,8 +119,15 @@ int omap2_sdrc_get_params(unsigned long r,
>
> void __init omap2_set_globals_sdrc(struct omap_globals *omap2_globals)
> {
> - omap2_sdrc_base = omap2_globals->sdrc;
> - omap2_sms_base = omap2_globals->sms;
> + /* Static mapping, never released */
> + if (omap2_globals->sdrc) {
> + omap2_sdrc_base = ioremap(omap2_globals->sdrc, SZ_64K);
> + WARN_ON(!omap2_sdrc_base);
> + }
> + if (omap2_globals->sms) {
> + omap2_sms_base = ioremap(omap2_globals->sms, SZ_64K);
> + WARN_ON(!omap2_sms_base);
> + }
> }
>
> /**
> diff --git a/arch/arm/plat-omap/common.c b/arch/arm/plat-omap/common.c
> index 4f29e8c..088c1a0 100644
> --- a/arch/arm/plat-omap/common.c
> +++ b/arch/arm/plat-omap/common.c
> @@ -256,11 +256,11 @@ static void __init __omap2_set_globals(struct omap_globals *omap2_globals)
> static struct omap_globals omap242x_globals = {
> .class = OMAP242X_CLASS,
> .tap = OMAP2_L4_IO_ADDRESS(0x48014000),
> - .sdrc = OMAP2_L3_IO_ADDRESS(OMAP2420_SDRC_BASE),
> - .sms = OMAP2_L3_IO_ADDRESS(OMAP2420_SMS_BASE),
> - .ctrl = OMAP2_L4_IO_ADDRESS(OMAP2420_CTRL_BASE),
> - .prm = OMAP2_L4_IO_ADDRESS(OMAP2420_PRM_BASE),
> - .cm = OMAP2_L4_IO_ADDRESS(OMAP2420_CM_BASE),
> + .sdrc = OMAP2420_SDRC_BASE,
> + .sms = OMAP2420_SMS_BASE,
> + .ctrl = OMAP2420_CTRL_BASE,
> + .prm = OMAP2420_PRM_BASE,
> + .cm = OMAP2420_CM_BASE,
> .uart1_phys = OMAP2_UART1_BASE,
> .uart2_phys = OMAP2_UART2_BASE,
> .uart3_phys = OMAP2_UART3_BASE,
> @@ -277,11 +277,11 @@ void __init omap2_set_globals_242x(void)
> static struct omap_globals omap243x_globals = {
> .class = OMAP243X_CLASS,
> .tap = OMAP2_L4_IO_ADDRESS(0x4900a000),
> - .sdrc = OMAP2_L3_IO_ADDRESS(OMAP243X_SDRC_BASE),
> - .sms = OMAP2_L3_IO_ADDRESS(OMAP243X_SMS_BASE),
> - .ctrl = OMAP2_L4_IO_ADDRESS(OMAP243X_CTRL_BASE),
> - .prm = OMAP2_L4_IO_ADDRESS(OMAP2430_PRM_BASE),
> - .cm = OMAP2_L4_IO_ADDRESS(OMAP2430_CM_BASE),
> + .sdrc = OMAP243X_SDRC_BASE,
> + .sms = OMAP243X_SMS_BASE,
> + .ctrl = OMAP243X_CTRL_BASE,
> + .prm = OMAP2430_PRM_BASE,
> + .cm = OMAP2430_CM_BASE,
> .uart1_phys = OMAP2_UART1_BASE,
> .uart2_phys = OMAP2_UART2_BASE,
> .uart3_phys = OMAP2_UART3_BASE,
> @@ -298,11 +298,11 @@ void __init omap2_set_globals_243x(void)
> static struct omap_globals omap3_globals = {
> .class = OMAP343X_CLASS,
> .tap = OMAP2_L4_IO_ADDRESS(0x4830A000),
> - .sdrc = OMAP2_L3_IO_ADDRESS(OMAP343X_SDRC_BASE),
> - .sms = OMAP2_L3_IO_ADDRESS(OMAP343X_SMS_BASE),
> - .ctrl = OMAP2_L4_IO_ADDRESS(OMAP343X_CTRL_BASE),
> - .prm = OMAP2_L4_IO_ADDRESS(OMAP3430_PRM_BASE),
> - .cm = OMAP2_L4_IO_ADDRESS(OMAP3430_CM_BASE),
> + .sdrc = OMAP343X_SDRC_BASE,
> + .sms = OMAP343X_SMS_BASE,
> + .ctrl = OMAP343X_CTRL_BASE,
> + .prm = OMAP3430_PRM_BASE,
> + .cm = OMAP3430_CM_BASE,
> .uart1_phys = OMAP3_UART1_BASE,
> .uart2_phys = OMAP3_UART2_BASE,
> .uart3_phys = OMAP3_UART3_BASE,
> @@ -325,10 +325,10 @@ void __init omap2_set_globals_36xx(void)
> static struct omap_globals omap4_globals = {
> .class = OMAP443X_CLASS,
> .tap = OMAP2_L4_IO_ADDRESS(OMAP443X_SCM_BASE),
> - .ctrl = OMAP2_L4_IO_ADDRESS(OMAP443X_CTRL_BASE),
> - .prm = OMAP2_L4_IO_ADDRESS(OMAP4430_PRM_BASE),
> - .cm = OMAP2_L4_IO_ADDRESS(OMAP4430_CM_BASE),
> - .cm2 = OMAP2_L4_IO_ADDRESS(OMAP4430_CM2_BASE),
> + .ctrl = OMAP443X_CTRL_BASE,
> + .prm = OMAP4430_PRM_BASE,
> + .cm = OMAP4430_CM_BASE,
> + .cm2 = OMAP4430_CM2_BASE,
> .uart1_phys = OMAP4_UART1_BASE,
> .uart2_phys = OMAP4_UART2_BASE,
> .uart3_phys = OMAP4_UART3_BASE,
> diff --git a/arch/arm/plat-omap/include/plat/common.h b/arch/arm/plat-omap/include/plat/common.h
> index e04a58e..d0faff0 100644
> --- a/arch/arm/plat-omap/include/plat/common.h
> +++ b/arch/arm/plat-omap/include/plat/common.h
> @@ -37,16 +37,19 @@ extern void __iomem *gic_cpu_base_addr;
> extern void omap_map_common_io(void);
> extern struct sys_timer omap_timer;
>
> -/* IO bases for various OMAP processors */
> +/* IO bases for various OMAP processors
> + * Except the tap base, rest all the io bases
> + * listed are physical addresses.
> + */
> struct omap_globals {
> u32 class; /* OMAP class to detect */
> void __iomem *tap; /* Control module ID code */
> - void __iomem *sdrc; /* SDRAM Controller */
> - void __iomem *sms; /* SDRAM Memory Scheduler */
> - void __iomem *ctrl; /* System Control Module */
> - void __iomem *prm; /* Power and Reset Management */
> - void __iomem *cm; /* Clock Management */
> - void __iomem *cm2;
> + unsigned long sdrc; /* SDRAM Controller */
> + unsigned long sms; /* SDRAM Memory Scheduler */
> + unsigned long ctrl; /* System Control Module */
> + unsigned long prm; /* Power and Reset Management */
> + unsigned long cm; /* Clock Management */
> + unsigned long cm2;
> unsigned long uart1_phys;
> unsigned long uart2_phys;
> unsigned long uart3_phys;
> --
> 1.6.0.4
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 7/9] omap4: Add auto-generated irq and dma headers
2010-02-18 17:23 ` [PATCH 7/9] omap4: Add auto-generated irq and dma headers Paul Walmsley
2010-02-18 17:33 ` Shilimkar, Santosh
@ 2010-02-19 5:10 ` Shilimkar, Santosh
1 sibling, 0 replies; 25+ messages in thread
From: Shilimkar, Santosh @ 2010-02-19 5:10 UTC (permalink / raw)
To: linux-arm-kernel
> -----Original Message-----
> From: Paul Walmsley [mailto:paul at pwsan.com]
> Sent: Thursday, February 18, 2010 10:53 PM
> To: Shilimkar, Santosh
> Cc: tony at atomide.com; linux-omap at vger.kernel.org; linux-arm-kernel at lists.infradead.org; Cousson,
> Benoit
> Subject: Re: [PATCH 7/9] omap4: Add auto-generated irq and dma headers
>
> Hello Santosh,
>
> thanks for sending these in. One minor comment:
>
> On Thu, 18 Feb 2010, Santosh Shilimkar wrote:
>
> > These files are generated along with the HWMOD and will eventually be
> > in the existing header files as soon as all drivers will be migrate to
> > omap_hwmod / omap_device.
> >
> > The dma-44xx.h file should be in 'arch/arm/mach-omap2/include/mach/',
> > but this would need dma.h header also present in the mach directory to
> > make local include possible, like what is done for irq.h. Then the
> > script is needed to modify the drivers to include 'mach/dma.h' instead
> > of 'plat/dma.h'. This would be a bigger change and hence left out for now
>
> I think I originally wrote the DMA generator script, so please add a Nokia
> copyright and put my name in there also. After that point, it has my ack.
>
Updated patch attached with Paul's contributions added to the dma-44xx.h file.
Regards,
Santosh
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0007-omap4-Add-auto-generated-irq-and-dma-headers.patch
Type: application/octet-stream
Size: 15351 bytes
Desc: 0007-omap4-Add-auto-generated-irq-and-dma-headers.patch
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20100219/a5350f83/attachment.obj>
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 2/9] omap2/3/4: ioremap omap_globals module
2010-02-18 22:24 ` Kevin Hilman
@ 2010-02-19 5:13 ` Shilimkar, Santosh
0 siblings, 0 replies; 25+ messages in thread
From: Shilimkar, Santosh @ 2010-02-19 5:13 UTC (permalink / raw)
To: linux-arm-kernel
> -----Original Message-----
> From: Kevin Hilman [mailto:khilman at deeprootsystems.com]
> Sent: Friday, February 19, 2010 3:55 AM
> To: Shilimkar, Santosh
> Cc: tony at atomide.com; linux-omap at vger.kernel.org; linux-arm-kernel at lists.infradead.org
> Subject: Re: [PATCH 2/9] omap2/3/4: ioremap omap_globals module
>
> Santosh Shilimkar <santosh.shilimkar@ti.com> writes:
>
> > This is a clean-up patch towards dynamic allocation of IO space
> > instead of using harcoded macros to calculate virtual addresses.
> >
> > Also update the sdrc, prcm, tap and control module to
> > allocate iospace dynamically
>
> You should drop the referenece to the TAP here since it's dropped.
>
> > As per Tony's suggestion V2 version drops tap changes
> > becasue ioremap uses cpu_is_omap2420() and cpu_is_omap2430(),
> > so we can't use that for setting tap_base. Hence ioremap()
> > won't work for tap until omap2_check_revision() is done
>
> And this type of comment should come after the '---' since
> it's relevant to the reviewers, but not to the final git history.
>
>
> > Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
> > CC: Kevin Hilman <khilman@deeprootsystems.com>
> > CC: Tony Lindgren <tony@atomide.com>
>
> After that, you can change the CC for me to a Reviewed-by.
Refreshed version attached with style fix and adding the Paul, Kevin's
Reviewed-by.
Regards,
Santosh
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-omap2-3-4-ioremap-omap_globals-module.patch
Type: application/octet-stream
Size: 7220 bytes
Desc: 0002-omap2-3-4-ioremap-omap_globals-module.patch
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20100219/4426dd04/attachment-0001.obj>
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 1/9] omap3/4: uart: fix full-fifo write abort
2010-02-18 8:59 [PATCH 1/9] omap3/4: uart: fix full-fifo write abort Santosh Shilimkar
2010-02-18 8:59 ` [PATCH 2/9] omap2/3/4: ioremap omap_globals module Santosh Shilimkar
@ 2010-02-19 5:25 ` Shilimkar, Santosh
2010-02-22 21:39 ` Tony Lindgren
1 sibling, 1 reply; 25+ messages in thread
From: Shilimkar, Santosh @ 2010-02-19 5:25 UTC (permalink / raw)
To: linux-arm-kernel
Bye the way just to add bit more clarity, this patch addresses TX
hardware restriction in the new UART IP used on omap3630 and omap4430.
First part of the fix for RX is already in mainline,
Commit: "ce13d4716a276f4331d78ba28a5093a63822ab95"
More details on this thread are here.
http://www.mail-archive.com/linux-omap at vger.kernel.org/msg19447.html
> -----Original Message-----
> From: Shilimkar, Santosh
> Sent: Thursday, February 18, 2010 2:29 PM
> To: tony at atomide.com
> Cc: linux-omap at vger.kernel.org; linux-arm-kernel at lists.infradead.org; Shilimkar, Santosh; Woodruff,
> Richard; Ghorai, Sukumar
> Subject: [PATCH 1/9] omap3/4: uart: fix full-fifo write abort
>
> This patch is addition to the already merged commit on non-empty
> uart fifo read abort. "ce13d4716a276f4331d78ba28a5093a63822ab95"
>
> OMAP3630 and OMAP4430 UART IP blocks have a restriction on TX FIFO
> too. If you try to write to the tx fifo when it is full, the system aborts.
>
> This can be easily reproducible by not suppressing interconnect errors or
> long duration testing where continuous prints over console from multiple
> threads. This patch is addressing the issue by ensuring that write is
> not issued while fifo is full. A timeout is added to avoid any hang
> on fifo-full for 10 mS which is unlikely case.
>
> Patch is validated on OMAP3630 and OMAP4 SDP.
>
> V2 version removed the additional 1 uS on every TX as per
> Tony's suggestion
>
> Signed-off-by: Woodruff Richard <r-woodruff2@ti.com>
> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
> CC: Ghorai Sukumar <s-ghorai@ti.com>
> ---
> arch/arm/mach-omap2/serial.c | 31 ++++++++++++++++++++++++++++---
> 1 files changed, 28 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
> index 5f3035e..b79bc89 100644
> --- a/arch/arm/mach-omap2/serial.c
> +++ b/arch/arm/mach-omap2/serial.c
> @@ -23,6 +23,7 @@
> #include <linux/serial_reg.h>
> #include <linux/clk.h>
> #include <linux/io.h>
> +#include <linux/delay.h>
>
> #include <plat/common.h>
> #include <plat/board.h>
> @@ -160,6 +161,13 @@ static inline unsigned int serial_read_reg(struct plat_serial8250_port *up,
> return (unsigned int)__raw_readb(up->membase + offset);
> }
>
> +static inline void __serial_write_reg(struct uart_port *up, int offset,
> + int value)
> +{
> + offset <<= up->regshift;
> + __raw_writeb(value, up->membase + offset);
> +}
> +
> static inline void serial_write_reg(struct plat_serial8250_port *p, int offset,
> int value)
> {
> @@ -620,6 +628,20 @@ static unsigned int serial_in_override(struct uart_port *up, int offset)
> return __serial_read_reg(up, offset);
> }
>
> +static void serial_out_override(struct uart_port *up, int offset, int value)
> +{
> + unsigned int status, tmout = 10000;
> +
> + status = __serial_read_reg(up, UART_LSR);
> + while (!(status & UART_LSR_THRE)) {
> + /* Wait up to 10ms for the character(s) to be sent. */
> + if (--tmout == 0)
> + break;
> + udelay(1);
> + status = __serial_read_reg(up, UART_LSR);
> + }
> + __serial_write_reg(up, offset, value);
> +}
> void __init omap_serial_early_init(void)
> {
> int i;
> @@ -721,11 +743,14 @@ void __init omap_serial_init_port(int port)
> * omap3xxx: Never read empty UART fifo on UARTs
> * with IP rev >=0x52
> */
> - if (cpu_is_omap44xx())
> + if (cpu_is_omap44xx()) {
> uart->p->serial_in = serial_in_override;
> - else if ((serial_read_reg(uart->p, UART_OMAP_MVER) & 0xFF)
> - >= UART_OMAP_NO_EMPTY_FIFO_READ_IP_REV)
> + uart->p->serial_out = serial_out_override;
> + } else if ((serial_read_reg(uart->p, UART_OMAP_MVER) & 0xFF)
> + >= UART_OMAP_NO_EMPTY_FIFO_READ_IP_REV) {
> uart->p->serial_in = serial_in_override;
> + uart->p->serial_out = serial_out_override;
> + }
> }
>
> /**
> --
> 1.6.0.4
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 1/9] omap3/4: uart: fix full-fifo write abort
2010-02-19 5:25 ` [PATCH 1/9] omap3/4: uart: fix full-fifo write abort Shilimkar, Santosh
@ 2010-02-22 21:39 ` Tony Lindgren
2010-02-22 23:07 ` Tony Lindgren
2010-02-23 16:17 ` Shilimkar, Santosh
0 siblings, 2 replies; 25+ messages in thread
From: Tony Lindgren @ 2010-02-22 21:39 UTC (permalink / raw)
To: linux-arm-kernel
* Shilimkar, Santosh <santosh.shilimkar@ti.com> [100218 21:22]:
> Bye the way just to add bit more clarity, this patch addresses TX
> hardware restriction in the new UART IP used on omap3630 and omap4430.
> First part of the fix for RX is already in mainline,
> Commit: "ce13d4716a276f4331d78ba28a5093a63822ab95"
>
> More details on this thread are here.
> http://www.mail-archive.com/linux-omap at vger.kernel.org/msg19447.html
Thanks, I've updated the comments for this patch with the link above
and added the whole series into omap for-next.
Regards,
Tony
> > -----Original Message-----
> > From: Shilimkar, Santosh
> > Sent: Thursday, February 18, 2010 2:29 PM
> > To: tony at atomide.com
> > Cc: linux-omap at vger.kernel.org; linux-arm-kernel at lists.infradead.org; Shilimkar, Santosh; Woodruff,
> > Richard; Ghorai, Sukumar
> > Subject: [PATCH 1/9] omap3/4: uart: fix full-fifo write abort
> >
> > This patch is addition to the already merged commit on non-empty
> > uart fifo read abort. "ce13d4716a276f4331d78ba28a5093a63822ab95"
> >
> > OMAP3630 and OMAP4430 UART IP blocks have a restriction on TX FIFO
> > too. If you try to write to the tx fifo when it is full, the system aborts.
> >
> > This can be easily reproducible by not suppressing interconnect errors or
> > long duration testing where continuous prints over console from multiple
> > threads. This patch is addressing the issue by ensuring that write is
> > not issued while fifo is full. A timeout is added to avoid any hang
> > on fifo-full for 10 mS which is unlikely case.
> >
> > Patch is validated on OMAP3630 and OMAP4 SDP.
> >
> > V2 version removed the additional 1 uS on every TX as per
> > Tony's suggestion
> >
> > Signed-off-by: Woodruff Richard <r-woodruff2@ti.com>
> > Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
> > CC: Ghorai Sukumar <s-ghorai@ti.com>
> > ---
> > arch/arm/mach-omap2/serial.c | 31 ++++++++++++++++++++++++++++---
> > 1 files changed, 28 insertions(+), 3 deletions(-)
> >
> > diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
> > index 5f3035e..b79bc89 100644
> > --- a/arch/arm/mach-omap2/serial.c
> > +++ b/arch/arm/mach-omap2/serial.c
> > @@ -23,6 +23,7 @@
> > #include <linux/serial_reg.h>
> > #include <linux/clk.h>
> > #include <linux/io.h>
> > +#include <linux/delay.h>
> >
> > #include <plat/common.h>
> > #include <plat/board.h>
> > @@ -160,6 +161,13 @@ static inline unsigned int serial_read_reg(struct plat_serial8250_port *up,
> > return (unsigned int)__raw_readb(up->membase + offset);
> > }
> >
> > +static inline void __serial_write_reg(struct uart_port *up, int offset,
> > + int value)
> > +{
> > + offset <<= up->regshift;
> > + __raw_writeb(value, up->membase + offset);
> > +}
> > +
> > static inline void serial_write_reg(struct plat_serial8250_port *p, int offset,
> > int value)
> > {
> > @@ -620,6 +628,20 @@ static unsigned int serial_in_override(struct uart_port *up, int offset)
> > return __serial_read_reg(up, offset);
> > }
> >
> > +static void serial_out_override(struct uart_port *up, int offset, int value)
> > +{
> > + unsigned int status, tmout = 10000;
> > +
> > + status = __serial_read_reg(up, UART_LSR);
> > + while (!(status & UART_LSR_THRE)) {
> > + /* Wait up to 10ms for the character(s) to be sent. */
> > + if (--tmout == 0)
> > + break;
> > + udelay(1);
> > + status = __serial_read_reg(up, UART_LSR);
> > + }
> > + __serial_write_reg(up, offset, value);
> > +}
> > void __init omap_serial_early_init(void)
> > {
> > int i;
> > @@ -721,11 +743,14 @@ void __init omap_serial_init_port(int port)
> > * omap3xxx: Never read empty UART fifo on UARTs
> > * with IP rev >=0x52
> > */
> > - if (cpu_is_omap44xx())
> > + if (cpu_is_omap44xx()) {
> > uart->p->serial_in = serial_in_override;
> > - else if ((serial_read_reg(uart->p, UART_OMAP_MVER) & 0xFF)
> > - >= UART_OMAP_NO_EMPTY_FIFO_READ_IP_REV)
> > + uart->p->serial_out = serial_out_override;
> > + } else if ((serial_read_reg(uart->p, UART_OMAP_MVER) & 0xFF)
> > + >= UART_OMAP_NO_EMPTY_FIFO_READ_IP_REV) {
> > uart->p->serial_in = serial_in_override;
> > + uart->p->serial_out = serial_out_override;
> > + }
> > }
> >
> > /**
> > --
> > 1.6.0.4
>
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 8/9] omap4: Use dma line defines from dma-44xx.h
2010-02-18 8:59 ` [PATCH 8/9] omap4: Use dma line defines from dma-44xx.h Santosh Shilimkar
2010-02-18 8:59 ` [PATCH 9/9] omap4: Use irq line defines from irq-44xx.h Santosh Shilimkar
@ 2010-02-22 22:13 ` Tony Lindgren
1 sibling, 0 replies; 25+ messages in thread
From: Tony Lindgren @ 2010-02-22 22:13 UTC (permalink / raw)
To: linux-arm-kernel
* Santosh Shilimkar <santosh.shilimkar@ti.com> [100218 00:56]:
> This patch removes all the omap4 specific dma request
> lines defines from plat/dma.h and includes dma-44xx.h
>
> The defines are aligned so no driver should be impacted
> because of this change.
Dropped this and the next patch as they break compile for _all_
omap1 machines:
arch/arm/plat-omap/dma.c: In function 'omap_init_dma':
arch/arm/plat-omap/dma.c:2135: error: 'OMAP44XX_IRQ_SDMA_0' undeclared (first use in this function)
arch/arm/plat-omap/dma.c:2135: error: (Each undeclared identifier is reported only once
arch/arm/plat-omap/dma.c:2135: error: for each function it appears in.)
Suspect the next patch will too, not even going to try to
build test that.
Regards,
Tony
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 1/9] omap3/4: uart: fix full-fifo write abort
2010-02-22 21:39 ` Tony Lindgren
@ 2010-02-22 23:07 ` Tony Lindgren
2010-02-23 5:42 ` Shilimkar, Santosh
2010-02-23 7:19 ` Shilimkar, Santosh
2010-02-23 16:17 ` Shilimkar, Santosh
1 sibling, 2 replies; 25+ messages in thread
From: Tony Lindgren @ 2010-02-22 23:07 UTC (permalink / raw)
To: linux-arm-kernel
* Tony Lindgren <tony@atomide.com> [100222 13:35]:
> * Shilimkar, Santosh <santosh.shilimkar@ti.com> [100218 21:22]:
> > Bye the way just to add bit more clarity, this patch addresses TX
> > hardware restriction in the new UART IP used on omap3630 and omap4430.
> > First part of the fix for RX is already in mainline,
> > Commit: "ce13d4716a276f4331d78ba28a5093a63822ab95"
> >
> > More details on this thread are here.
> > http://www.mail-archive.com/linux-omap at vger.kernel.org/msg19447.html
>
> Thanks, I've updated the comments for this patch with the link above
> and added the whole series into omap for-next.
Except patches 8 and 9 as they break compile for mach-omap1
and need to be updated.
Regards,
Tony
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 1/9] omap3/4: uart: fix full-fifo write abort
2010-02-22 23:07 ` Tony Lindgren
@ 2010-02-23 5:42 ` Shilimkar, Santosh
2010-02-23 7:19 ` Shilimkar, Santosh
1 sibling, 0 replies; 25+ messages in thread
From: Shilimkar, Santosh @ 2010-02-23 5:42 UTC (permalink / raw)
To: linux-arm-kernel
Thanks Tony
> -----Original Message-----
> From: Tony Lindgren [mailto:tony at atomide.com]
> Sent: Tuesday, February 23, 2010 4:37 AM
> To: Shilimkar, Santosh
> Cc: linux-omap at vger.kernel.org; linux-arm-kernel at lists.infradead.org; Woodruff, Richard; Ghorai,
> Sukumar
> Subject: Re: [PATCH 1/9] omap3/4: uart: fix full-fifo write abort
>
> * Tony Lindgren <tony@atomide.com> [100222 13:35]:
> > * Shilimkar, Santosh <santosh.shilimkar@ti.com> [100218 21:22]:
> > > Bye the way just to add bit more clarity, this patch addresses TX
> > > hardware restriction in the new UART IP used on omap3630 and omap4430.
> > > First part of the fix for RX is already in mainline,
> > > Commit: "ce13d4716a276f4331d78ba28a5093a63822ab95"
> > >
> > > More details on this thread are here.
> > > http://www.mail-archive.com/linux-omap at vger.kernel.org/msg19447.html
> >
> > Thanks, I've updated the comments for this patch with the link above
> > and added the whole series into omap for-next.
>
> Except patches 8 and 9 as they break compile for mach-omap1
> and need to be updated.
I will check these two patches tony and also boot test the OMAP1.
Regards,
Santosh
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 1/9] omap3/4: uart: fix full-fifo write abort
2010-02-22 23:07 ` Tony Lindgren
2010-02-23 5:42 ` Shilimkar, Santosh
@ 2010-02-23 7:19 ` Shilimkar, Santosh
2010-02-23 23:12 ` Tony Lindgren
1 sibling, 1 reply; 25+ messages in thread
From: Shilimkar, Santosh @ 2010-02-23 7:19 UTC (permalink / raw)
To: linux-arm-kernel
Tony,
> -----Original Message-----
> From: Tony Lindgren [mailto:tony at atomide.com]
> Sent: Tuesday, February 23, 2010 4:37 AM
> To: Shilimkar, Santosh
> Cc: linux-omap at vger.kernel.org; linux-arm-kernel at lists.infradead.org; Woodruff, Richard; Ghorai,
> Sukumar
> Subject: Re: [PATCH 1/9] omap3/4: uart: fix full-fifo write abort
>
> * Tony Lindgren <tony@atomide.com> [100222 13:35]:
> > * Shilimkar, Santosh <santosh.shilimkar@ti.com> [100218 21:22]:
> > > Bye the way just to add bit more clarity, this patch addresses TX
> > > hardware restriction in the new UART IP used on omap3630 and omap4430.
> > > First part of the fix for RX is already in mainline,
> > > Commit: "ce13d4716a276f4331d78ba28a5093a63822ab95"
> > >
> > > More details on this thread are here.
> > > http://www.mail-archive.com/linux-omap at vger.kernel.org/msg19447.html
> >
> > Thanks, I've updated the comments for this patch with the link above
> > and added the whole series into omap for-next.
>
> Except patches 8 and 9 as they break compile for mach-omap1
> and need to be updated.
>
Patch 8 is alright and doesn't break omap1. Patch 7 and patch 9 needs update to fix
the mach-omap1 build issue by moving irqs-44xx.h header file to plat-omap directory.
Attached are updated 7 and 9.
Build tested for omap1 (omap_generic_1710_defconfig and omap_h2_1610_defconfig) and boot
tested with omap3_defconfig on omap4430sdp board.
Thanks!!
Regards,
Santosh
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0007-omap4-Add-auto-generated-irq-and-dma-headers.patch
Type: application/octet-stream
Size: 15322 bytes
Desc: 0007-omap4-Add-auto-generated-irq-and-dma-headers.patch
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20100223/018766ec/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0009-omap4-Use-irq-line-defines-from-irq-44xx.h.patch
Type: application/octet-stream
Size: 11266 bytes
Desc: 0009-omap4-Use-irq-line-defines-from-irq-44xx.h.patch
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20100223/018766ec/attachment-0003.obj>
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 1/9] omap3/4: uart: fix full-fifo write abort
2010-02-22 21:39 ` Tony Lindgren
2010-02-22 23:07 ` Tony Lindgren
@ 2010-02-23 16:17 ` Shilimkar, Santosh
2010-02-23 18:54 ` Tony Lindgren
1 sibling, 1 reply; 25+ messages in thread
From: Shilimkar, Santosh @ 2010-02-23 16:17 UTC (permalink / raw)
To: linux-arm-kernel
Tony,
> -----Original Message-----
> From: Tony Lindgren [mailto:tony at atomide.com]
> Sent: Tuesday, February 23, 2010 3:10 AM
> To: Shilimkar, Santosh
> Cc: linux-omap at vger.kernel.org; linux-arm-kernel at lists.infradead.org; Woodruff, Richard; Ghorai,
> Sukumar
> Subject: Re: [PATCH 1/9] omap3/4: uart: fix full-fifo write abort
>
> * Shilimkar, Santosh <santosh.shilimkar@ti.com> [100218 21:22]:
> > Bye the way just to add bit more clarity, this patch addresses TX
> > hardware restriction in the new UART IP used on omap3630 and omap4430.
> > First part of the fix for RX is already in mainline,
> > Commit: "ce13d4716a276f4331d78ba28a5093a63822ab95"
> >
> > More details on this thread are here.
> > http://www.mail-archive.com/linux-omap at vger.kernel.org/msg19447.html
>
> Thanks, I've updated the comments for this patch with the link above
> and added the whole series into omap for-next.
>
Please drop this patch since it has introduces regression on interrupt latency
while traces are enabled. Since 8250 driver calls serial_out() function is with
interrupt disabled ( spin_lock_irqsave), the interrupt latency at times is
as high as in few milliseconds because of error case.
I shall work towards this issue but for now we should drop this since the side effect
of this change is known
>
> > > -----Original Message-----
> > > From: Shilimkar, Santosh
> > > Sent: Thursday, February 18, 2010 2:29 PM
> > > To: tony at atomide.com
> > > Cc: linux-omap at vger.kernel.org; linux-arm-kernel at lists.infradead.org; Shilimkar, Santosh;
> Woodruff,
> > > Richard; Ghorai, Sukumar
> > > Subject: [PATCH 1/9] omap3/4: uart: fix full-fifo write abort
> > >
> > > This patch is addition to the already merged commit on non-empty
> > > uart fifo read abort. "ce13d4716a276f4331d78ba28a5093a63822ab95"
> > >
> > > OMAP3630 and OMAP4430 UART IP blocks have a restriction on TX FIFO
> > > too. If you try to write to the tx fifo when it is full, the system aborts.
> > >
> > > This can be easily reproducible by not suppressing interconnect errors or
> > > long duration testing where continuous prints over console from multiple
> > > threads. This patch is addressing the issue by ensuring that write is
> > > not issued while fifo is full. A timeout is added to avoid any hang
> > > on fifo-full for 10 mS which is unlikely case.
> > >
> > > Patch is validated on OMAP3630 and OMAP4 SDP.
> > >
> > > V2 version removed the additional 1 uS on every TX as per
> > > Tony's suggestion
> > >
> > > Signed-off-by: Woodruff Richard <r-woodruff2@ti.com>
> > > Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
> > > CC: Ghorai Sukumar <s-ghorai@ti.com>
> > > ---
> > > arch/arm/mach-omap2/serial.c | 31 ++++++++++++++++++++++++++++---
> > > 1 files changed, 28 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
> > > index 5f3035e..b79bc89 100644
> > > --- a/arch/arm/mach-omap2/serial.c
> > > +++ b/arch/arm/mach-omap2/serial.c
> > > @@ -23,6 +23,7 @@
> > > #include <linux/serial_reg.h>
> > > #include <linux/clk.h>
> > > #include <linux/io.h>
> > > +#include <linux/delay.h>
> > >
> > > #include <plat/common.h>
> > > #include <plat/board.h>
> > > @@ -160,6 +161,13 @@ static inline unsigned int serial_read_reg(struct plat_serial8250_port *up,
> > > return (unsigned int)__raw_readb(up->membase + offset);
> > > }
> > >
> > > +static inline void __serial_write_reg(struct uart_port *up, int offset,
> > > + int value)
> > > +{
> > > + offset <<= up->regshift;
> > > + __raw_writeb(value, up->membase + offset);
> > > +}
> > > +
> > > static inline void serial_write_reg(struct plat_serial8250_port *p, int offset,
> > > int value)
> > > {
> > > @@ -620,6 +628,20 @@ static unsigned int serial_in_override(struct uart_port *up, int offset)
> > > return __serial_read_reg(up, offset);
> > > }
> > >
> > > +static void serial_out_override(struct uart_port *up, int offset, int value)
> > > +{
> > > + unsigned int status, tmout = 10000;
> > > +
> > > + status = __serial_read_reg(up, UART_LSR);
> > > + while (!(status & UART_LSR_THRE)) {
> > > + /* Wait up to 10ms for the character(s) to be sent. */
> > > + if (--tmout == 0)
> > > + break;
> > > + udelay(1);
> > > + status = __serial_read_reg(up, UART_LSR);
> > > + }
> > > + __serial_write_reg(up, offset, value);
> > > +}
> > > void __init omap_serial_early_init(void)
> > > {
> > > int i;
> > > @@ -721,11 +743,14 @@ void __init omap_serial_init_port(int port)
> > > * omap3xxx: Never read empty UART fifo on UARTs
> > > * with IP rev >=0x52
> > > */
> > > - if (cpu_is_omap44xx())
> > > + if (cpu_is_omap44xx()) {
> > > uart->p->serial_in = serial_in_override;
> > > - else if ((serial_read_reg(uart->p, UART_OMAP_MVER) & 0xFF)
> > > - >= UART_OMAP_NO_EMPTY_FIFO_READ_IP_REV)
> > > + uart->p->serial_out = serial_out_override;
> > > + } else if ((serial_read_reg(uart->p, UART_OMAP_MVER) & 0xFF)
> > > + >= UART_OMAP_NO_EMPTY_FIFO_READ_IP_REV) {
> > > uart->p->serial_in = serial_in_override;
> > > + uart->p->serial_out = serial_out_override;
> > > + }
> > > }
> > >
> > > /**
> > > --
> > > 1.6.0.4
> >
Regards,
Santosh
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 1/9] omap3/4: uart: fix full-fifo write abort
2010-02-23 16:17 ` Shilimkar, Santosh
@ 2010-02-23 18:54 ` Tony Lindgren
0 siblings, 0 replies; 25+ messages in thread
From: Tony Lindgren @ 2010-02-23 18:54 UTC (permalink / raw)
To: linux-arm-kernel
* Shilimkar, Santosh <santosh.shilimkar@ti.com> [100223 08:14]:
> Tony,
> > -----Original Message-----
> > From: Tony Lindgren [mailto:tony at atomide.com]
> > Sent: Tuesday, February 23, 2010 3:10 AM
> > To: Shilimkar, Santosh
> > Cc: linux-omap at vger.kernel.org; linux-arm-kernel at lists.infradead.org; Woodruff, Richard; Ghorai,
> > Sukumar
> > Subject: Re: [PATCH 1/9] omap3/4: uart: fix full-fifo write abort
> >
> > * Shilimkar, Santosh <santosh.shilimkar@ti.com> [100218 21:22]:
> > > Bye the way just to add bit more clarity, this patch addresses TX
> > > hardware restriction in the new UART IP used on omap3630 and omap4430.
> > > First part of the fix for RX is already in mainline,
> > > Commit: "ce13d4716a276f4331d78ba28a5093a63822ab95"
> > >
> > > More details on this thread are here.
> > > http://www.mail-archive.com/linux-omap at vger.kernel.org/msg19447.html
> >
> > Thanks, I've updated the comments for this patch with the link above
> > and added the whole series into omap for-next.
> >
> Please drop this patch since it has introduces regression on interrupt latency
> while traces are enabled. Since 8250 driver calls serial_out() function is with
> interrupt disabled ( spin_lock_irqsave), the interrupt latency at times is
> as high as in few milliseconds because of error case.
>
> I shall work towards this issue but for now we should drop this since the side effect
> of this change is known
OK, dropping it. We can merge something better as a fix during the -rc cycle
once you have it working.
Regards,
Tony
> >
> > > > -----Original Message-----
> > > > From: Shilimkar, Santosh
> > > > Sent: Thursday, February 18, 2010 2:29 PM
> > > > To: tony at atomide.com
> > > > Cc: linux-omap at vger.kernel.org; linux-arm-kernel at lists.infradead.org; Shilimkar, Santosh;
> > Woodruff,
> > > > Richard; Ghorai, Sukumar
> > > > Subject: [PATCH 1/9] omap3/4: uart: fix full-fifo write abort
> > > >
> > > > This patch is addition to the already merged commit on non-empty
> > > > uart fifo read abort. "ce13d4716a276f4331d78ba28a5093a63822ab95"
> > > >
> > > > OMAP3630 and OMAP4430 UART IP blocks have a restriction on TX FIFO
> > > > too. If you try to write to the tx fifo when it is full, the system aborts.
> > > >
> > > > This can be easily reproducible by not suppressing interconnect errors or
> > > > long duration testing where continuous prints over console from multiple
> > > > threads. This patch is addressing the issue by ensuring that write is
> > > > not issued while fifo is full. A timeout is added to avoid any hang
> > > > on fifo-full for 10 mS which is unlikely case.
> > > >
> > > > Patch is validated on OMAP3630 and OMAP4 SDP.
> > > >
> > > > V2 version removed the additional 1 uS on every TX as per
> > > > Tony's suggestion
> > > >
> > > > Signed-off-by: Woodruff Richard <r-woodruff2@ti.com>
> > > > Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
> > > > CC: Ghorai Sukumar <s-ghorai@ti.com>
> > > > ---
> > > > arch/arm/mach-omap2/serial.c | 31 ++++++++++++++++++++++++++++---
> > > > 1 files changed, 28 insertions(+), 3 deletions(-)
> > > >
> > > > diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
> > > > index 5f3035e..b79bc89 100644
> > > > --- a/arch/arm/mach-omap2/serial.c
> > > > +++ b/arch/arm/mach-omap2/serial.c
> > > > @@ -23,6 +23,7 @@
> > > > #include <linux/serial_reg.h>
> > > > #include <linux/clk.h>
> > > > #include <linux/io.h>
> > > > +#include <linux/delay.h>
> > > >
> > > > #include <plat/common.h>
> > > > #include <plat/board.h>
> > > > @@ -160,6 +161,13 @@ static inline unsigned int serial_read_reg(struct plat_serial8250_port *up,
> > > > return (unsigned int)__raw_readb(up->membase + offset);
> > > > }
> > > >
> > > > +static inline void __serial_write_reg(struct uart_port *up, int offset,
> > > > + int value)
> > > > +{
> > > > + offset <<= up->regshift;
> > > > + __raw_writeb(value, up->membase + offset);
> > > > +}
> > > > +
> > > > static inline void serial_write_reg(struct plat_serial8250_port *p, int offset,
> > > > int value)
> > > > {
> > > > @@ -620,6 +628,20 @@ static unsigned int serial_in_override(struct uart_port *up, int offset)
> > > > return __serial_read_reg(up, offset);
> > > > }
> > > >
> > > > +static void serial_out_override(struct uart_port *up, int offset, int value)
> > > > +{
> > > > + unsigned int status, tmout = 10000;
> > > > +
> > > > + status = __serial_read_reg(up, UART_LSR);
> > > > + while (!(status & UART_LSR_THRE)) {
> > > > + /* Wait up to 10ms for the character(s) to be sent. */
> > > > + if (--tmout == 0)
> > > > + break;
> > > > + udelay(1);
> > > > + status = __serial_read_reg(up, UART_LSR);
> > > > + }
> > > > + __serial_write_reg(up, offset, value);
> > > > +}
> > > > void __init omap_serial_early_init(void)
> > > > {
> > > > int i;
> > > > @@ -721,11 +743,14 @@ void __init omap_serial_init_port(int port)
> > > > * omap3xxx: Never read empty UART fifo on UARTs
> > > > * with IP rev >=0x52
> > > > */
> > > > - if (cpu_is_omap44xx())
> > > > + if (cpu_is_omap44xx()) {
> > > > uart->p->serial_in = serial_in_override;
> > > > - else if ((serial_read_reg(uart->p, UART_OMAP_MVER) & 0xFF)
> > > > - >= UART_OMAP_NO_EMPTY_FIFO_READ_IP_REV)
> > > > + uart->p->serial_out = serial_out_override;
> > > > + } else if ((serial_read_reg(uart->p, UART_OMAP_MVER) & 0xFF)
> > > > + >= UART_OMAP_NO_EMPTY_FIFO_READ_IP_REV) {
> > > > uart->p->serial_in = serial_in_override;
> > > > + uart->p->serial_out = serial_out_override;
> > > > + }
> > > > }
> > > >
> > > > /**
> > > > --
> > > > 1.6.0.4
> > >
>
> Regards,
> Santosh
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 1/9] omap3/4: uart: fix full-fifo write abort
2010-02-23 7:19 ` Shilimkar, Santosh
@ 2010-02-23 23:12 ` Tony Lindgren
2010-02-24 4:09 ` Shilimkar, Santosh
0 siblings, 1 reply; 25+ messages in thread
From: Tony Lindgren @ 2010-02-23 23:12 UTC (permalink / raw)
To: linux-arm-kernel
* Shilimkar, Santosh <santosh.shilimkar@ti.com> [100222 23:16]:
> Tony,
> > -----Original Message-----
> > From: Tony Lindgren [mailto:tony at atomide.com]
> > Sent: Tuesday, February 23, 2010 4:37 AM
> > To: Shilimkar, Santosh
> > Cc: linux-omap at vger.kernel.org; linux-arm-kernel at lists.infradead.org; Woodruff, Richard; Ghorai,
> > Sukumar
> > Subject: Re: [PATCH 1/9] omap3/4: uart: fix full-fifo write abort
> >
> > * Tony Lindgren <tony@atomide.com> [100222 13:35]:
> > > * Shilimkar, Santosh <santosh.shilimkar@ti.com> [100218 21:22]:
> > > > Bye the way just to add bit more clarity, this patch addresses TX
> > > > hardware restriction in the new UART IP used on omap3630 and omap4430.
> > > > First part of the fix for RX is already in mainline,
> > > > Commit: "ce13d4716a276f4331d78ba28a5093a63822ab95"
> > > >
> > > > More details on this thread are here.
> > > > http://www.mail-archive.com/linux-omap at vger.kernel.org/msg19447.html
> > >
> > > Thanks, I've updated the comments for this patch with the link above
> > > and added the whole series into omap for-next.
> >
> > Except patches 8 and 9 as they break compile for mach-omap1
> > and need to be updated.
> >
> Patch 8 is alright and doesn't break omap1. Patch 7 and patch 9 needs update to fix
> the mach-omap1 build issue by moving irqs-44xx.h header file to plat-omap directory.
> Attached are updated 7 and 9.
> Build tested for omap1 (omap_generic_1710_defconfig and omap_h2_1610_defconfig) and boot
> tested with omap3_defconfig on omap4430sdp board.
Next time, one patch per email please. And updates as replies
to the original patches, or else the whole series. And patches
as inline attachments.
Otherwise it's hard to keep track of the patches and comment
them.
I've updated your patch 9/9 with the following as in omap for-next
I was getting:
arch/arm/mach-omap2/usb-musb.c:97: Building for omap_3430sdp_defconfigred (first use in this function) Building for omap_3630sdp_defconfigch-omap2/usb-musb.c:97: error: (Each undeclared identifier is reported only once
arch/arm/mach-omap2/usb-musb.c:97: error: for each function it appears in.)
arch/arm/mach-omap2/usb-musb.c:98: error: 'INT_44XX_HS_USB_DMA' undeclared (first use in this function)
Regards,
Tony
--- a/arch/arm/mach-omap2/usb-musb.c
+++ b/arch/arm/mach-omap2/usb-musb.c
@@ -94,8 +94,8 @@ void __init usb_musb_init(struct omap_musb_board_data *board_data)
musb_resources[0].start = OMAP34XX_HSUSB_OTG_BASE;
} else if (cpu_is_omap44xx()) {
musb_resources[0].start = OMAP44XX_HSUSB_OTG_BASE;
- musb_resources[1].start = INT_44XX_HS_USB_MC;
- musb_resources[2].start = INT_44XX_HS_USB_DMA;
+ musb_resources[1].start = OMAP44XX_IRQ_HS_USB_MC_N;
+ musb_resources[2].start = OMAP44XX_IRQ_HS_USB_DMA_N;
}
musb_resources[0].end = musb_resources[0].start + SZ_4K - 1;
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 1/9] omap3/4: uart: fix full-fifo write abort
2010-02-23 23:12 ` Tony Lindgren
@ 2010-02-24 4:09 ` Shilimkar, Santosh
0 siblings, 0 replies; 25+ messages in thread
From: Shilimkar, Santosh @ 2010-02-24 4:09 UTC (permalink / raw)
To: linux-arm-kernel
> -----Original Message-----
> From: Tony Lindgren [mailto:tony at atomide.com]
> Sent: Wednesday, February 24, 2010 4:42 AM
> To: Shilimkar, Santosh
> Cc: linux-omap at vger.kernel.org; linux-arm-kernel at lists.infradead.org; Woodruff, Richard; Ghorai,
> Sukumar
> Subject: Re: [PATCH 1/9] omap3/4: uart: fix full-fifo write abort
>
> * Shilimkar, Santosh <santosh.shilimkar@ti.com> [100222 23:16]:
> > Tony,
> > > -----Original Message-----
> > > From: Tony Lindgren [mailto:tony at atomide.com]
> > > Sent: Tuesday, February 23, 2010 4:37 AM
> > > To: Shilimkar, Santosh
> > > Cc: linux-omap at vger.kernel.org; linux-arm-kernel at lists.infradead.org; Woodruff, Richard; Ghorai,
> > > Sukumar
> > > Subject: Re: [PATCH 1/9] omap3/4: uart: fix full-fifo write abort
> > >
> > > * Tony Lindgren <tony@atomide.com> [100222 13:35]:
> > > > * Shilimkar, Santosh <santosh.shilimkar@ti.com> [100218 21:22]:
> > > > > Bye the way just to add bit more clarity, this patch addresses TX
> > > > > hardware restriction in the new UART IP used on omap3630 and omap4430.
> > > > > First part of the fix for RX is already in mainline,
> > > > > Commit: "ce13d4716a276f4331d78ba28a5093a63822ab95"
> > > > >
> > > > > More details on this thread are here.
> > > > > http://www.mail-archive.com/linux-omap at vger.kernel.org/msg19447.html
> > > >
> > > > Thanks, I've updated the comments for this patch with the link above
> > > > and added the whole series into omap for-next.
> > >
> > > Except patches 8 and 9 as they break compile for mach-omap1
> > > and need to be updated.
> > >
> > Patch 8 is alright and doesn't break omap1. Patch 7 and patch 9 needs update to fix
> > the mach-omap1 build issue by moving irqs-44xx.h header file to plat-omap directory.
> > Attached are updated 7 and 9.
> > Build tested for omap1 (omap_generic_1710_defconfig and omap_h2_1610_defconfig) and boot
> > tested with omap3_defconfig on omap4430sdp board.
>
> Next time, one patch per email please. And updates as replies
> to the original patches, or else the whole series. And patches
> as inline attachments.
>
> Otherwise it's hard to keep track of the patches and comment
> them.
>
Ok. Will take care next time.
> I've updated your patch 9/9 with the following as in omap for-next
> I was getting:
>
> arch/arm/mach-omap2/usb-musb.c:97: Building for omap_3430sdp_defconfigred (first use in this
> function) Building for
> omap_3630sdp_defconfigch-omap2/usb-musb.c:97: error: (Each undeclared identifier is reported only
> once
> arch/arm/mach-omap2/usb-musb.c:97: error: for each function it appears in.)
> arch/arm/mach-omap2/usb-musb.c:98: error: 'INT_44XX_HS_USB_DMA' undeclared (first use in this
> function)
>
Looks like musb is also merged now. My yesterday's pull of omap-for-linus didn't have musb.
> Regards,
>
> Tony
>
> --- a/arch/arm/mach-omap2/usb-musb.c
> +++ b/arch/arm/mach-omap2/usb-musb.c
> @@ -94,8 +94,8 @@ void __init usb_musb_init(struct omap_musb_board_data *board_data)
> musb_resources[0].start = OMAP34XX_HSUSB_OTG_BASE;
> } else if (cpu_is_omap44xx()) {
> musb_resources[0].start = OMAP44XX_HSUSB_OTG_BASE;
> - musb_resources[1].start = INT_44XX_HS_USB_MC;
> - musb_resources[2].start = INT_44XX_HS_USB_DMA;
> + musb_resources[1].start = OMAP44XX_IRQ_HS_USB_MC_N;
> + musb_resources[2].start = OMAP44XX_IRQ_HS_USB_DMA_N;
> }
> musb_resources[0].end = musb_resources[0].start + SZ_4K - 1;
>
Thanks for fixing this.
Regards,
Santosh
^ permalink raw reply [flat|nested] 25+ messages in thread
end of thread, other threads:[~2010-02-24 4:09 UTC | newest]
Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-18 8:59 [PATCH 1/9] omap3/4: uart: fix full-fifo write abort Santosh Shilimkar
2010-02-18 8:59 ` [PATCH 2/9] omap2/3/4: ioremap omap_globals module Santosh Shilimkar
2010-02-18 8:59 ` [PATCH 3/9] omap4: sdma: Enable the idle modes on omap4 Santosh Shilimkar
2010-02-18 8:59 ` [PATCH 4/9] omap: sdma: Limit the secure reserve channel fix for omap3 Santosh Shilimkar
2010-02-18 8:59 ` [PATCH 5/9] omap4: Fix omap_type() for omap4 Santosh Shilimkar
2010-02-18 8:59 ` [PATCH 6/9] omap3/4: Remove overlapping mapping of L4_WKUP io space Santosh Shilimkar
2010-02-18 8:59 ` [PATCH 7/9] omap4: Add auto-generated irq and dma headers Santosh Shilimkar
2010-02-18 8:59 ` [PATCH 8/9] omap4: Use dma line defines from dma-44xx.h Santosh Shilimkar
2010-02-18 8:59 ` [PATCH 9/9] omap4: Use irq line defines from irq-44xx.h Santosh Shilimkar
2010-02-22 22:13 ` [PATCH 8/9] omap4: Use dma line defines from dma-44xx.h Tony Lindgren
2010-02-18 17:23 ` [PATCH 7/9] omap4: Add auto-generated irq and dma headers Paul Walmsley
2010-02-18 17:33 ` Shilimkar, Santosh
2010-02-19 5:10 ` Shilimkar, Santosh
2010-02-18 17:35 ` [PATCH 2/9] omap2/3/4: ioremap omap_globals module Paul Walmsley
2010-02-18 22:24 ` Kevin Hilman
2010-02-19 5:13 ` Shilimkar, Santosh
2010-02-19 5:25 ` [PATCH 1/9] omap3/4: uart: fix full-fifo write abort Shilimkar, Santosh
2010-02-22 21:39 ` Tony Lindgren
2010-02-22 23:07 ` Tony Lindgren
2010-02-23 5:42 ` Shilimkar, Santosh
2010-02-23 7:19 ` Shilimkar, Santosh
2010-02-23 23:12 ` Tony Lindgren
2010-02-24 4:09 ` Shilimkar, Santosh
2010-02-23 16:17 ` Shilimkar, Santosh
2010-02-23 18:54 ` Tony Lindgren
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).