diff options
author | H. Peter Anvin <hpa@zytor.com> | 2010-05-08 17:59:58 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2010-05-08 17:59:58 -0400 |
commit | d7be0ce6afb1df60bc786f57410407ceae92b994 (patch) | |
tree | 5e91acfc12c833531ad3320f274e0cd96a129973 /arch/arm/plat-omap | |
parent | e08cae4181af9483b04ecfac48f01c8e5a5f27bf (diff) | |
parent | 66f41d4c5c8a5deed66fdcc84509376c9a0bf9d8 (diff) |
Merge commit 'v2.6.34-rc6' into x86/cpu
Diffstat (limited to 'arch/arm/plat-omap')
-rw-r--r-- | arch/arm/plat-omap/common.c | 22 | ||||
-rw-r--r-- | arch/arm/plat-omap/devices.c | 1 | ||||
-rw-r--r-- | arch/arm/plat-omap/dma.c | 10 | ||||
-rw-r--r-- | arch/arm/plat-omap/gpio.c | 6 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/irqs.h | 2 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/mcbsp.h | 2 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/nand.h | 7 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/omap44xx.h | 2 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/omap_hwmod.h | 2 | ||||
-rw-r--r-- | arch/arm/plat-omap/iommu-debug.c | 1 | ||||
-rw-r--r-- | arch/arm/plat-omap/iommu.c | 1 | ||||
-rw-r--r-- | arch/arm/plat-omap/iovmm.c | 1 | ||||
-rw-r--r-- | arch/arm/plat-omap/mailbox.c | 1 | ||||
-rw-r--r-- | arch/arm/plat-omap/mcbsp.c | 1 | ||||
-rw-r--r-- | arch/arm/plat-omap/omap_device.c | 1 |
15 files changed, 44 insertions, 16 deletions
diff --git a/arch/arm/plat-omap/common.c b/arch/arm/plat-omap/common.c index 088c1a03b94..f12f0e39ddf 100644 --- a/arch/arm/plat-omap/common.c +++ b/arch/arm/plat-omap/common.c | |||
@@ -44,9 +44,6 @@ | |||
44 | 44 | ||
45 | #define NO_LENGTH_CHECK 0xffffffff | 45 | #define NO_LENGTH_CHECK 0xffffffff |
46 | 46 | ||
47 | unsigned char omap_bootloader_tag[512]; | ||
48 | int omap_bootloader_tag_len; | ||
49 | |||
50 | struct omap_board_config_kernel *omap_board_config; | 47 | struct omap_board_config_kernel *omap_board_config; |
51 | int omap_board_config_size; | 48 | int omap_board_config_size; |
52 | 49 | ||
@@ -100,10 +97,17 @@ EXPORT_SYMBOL(omap_get_var_config); | |||
100 | 97 | ||
101 | #include <linux/clocksource.h> | 98 | #include <linux/clocksource.h> |
102 | 99 | ||
100 | /* | ||
101 | * offset_32k holds the init time counter value. It is then subtracted | ||
102 | * from every counter read to achieve a counter that counts time from the | ||
103 | * kernel boot (needed for sched_clock()). | ||
104 | */ | ||
105 | static u32 offset_32k __read_mostly; | ||
106 | |||
103 | #ifdef CONFIG_ARCH_OMAP16XX | 107 | #ifdef CONFIG_ARCH_OMAP16XX |
104 | static cycle_t omap16xx_32k_read(struct clocksource *cs) | 108 | static cycle_t omap16xx_32k_read(struct clocksource *cs) |
105 | { | 109 | { |
106 | return omap_readl(OMAP16XX_TIMER_32K_SYNCHRONIZED); | 110 | return omap_readl(OMAP16XX_TIMER_32K_SYNCHRONIZED) - offset_32k; |
107 | } | 111 | } |
108 | #else | 112 | #else |
109 | #define omap16xx_32k_read NULL | 113 | #define omap16xx_32k_read NULL |
@@ -112,7 +116,7 @@ static cycle_t omap16xx_32k_read(struct clocksource *cs) | |||
112 | #ifdef CONFIG_ARCH_OMAP2420 | 116 | #ifdef CONFIG_ARCH_OMAP2420 |
113 | static cycle_t omap2420_32k_read(struct clocksource *cs) | 117 | static cycle_t omap2420_32k_read(struct clocksource *cs) |
114 | { | 118 | { |
115 | return omap_readl(OMAP2420_32KSYNCT_BASE + 0x10); | 119 | return omap_readl(OMAP2420_32KSYNCT_BASE + 0x10) - offset_32k; |
116 | } | 120 | } |
117 | #else | 121 | #else |
118 | #define omap2420_32k_read NULL | 122 | #define omap2420_32k_read NULL |
@@ -121,7 +125,7 @@ static cycle_t omap2420_32k_read(struct clocksource *cs) | |||
121 | #ifdef CONFIG_ARCH_OMAP2430 | 125 | #ifdef CONFIG_ARCH_OMAP2430 |
122 | static cycle_t omap2430_32k_read(struct clocksource *cs) | 126 | static cycle_t omap2430_32k_read(struct clocksource *cs) |
123 | { | 127 | { |
124 | return omap_readl(OMAP2430_32KSYNCT_BASE + 0x10); | 128 | return omap_readl(OMAP2430_32KSYNCT_BASE + 0x10) - offset_32k; |
125 | } | 129 | } |
126 | #else | 130 | #else |
127 | #define omap2430_32k_read NULL | 131 | #define omap2430_32k_read NULL |
@@ -130,7 +134,7 @@ static cycle_t omap2430_32k_read(struct clocksource *cs) | |||
130 | #ifdef CONFIG_ARCH_OMAP3 | 134 | #ifdef CONFIG_ARCH_OMAP3 |
131 | static cycle_t omap34xx_32k_read(struct clocksource *cs) | 135 | static cycle_t omap34xx_32k_read(struct clocksource *cs) |
132 | { | 136 | { |
133 | return omap_readl(OMAP3430_32KSYNCT_BASE + 0x10); | 137 | return omap_readl(OMAP3430_32KSYNCT_BASE + 0x10) - offset_32k; |
134 | } | 138 | } |
135 | #else | 139 | #else |
136 | #define omap34xx_32k_read NULL | 140 | #define omap34xx_32k_read NULL |
@@ -139,7 +143,7 @@ static cycle_t omap34xx_32k_read(struct clocksource *cs) | |||
139 | #ifdef CONFIG_ARCH_OMAP4 | 143 | #ifdef CONFIG_ARCH_OMAP4 |
140 | static cycle_t omap44xx_32k_read(struct clocksource *cs) | 144 | static cycle_t omap44xx_32k_read(struct clocksource *cs) |
141 | { | 145 | { |
142 | return omap_readl(OMAP4430_32KSYNCT_BASE + 0x10); | 146 | return omap_readl(OMAP4430_32KSYNCT_BASE + 0x10) - offset_32k; |
143 | } | 147 | } |
144 | #else | 148 | #else |
145 | #define omap44xx_32k_read NULL | 149 | #define omap44xx_32k_read NULL |
@@ -227,6 +231,8 @@ static int __init omap_init_clocksource_32k(void) | |||
227 | clocksource_32k.mult = clocksource_hz2mult(32768, | 231 | clocksource_32k.mult = clocksource_hz2mult(32768, |
228 | clocksource_32k.shift); | 232 | clocksource_32k.shift); |
229 | 233 | ||
234 | offset_32k = clocksource_32k.read(&clocksource_32k); | ||
235 | |||
230 | if (clocksource_register(&clocksource_32k)) | 236 | if (clocksource_register(&clocksource_32k)) |
231 | printk(err, clocksource_32k.name); | 237 | printk(err, clocksource_32k.name); |
232 | } | 238 | } |
diff --git a/arch/arm/plat-omap/devices.c b/arch/arm/plat-omap/devices.c index 4a4cd8774aa..95677d17cd1 100644 --- a/arch/arm/plat-omap/devices.c +++ b/arch/arm/plat-omap/devices.c | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <linux/init.h> | 14 | #include <linux/init.h> |
15 | #include <linux/platform_device.h> | 15 | #include <linux/platform_device.h> |
16 | #include <linux/io.h> | 16 | #include <linux/io.h> |
17 | #include <linux/slab.h> | ||
17 | 18 | ||
18 | #include <mach/hardware.h> | 19 | #include <mach/hardware.h> |
19 | #include <asm/mach-types.h> | 20 | #include <asm/mach-types.h> |
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c index 2ab224c8e16..1d959965ff5 100644 --- a/arch/arm/plat-omap/dma.c +++ b/arch/arm/plat-omap/dma.c | |||
@@ -29,6 +29,7 @@ | |||
29 | #include <linux/interrupt.h> | 29 | #include <linux/interrupt.h> |
30 | #include <linux/irq.h> | 30 | #include <linux/irq.h> |
31 | #include <linux/io.h> | 31 | #include <linux/io.h> |
32 | #include <linux/slab.h> | ||
32 | 33 | ||
33 | #include <asm/system.h> | 34 | #include <asm/system.h> |
34 | #include <mach/hardware.h> | 35 | #include <mach/hardware.h> |
@@ -936,6 +937,15 @@ void omap_start_dma(int lch) | |||
936 | { | 937 | { |
937 | u32 l; | 938 | u32 l; |
938 | 939 | ||
940 | /* | ||
941 | * The CPC/CDAC register needs to be initialized to zero | ||
942 | * before starting dma transfer. | ||
943 | */ | ||
944 | if (cpu_is_omap15xx()) | ||
945 | dma_write(0, CPC(lch)); | ||
946 | else | ||
947 | dma_write(0, CDAC(lch)); | ||
948 | |||
939 | if (!omap_dma_in_1510_mode() && dma_chan[lch].next_lch != -1) { | 949 | if (!omap_dma_in_1510_mode() && dma_chan[lch].next_lch != -1) { |
940 | int next_lch, cur_lch; | 950 | int next_lch, cur_lch; |
941 | char dma_chan_link_map[OMAP_DMA4_LOGICAL_DMA_CH_COUNT]; | 951 | char dma_chan_link_map[OMAP_DMA4_LOGICAL_DMA_CH_COUNT]; |
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c index 76a347b3ce0..45a225d0912 100644 --- a/arch/arm/plat-omap/gpio.c +++ b/arch/arm/plat-omap/gpio.c | |||
@@ -798,7 +798,7 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger) | |||
798 | case METHOD_MPUIO: | 798 | case METHOD_MPUIO: |
799 | reg += OMAP_MPUIO_GPIO_INT_EDGE; | 799 | reg += OMAP_MPUIO_GPIO_INT_EDGE; |
800 | l = __raw_readl(reg); | 800 | l = __raw_readl(reg); |
801 | if (trigger & IRQ_TYPE_EDGE_BOTH) | 801 | if ((trigger & IRQ_TYPE_SENSE_MASK) == IRQ_TYPE_EDGE_BOTH) |
802 | bank->toggle_mask |= 1 << gpio; | 802 | bank->toggle_mask |= 1 << gpio; |
803 | if (trigger & IRQ_TYPE_EDGE_RISING) | 803 | if (trigger & IRQ_TYPE_EDGE_RISING) |
804 | l |= 1 << gpio; | 804 | l |= 1 << gpio; |
@@ -812,7 +812,7 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger) | |||
812 | case METHOD_GPIO_1510: | 812 | case METHOD_GPIO_1510: |
813 | reg += OMAP1510_GPIO_INT_CONTROL; | 813 | reg += OMAP1510_GPIO_INT_CONTROL; |
814 | l = __raw_readl(reg); | 814 | l = __raw_readl(reg); |
815 | if (trigger & IRQ_TYPE_EDGE_BOTH) | 815 | if ((trigger & IRQ_TYPE_SENSE_MASK) == IRQ_TYPE_EDGE_BOTH) |
816 | bank->toggle_mask |= 1 << gpio; | 816 | bank->toggle_mask |= 1 << gpio; |
817 | if (trigger & IRQ_TYPE_EDGE_RISING) | 817 | if (trigger & IRQ_TYPE_EDGE_RISING) |
818 | l |= 1 << gpio; | 818 | l |= 1 << gpio; |
@@ -846,7 +846,7 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger) | |||
846 | case METHOD_GPIO_7XX: | 846 | case METHOD_GPIO_7XX: |
847 | reg += OMAP7XX_GPIO_INT_CONTROL; | 847 | reg += OMAP7XX_GPIO_INT_CONTROL; |
848 | l = __raw_readl(reg); | 848 | l = __raw_readl(reg); |
849 | if (trigger & IRQ_TYPE_EDGE_BOTH) | 849 | if ((trigger & IRQ_TYPE_SENSE_MASK) == IRQ_TYPE_EDGE_BOTH) |
850 | bank->toggle_mask |= 1 << gpio; | 850 | bank->toggle_mask |= 1 << gpio; |
851 | if (trigger & IRQ_TYPE_EDGE_RISING) | 851 | if (trigger & IRQ_TYPE_EDGE_RISING) |
852 | l |= 1 << gpio; | 852 | l |= 1 << gpio; |
diff --git a/arch/arm/plat-omap/include/plat/irqs.h b/arch/arm/plat-omap/include/plat/irqs.h index b65088a869e..401701977db 100644 --- a/arch/arm/plat-omap/include/plat/irqs.h +++ b/arch/arm/plat-omap/include/plat/irqs.h | |||
@@ -345,8 +345,6 @@ | |||
345 | #define INT_34XX_MMC3_IRQ 94 | 345 | #define INT_34XX_MMC3_IRQ 94 |
346 | #define INT_34XX_GPT12_IRQ 95 | 346 | #define INT_34XX_GPT12_IRQ 95 |
347 | 347 | ||
348 | #define INT_34XX_BENCH_MPU_EMUL 3 | ||
349 | |||
350 | #define INT_35XX_HECC0_IRQ 24 | 348 | #define INT_35XX_HECC0_IRQ 24 |
351 | #define INT_35XX_HECC1_IRQ 28 | 349 | #define INT_35XX_HECC1_IRQ 28 |
352 | #define INT_35XX_EMAC_C0_RXTHRESH_IRQ 67 | 350 | #define INT_35XX_EMAC_C0_RXTHRESH_IRQ 67 |
diff --git a/arch/arm/plat-omap/include/plat/mcbsp.h b/arch/arm/plat-omap/include/plat/mcbsp.h index 39748354ce4..7de903d7c1c 100644 --- a/arch/arm/plat-omap/include/plat/mcbsp.h +++ b/arch/arm/plat-omap/include/plat/mcbsp.h | |||
@@ -59,7 +59,7 @@ | |||
59 | #define OMAP44XX_MCBSP1_BASE 0x49022000 | 59 | #define OMAP44XX_MCBSP1_BASE 0x49022000 |
60 | #define OMAP44XX_MCBSP2_BASE 0x49024000 | 60 | #define OMAP44XX_MCBSP2_BASE 0x49024000 |
61 | #define OMAP44XX_MCBSP3_BASE 0x49026000 | 61 | #define OMAP44XX_MCBSP3_BASE 0x49026000 |
62 | #define OMAP44XX_MCBSP4_BASE 0x48074000 | 62 | #define OMAP44XX_MCBSP4_BASE 0x48096000 |
63 | 63 | ||
64 | #if defined(CONFIG_ARCH_OMAP15XX) || defined(CONFIG_ARCH_OMAP16XX) || defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850) | 64 | #if defined(CONFIG_ARCH_OMAP15XX) || defined(CONFIG_ARCH_OMAP16XX) || defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850) |
65 | 65 | ||
diff --git a/arch/arm/plat-omap/include/plat/nand.h b/arch/arm/plat-omap/include/plat/nand.h index 6ba88d2630d..f8efd5466b1 100644 --- a/arch/arm/plat-omap/include/plat/nand.h +++ b/arch/arm/plat-omap/include/plat/nand.h | |||
@@ -29,4 +29,11 @@ struct omap_nand_platform_data { | |||
29 | /* size (4 KiB) for IO mapping */ | 29 | /* size (4 KiB) for IO mapping */ |
30 | #define NAND_IO_SIZE SZ_4K | 30 | #define NAND_IO_SIZE SZ_4K |
31 | 31 | ||
32 | #if defined(CONFIG_MTD_NAND_OMAP2) || defined(CONFIG_MTD_NAND_OMAP2_MODULE) | ||
32 | extern int gpmc_nand_init(struct omap_nand_platform_data *d); | 33 | extern int gpmc_nand_init(struct omap_nand_platform_data *d); |
34 | #else | ||
35 | static inline int gpmc_nand_init(struct omap_nand_platform_data *d) | ||
36 | { | ||
37 | return 0; | ||
38 | } | ||
39 | #endif | ||
diff --git a/arch/arm/plat-omap/include/plat/omap44xx.h b/arch/arm/plat-omap/include/plat/omap44xx.h index 2302474a374..b3ef1a7f53c 100644 --- a/arch/arm/plat-omap/include/plat/omap44xx.h +++ b/arch/arm/plat-omap/include/plat/omap44xx.h | |||
@@ -32,7 +32,7 @@ | |||
32 | #define OMAP4430_PRM_BASE 0x4a306000 | 32 | #define OMAP4430_PRM_BASE 0x4a306000 |
33 | #define OMAP44XX_GPMC_BASE 0x50000000 | 33 | #define OMAP44XX_GPMC_BASE 0x50000000 |
34 | #define OMAP443X_SCM_BASE 0x4a002000 | 34 | #define OMAP443X_SCM_BASE 0x4a002000 |
35 | #define OMAP443X_CTRL_BASE OMAP443X_SCM_BASE | 35 | #define OMAP443X_CTRL_BASE 0x4a100000 |
36 | #define OMAP44XX_IC_BASE 0x48200000 | 36 | #define OMAP44XX_IC_BASE 0x48200000 |
37 | #define OMAP44XX_IVA_INTC_BASE 0x40000000 | 37 | #define OMAP44XX_IVA_INTC_BASE 0x40000000 |
38 | #define IRQ_SIR_IRQ 0x0040 | 38 | #define IRQ_SIR_IRQ 0x0040 |
diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h index 440b4164f2f..36d6ea56ab5 100644 --- a/arch/arm/plat-omap/include/plat/omap_hwmod.h +++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h | |||
@@ -294,8 +294,8 @@ struct omap_hwmod_class_sysconfig { | |||
294 | u16 rev_offs; | 294 | u16 rev_offs; |
295 | u16 sysc_offs; | 295 | u16 sysc_offs; |
296 | u16 syss_offs; | 296 | u16 syss_offs; |
297 | u16 sysc_flags; | ||
297 | u8 idlemodes; | 298 | u8 idlemodes; |
298 | u8 sysc_flags; | ||
299 | u8 clockact; | 299 | u8 clockact; |
300 | struct omap_hwmod_sysc_fields *sysc_fields; | 300 | struct omap_hwmod_sysc_fields *sysc_fields; |
301 | }; | 301 | }; |
diff --git a/arch/arm/plat-omap/iommu-debug.c b/arch/arm/plat-omap/iommu-debug.c index afd1c27cff7..e6c0d536899 100644 --- a/arch/arm/plat-omap/iommu-debug.c +++ b/arch/arm/plat-omap/iommu-debug.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <linux/err.h> | 13 | #include <linux/err.h> |
14 | #include <linux/clk.h> | 14 | #include <linux/clk.h> |
15 | #include <linux/io.h> | 15 | #include <linux/io.h> |
16 | #include <linux/slab.h> | ||
16 | #include <linux/uaccess.h> | 17 | #include <linux/uaccess.h> |
17 | #include <linux/platform_device.h> | 18 | #include <linux/platform_device.h> |
18 | #include <linux/debugfs.h> | 19 | #include <linux/debugfs.h> |
diff --git a/arch/arm/plat-omap/iommu.c b/arch/arm/plat-omap/iommu.c index 905ed832df5..0e137663349 100644 --- a/arch/arm/plat-omap/iommu.c +++ b/arch/arm/plat-omap/iommu.c | |||
@@ -13,6 +13,7 @@ | |||
13 | 13 | ||
14 | #include <linux/err.h> | 14 | #include <linux/err.h> |
15 | #include <linux/module.h> | 15 | #include <linux/module.h> |
16 | #include <linux/slab.h> | ||
16 | #include <linux/interrupt.h> | 17 | #include <linux/interrupt.h> |
17 | #include <linux/ioport.h> | 18 | #include <linux/ioport.h> |
18 | #include <linux/clk.h> | 19 | #include <linux/clk.h> |
diff --git a/arch/arm/plat-omap/iovmm.c b/arch/arm/plat-omap/iovmm.c index 936aef1971c..65c6d1ff723 100644 --- a/arch/arm/plat-omap/iovmm.c +++ b/arch/arm/plat-omap/iovmm.c | |||
@@ -11,6 +11,7 @@ | |||
11 | */ | 11 | */ |
12 | 12 | ||
13 | #include <linux/err.h> | 13 | #include <linux/err.h> |
14 | #include <linux/slab.h> | ||
14 | #include <linux/vmalloc.h> | 15 | #include <linux/vmalloc.h> |
15 | #include <linux/device.h> | 16 | #include <linux/device.h> |
16 | #include <linux/scatterlist.h> | 17 | #include <linux/scatterlist.h> |
diff --git a/arch/arm/plat-omap/mailbox.c b/arch/arm/plat-omap/mailbox.c index 4229cec5314..08a2df76628 100644 --- a/arch/arm/plat-omap/mailbox.c +++ b/arch/arm/plat-omap/mailbox.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <linux/interrupt.h> | 25 | #include <linux/interrupt.h> |
26 | #include <linux/device.h> | 26 | #include <linux/device.h> |
27 | #include <linux/delay.h> | 27 | #include <linux/delay.h> |
28 | #include <linux/slab.h> | ||
28 | 29 | ||
29 | #include <plat/mailbox.h> | 30 | #include <plat/mailbox.h> |
30 | 31 | ||
diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c index 52dfcc81511..e1d0440fd4a 100644 --- a/arch/arm/plat-omap/mcbsp.c +++ b/arch/arm/plat-omap/mcbsp.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/clk.h> | 23 | #include <linux/clk.h> |
24 | #include <linux/delay.h> | 24 | #include <linux/delay.h> |
25 | #include <linux/io.h> | 25 | #include <linux/io.h> |
26 | #include <linux/slab.h> | ||
26 | 27 | ||
27 | #include <plat/dma.h> | 28 | #include <plat/dma.h> |
28 | #include <plat/mcbsp.h> | 29 | #include <plat/mcbsp.h> |
diff --git a/arch/arm/plat-omap/omap_device.c b/arch/arm/plat-omap/omap_device.c index 59043589484..0f519747951 100644 --- a/arch/arm/plat-omap/omap_device.c +++ b/arch/arm/plat-omap/omap_device.c | |||
@@ -79,6 +79,7 @@ | |||
79 | 79 | ||
80 | #include <linux/kernel.h> | 80 | #include <linux/kernel.h> |
81 | #include <linux/platform_device.h> | 81 | #include <linux/platform_device.h> |
82 | #include <linux/slab.h> | ||
82 | #include <linux/err.h> | 83 | #include <linux/err.h> |
83 | #include <linux/io.h> | 84 | #include <linux/io.h> |
84 | 85 | ||