diff options
author | Tony Lindgren <tony@atomide.com> | 2010-08-02 07:23:38 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2010-08-02 07:23:38 -0400 |
commit | 055a1b8c9927bc587f293020a54c6cd8e24dfac0 (patch) | |
tree | db7c8d00931180c4896c9e00d2cb506939592cda /arch/arm/plat-omap | |
parent | 8a6f7e14fc3b3ea911838c3f4ce137cb8a3d134a (diff) | |
parent | f535daed925c2d3c1db06b06a63c4955f2c51988 (diff) |
Merge branch 'devel-misc' into omap-for-linus
Diffstat (limited to 'arch/arm/plat-omap')
-rw-r--r-- | arch/arm/plat-omap/dma.c | 11 | ||||
-rw-r--r-- | arch/arm/plat-omap/gpio.c | 4 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/cpu.h | 2 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/dma.h | 1 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/mux.h | 4 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/uncompress.h | 6 |
6 files changed, 23 insertions, 5 deletions
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c index f7f571e7987e..ec7eddf9e525 100644 --- a/arch/arm/plat-omap/dma.c +++ b/arch/arm/plat-omap/dma.c | |||
@@ -290,7 +290,7 @@ void omap_set_dma_transfer_params(int lch, int data_type, int elem_count, | |||
290 | val = dma_read(CCR(lch)); | 290 | val = dma_read(CCR(lch)); |
291 | 291 | ||
292 | /* DMA_SYNCHRO_CONTROL_UPPER depends on the channel number */ | 292 | /* DMA_SYNCHRO_CONTROL_UPPER depends on the channel number */ |
293 | val &= ~((3 << 19) | 0x1f); | 293 | val &= ~((1 << 23) | (3 << 19) | 0x1f); |
294 | val |= (dma_trigger & ~0x1f) << 14; | 294 | val |= (dma_trigger & ~0x1f) << 14; |
295 | val |= dma_trigger & 0x1f; | 295 | val |= dma_trigger & 0x1f; |
296 | 296 | ||
@@ -304,11 +304,14 @@ void omap_set_dma_transfer_params(int lch, int data_type, int elem_count, | |||
304 | else | 304 | else |
305 | val &= ~(1 << 18); | 305 | val &= ~(1 << 18); |
306 | 306 | ||
307 | if (src_or_dst_synch) | 307 | if (src_or_dst_synch == OMAP_DMA_DST_SYNC_PREFETCH) { |
308 | val &= ~(1 << 24); /* dest synch */ | ||
309 | val |= (1 << 23); /* Prefetch */ | ||
310 | } else if (src_or_dst_synch) { | ||
308 | val |= 1 << 24; /* source synch */ | 311 | val |= 1 << 24; /* source synch */ |
309 | else | 312 | } else { |
310 | val &= ~(1 << 24); /* dest synch */ | 313 | val &= ~(1 << 24); /* dest synch */ |
311 | 314 | } | |
312 | dma_write(val, CCR(lch)); | 315 | dma_write(val, CCR(lch)); |
313 | } | 316 | } |
314 | 317 | ||
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c index 9b7e3545f325..7951eefe1a0e 100644 --- a/arch/arm/plat-omap/gpio.c +++ b/arch/arm/plat-omap/gpio.c | |||
@@ -390,7 +390,9 @@ static inline int gpio_valid(int gpio) | |||
390 | return 0; | 390 | return 0; |
391 | if (cpu_is_omap7xx() && gpio < 192) | 391 | if (cpu_is_omap7xx() && gpio < 192) |
392 | return 0; | 392 | return 0; |
393 | if (cpu_is_omap24xx() && gpio < 128) | 393 | if (cpu_is_omap2420() && gpio < 128) |
394 | return 0; | ||
395 | if (cpu_is_omap2430() && gpio < 160) | ||
394 | return 0; | 396 | return 0; |
395 | if ((cpu_is_omap34xx() || cpu_is_omap44xx()) && gpio < 192) | 397 | if ((cpu_is_omap34xx() || cpu_is_omap44xx()) && gpio < 192) |
396 | return 0; | 398 | return 0; |
diff --git a/arch/arm/plat-omap/include/plat/cpu.h b/arch/arm/plat-omap/include/plat/cpu.h index 75141742300c..aa2f4f079f57 100644 --- a/arch/arm/plat-omap/include/plat/cpu.h +++ b/arch/arm/plat-omap/include/plat/cpu.h | |||
@@ -444,6 +444,7 @@ extern u32 omap3_features; | |||
444 | #define OMAP3_HAS_NEON BIT(3) | 444 | #define OMAP3_HAS_NEON BIT(3) |
445 | #define OMAP3_HAS_ISP BIT(4) | 445 | #define OMAP3_HAS_ISP BIT(4) |
446 | #define OMAP3_HAS_192MHZ_CLK BIT(5) | 446 | #define OMAP3_HAS_192MHZ_CLK BIT(5) |
447 | #define OMAP3_HAS_IO_WAKEUP BIT(6) | ||
447 | 448 | ||
448 | #define OMAP3_HAS_FEATURE(feat,flag) \ | 449 | #define OMAP3_HAS_FEATURE(feat,flag) \ |
449 | static inline unsigned int omap3_has_ ##feat(void) \ | 450 | static inline unsigned int omap3_has_ ##feat(void) \ |
@@ -457,5 +458,6 @@ OMAP3_HAS_FEATURE(iva, IVA) | |||
457 | OMAP3_HAS_FEATURE(neon, NEON) | 458 | OMAP3_HAS_FEATURE(neon, NEON) |
458 | OMAP3_HAS_FEATURE(isp, ISP) | 459 | OMAP3_HAS_FEATURE(isp, ISP) |
459 | OMAP3_HAS_FEATURE(192mhz_clk, 192MHZ_CLK) | 460 | OMAP3_HAS_FEATURE(192mhz_clk, 192MHZ_CLK) |
461 | OMAP3_HAS_FEATURE(io_wakeup, IO_WAKEUP) | ||
460 | 462 | ||
461 | #endif | 463 | #endif |
diff --git a/arch/arm/plat-omap/include/plat/dma.h b/arch/arm/plat-omap/include/plat/dma.h index 02232ca2c37f..af3a03941add 100644 --- a/arch/arm/plat-omap/include/plat/dma.h +++ b/arch/arm/plat-omap/include/plat/dma.h | |||
@@ -345,6 +345,7 @@ | |||
345 | #define OMAP_DMA_SYNC_BLOCK 0x02 | 345 | #define OMAP_DMA_SYNC_BLOCK 0x02 |
346 | #define OMAP_DMA_SYNC_PACKET 0x03 | 346 | #define OMAP_DMA_SYNC_PACKET 0x03 |
347 | 347 | ||
348 | #define OMAP_DMA_DST_SYNC_PREFETCH 0x02 | ||
348 | #define OMAP_DMA_SRC_SYNC 0x01 | 349 | #define OMAP_DMA_SRC_SYNC 0x01 |
349 | #define OMAP_DMA_DST_SYNC 0x00 | 350 | #define OMAP_DMA_DST_SYNC 0x00 |
350 | 351 | ||
diff --git a/arch/arm/plat-omap/include/plat/mux.h b/arch/arm/plat-omap/include/plat/mux.h index e1da7b17d25b..aeba71796ad9 100644 --- a/arch/arm/plat-omap/include/plat/mux.h +++ b/arch/arm/plat-omap/include/plat/mux.h | |||
@@ -173,6 +173,10 @@ enum omap7xx_index { | |||
173 | SPI_7XX_4, | 173 | SPI_7XX_4, |
174 | SPI_7XX_5, | 174 | SPI_7XX_5, |
175 | SPI_7XX_6, | 175 | SPI_7XX_6, |
176 | |||
177 | /* UART */ | ||
178 | UART_7XX_1, | ||
179 | UART_7XX_2, | ||
176 | }; | 180 | }; |
177 | 181 | ||
178 | enum omap1xxx_index { | 182 | enum omap1xxx_index { |
diff --git a/arch/arm/plat-omap/include/plat/uncompress.h b/arch/arm/plat-omap/include/plat/uncompress.h index bbedd71943f6..ddf723be48dc 100644 --- a/arch/arm/plat-omap/include/plat/uncompress.h +++ b/arch/arm/plat-omap/include/plat/uncompress.h | |||
@@ -25,6 +25,8 @@ | |||
25 | 25 | ||
26 | #include <plat/serial.h> | 26 | #include <plat/serial.h> |
27 | 27 | ||
28 | #define MDR1_MODE_MASK 0x07 | ||
29 | |||
28 | static volatile u8 *uart_base; | 30 | static volatile u8 *uart_base; |
29 | static int uart_shift; | 31 | static int uart_shift; |
30 | 32 | ||
@@ -42,6 +44,10 @@ static void putc(int c) | |||
42 | if (!uart_base) | 44 | if (!uart_base) |
43 | return; | 45 | return; |
44 | 46 | ||
47 | /* Check for UART 16x mode */ | ||
48 | if ((uart_base[UART_OMAP_MDR1 << uart_shift] & MDR1_MODE_MASK) != 0) | ||
49 | return; | ||
50 | |||
45 | while (!(uart_base[UART_LSR << uart_shift] & UART_LSR_THRE)) | 51 | while (!(uart_base[UART_LSR << uart_shift] & UART_LSR_THRE)) |
46 | barrier(); | 52 | barrier(); |
47 | uart_base[UART_TX << uart_shift] = c; | 53 | uart_base[UART_TX << uart_shift] = c; |