diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2008-10-09 16:33:03 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-10-09 16:33:03 -0400 |
commit | b1add0480a95b6ceaece5caf6c50614771eae9b2 (patch) | |
tree | 06f969f37bd0f51d9ebcccdb3e3ae983edaad889 /arch/arm/plat-mxc/include | |
parent | 3f30a09a612bac2b531a206c2a58a292dd7ff182 (diff) | |
parent | 58a85f465fb16a918a869eba05addb8f78d9e064 (diff) |
Merge branch 'for-rmk' of git://pasiphae.extern.pengutronix.de/git/imx/linux-2.6.git
Merge branch 'imx-devel' into devel
Diffstat (limited to 'arch/arm/plat-mxc/include')
-rw-r--r-- | arch/arm/plat-mxc/include/mach/board-mx31ads.h | 3 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/clock.h | 2 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/common.h | 3 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h | 89 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/entry-macro.S | 12 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/iomux-mx1-mx2.h | 24 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/iomux-mx3.h | 20 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/irqs.h | 1 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/mx27.h | 1 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/mx31.h | 1 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/mxc.h | 6 |
11 files changed, 160 insertions, 2 deletions
diff --git a/arch/arm/plat-mxc/include/mach/board-mx31ads.h b/arch/arm/plat-mxc/include/mach/board-mx31ads.h index 1bc6fb0f9a83..745b48864f93 100644 --- a/arch/arm/plat-mxc/include/mach/board-mx31ads.h +++ b/arch/arm/plat-mxc/include/mach/board-mx31ads.h | |||
@@ -90,6 +90,9 @@ | |||
90 | #define PBC_INTMASK_CLEAR_REG (PBC_INTMASK_CLEAR + PBC_BASE_ADDRESS) | 90 | #define PBC_INTMASK_CLEAR_REG (PBC_INTMASK_CLEAR + PBC_BASE_ADDRESS) |
91 | #define EXPIO_PARENT_INT IOMUX_TO_IRQ(MX31_PIN_GPIO1_4) | 91 | #define EXPIO_PARENT_INT IOMUX_TO_IRQ(MX31_PIN_GPIO1_4) |
92 | 92 | ||
93 | #define MXC_EXP_IO_BASE (MXC_MAX_INT_LINES + MXC_MAX_GPIO_LINES) | ||
94 | #define MXC_IRQ_TO_EXPIO(irq) ((irq) - MXC_EXP_IO_BASE) | ||
95 | |||
93 | #define EXPIO_INT_LOW_BAT (MXC_EXP_IO_BASE + 0) | 96 | #define EXPIO_INT_LOW_BAT (MXC_EXP_IO_BASE + 0) |
94 | #define EXPIO_INT_PB_IRQ (MXC_EXP_IO_BASE + 1) | 97 | #define EXPIO_INT_PB_IRQ (MXC_EXP_IO_BASE + 1) |
95 | #define EXPIO_INT_OTG_FS_OVR (MXC_EXP_IO_BASE + 2) | 98 | #define EXPIO_INT_OTG_FS_OVR (MXC_EXP_IO_BASE + 2) |
diff --git a/arch/arm/plat-mxc/include/mach/clock.h b/arch/arm/plat-mxc/include/mach/clock.h index 24caa2b7c91d..d21f78e78819 100644 --- a/arch/arm/plat-mxc/include/mach/clock.h +++ b/arch/arm/plat-mxc/include/mach/clock.h | |||
@@ -39,7 +39,7 @@ struct clk { | |||
39 | /* Register bit position for clock's enable/disable control. */ | 39 | /* Register bit position for clock's enable/disable control. */ |
40 | u8 enable_shift; | 40 | u8 enable_shift; |
41 | /* Register address for clock's enable/disable control. */ | 41 | /* Register address for clock's enable/disable control. */ |
42 | u32 enable_reg; | 42 | void __iomem *enable_reg; |
43 | u32 flags; | 43 | u32 flags; |
44 | /* get the current clock rate (always a fresh value) */ | 44 | /* get the current clock rate (always a fresh value) */ |
45 | unsigned long (*get_rate) (struct clk *); | 45 | unsigned long (*get_rate) (struct clk *); |
diff --git a/arch/arm/plat-mxc/include/mach/common.h b/arch/arm/plat-mxc/include/mach/common.h index a6d2e24aab15..6350287a59b9 100644 --- a/arch/arm/plat-mxc/include/mach/common.h +++ b/arch/arm/plat-mxc/include/mach/common.h | |||
@@ -11,10 +11,13 @@ | |||
11 | #ifndef __ASM_ARCH_MXC_COMMON_H__ | 11 | #ifndef __ASM_ARCH_MXC_COMMON_H__ |
12 | #define __ASM_ARCH_MXC_COMMON_H__ | 12 | #define __ASM_ARCH_MXC_COMMON_H__ |
13 | 13 | ||
14 | struct platform_device; | ||
15 | |||
14 | extern void mxc_map_io(void); | 16 | extern void mxc_map_io(void); |
15 | extern void mxc_init_irq(void); | 17 | extern void mxc_init_irq(void); |
16 | extern void mxc_timer_init(const char *clk_timer); | 18 | extern void mxc_timer_init(const char *clk_timer); |
17 | extern int mxc_clocks_init(unsigned long fref); | 19 | extern int mxc_clocks_init(unsigned long fref); |
18 | extern int mxc_register_gpios(void); | 20 | extern int mxc_register_gpios(void); |
21 | extern int mxc_register_device(struct platform_device *pdev, void *data); | ||
19 | 22 | ||
20 | #endif | 23 | #endif |
diff --git a/arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h b/arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h new file mode 100644 index 000000000000..e85fd946116c --- /dev/null +++ b/arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h | |||
@@ -0,0 +1,89 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h | ||
3 | * | ||
4 | * i.MX DMA registration and IRQ dispatching | ||
5 | * | ||
6 | * Copyright 2006 Pavel Pisa <pisa@cmp.felk.cvut.cz> | ||
7 | * Copyright 2008 Juergen Beisert, <kernel@pengutronix.de> | ||
8 | * Copyright 2008 Sascha Hauer, <s.hauer@pengutronix.de> | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public License | ||
12 | * as published by the Free Software Foundation; either version 2 | ||
13 | * of the License, or (at your option) any later version. | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public License | ||
20 | * along with this program; if not, write to the Free Software | ||
21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, | ||
22 | * MA 02110-1301, USA. | ||
23 | */ | ||
24 | |||
25 | #include <asm/dma.h> | ||
26 | |||
27 | #ifndef __ASM_ARCH_MXC_DMA_H | ||
28 | #define __ASM_ARCH_MXC_DMA_H | ||
29 | |||
30 | #define IMX_DMA_CHANNELS 16 | ||
31 | |||
32 | #define DMA_BASE IO_ADDRESS(DMA_BASE_ADDR) | ||
33 | |||
34 | #define IMX_DMA_MEMSIZE_32 (0 << 4) | ||
35 | #define IMX_DMA_MEMSIZE_8 (1 << 4) | ||
36 | #define IMX_DMA_MEMSIZE_16 (2 << 4) | ||
37 | #define IMX_DMA_TYPE_LINEAR (0 << 10) | ||
38 | #define IMX_DMA_TYPE_2D (1 << 10) | ||
39 | #define IMX_DMA_TYPE_FIFO (2 << 10) | ||
40 | |||
41 | #define IMX_DMA_ERR_BURST (1 << 0) | ||
42 | #define IMX_DMA_ERR_REQUEST (1 << 1) | ||
43 | #define IMX_DMA_ERR_TRANSFER (1 << 2) | ||
44 | #define IMX_DMA_ERR_BUFFER (1 << 3) | ||
45 | #define IMX_DMA_ERR_TIMEOUT (1 << 4) | ||
46 | |||
47 | int | ||
48 | imx_dma_config_channel(int channel, unsigned int config_port, | ||
49 | unsigned int config_mem, unsigned int dmareq, int hw_chaining); | ||
50 | |||
51 | void | ||
52 | imx_dma_config_burstlen(int channel, unsigned int burstlen); | ||
53 | |||
54 | int | ||
55 | imx_dma_setup_single(int channel, dma_addr_t dma_address, | ||
56 | unsigned int dma_length, unsigned int dev_addr, | ||
57 | dmamode_t dmamode); | ||
58 | |||
59 | int | ||
60 | imx_dma_setup_sg(int channel, struct scatterlist *sg, | ||
61 | unsigned int sgcount, unsigned int dma_length, | ||
62 | unsigned int dev_addr, dmamode_t dmamode); | ||
63 | |||
64 | int | ||
65 | imx_dma_setup_handlers(int channel, | ||
66 | void (*irq_handler) (int, void *), | ||
67 | void (*err_handler) (int, void *, int), void *data); | ||
68 | |||
69 | int | ||
70 | imx_dma_setup_progression_handler(int channel, | ||
71 | void (*prog_handler) (int, void*, struct scatterlist*)); | ||
72 | |||
73 | void imx_dma_enable(int channel); | ||
74 | |||
75 | void imx_dma_disable(int channel); | ||
76 | |||
77 | int imx_dma_request(int channel, const char *name); | ||
78 | |||
79 | void imx_dma_free(int channel); | ||
80 | |||
81 | enum imx_dma_prio { | ||
82 | DMA_PRIO_HIGH = 0, | ||
83 | DMA_PRIO_MEDIUM = 1, | ||
84 | DMA_PRIO_LOW = 2 | ||
85 | }; | ||
86 | |||
87 | int imx_dma_request_by_prio(const char *name, enum imx_dma_prio prio); | ||
88 | |||
89 | #endif /* _ASM_ARCH_MXC_DMA_H */ | ||
diff --git a/arch/arm/plat-mxc/include/mach/entry-macro.S b/arch/arm/plat-mxc/include/mach/entry-macro.S index b542433afb1b..11632028f7d1 100644 --- a/arch/arm/plat-mxc/include/mach/entry-macro.S +++ b/arch/arm/plat-mxc/include/mach/entry-macro.S | |||
@@ -9,11 +9,17 @@ | |||
9 | * published by the Free Software Foundation. | 9 | * published by the Free Software Foundation. |
10 | */ | 10 | */ |
11 | 11 | ||
12 | #define AVIC_NIMASK 0x04 | ||
13 | |||
12 | @ this macro disables fast irq (not implemented) | 14 | @ this macro disables fast irq (not implemented) |
13 | .macro disable_fiq | 15 | .macro disable_fiq |
14 | .endm | 16 | .endm |
15 | 17 | ||
16 | .macro get_irqnr_preamble, base, tmp | 18 | .macro get_irqnr_preamble, base, tmp |
19 | ldr \base, =AVIC_IO_ADDRESS(AVIC_BASE_ADDR) | ||
20 | #ifdef CONFIG_MXC_IRQ_PRIOR | ||
21 | ldr r4, [\base, #AVIC_NIMASK] | ||
22 | #endif | ||
17 | .endm | 23 | .endm |
18 | 24 | ||
19 | .macro arch_ret_to_user, tmp1, tmp2 | 25 | .macro arch_ret_to_user, tmp1, tmp2 |
@@ -23,7 +29,6 @@ | |||
23 | @ and returns its number in irqnr | 29 | @ and returns its number in irqnr |
24 | @ and returns if an interrupt occured in irqstat | 30 | @ and returns if an interrupt occured in irqstat |
25 | .macro get_irqnr_and_base, irqnr, irqstat, base, tmp | 31 | .macro get_irqnr_and_base, irqnr, irqstat, base, tmp |
26 | ldr \base, =AVIC_IO_ADDRESS(AVIC_BASE_ADDR) | ||
27 | @ Load offset & priority of the highest priority | 32 | @ Load offset & priority of the highest priority |
28 | @ interrupt pending from AVIC_NIVECSR | 33 | @ interrupt pending from AVIC_NIVECSR |
29 | ldr \irqstat, [\base, #0x40] | 34 | ldr \irqstat, [\base, #0x40] |
@@ -32,6 +37,11 @@ | |||
32 | mov \irqnr, \irqstat, asr #16 | 37 | mov \irqnr, \irqstat, asr #16 |
33 | @ set zero flag if IRQ + 1 == 0 | 38 | @ set zero flag if IRQ + 1 == 0 |
34 | adds \tmp, \irqnr, #1 | 39 | adds \tmp, \irqnr, #1 |
40 | #ifdef CONFIG_MXC_IRQ_PRIOR | ||
41 | bicne \tmp, \irqstat, #0xFFFFFFE0 | ||
42 | strne \tmp, [\base, #AVIC_NIMASK] | ||
43 | streq r4, [\base, #AVIC_NIMASK] | ||
44 | #endif | ||
35 | .endm | 45 | .endm |
36 | 46 | ||
37 | @ irq priority table (not used) | 47 | @ irq priority table (not used) |
diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx1-mx2.h b/arch/arm/plat-mxc/include/mach/iomux-mx1-mx2.h index 076d37b38eb2..3d09bfd6c53d 100644 --- a/arch/arm/plat-mxc/include/mach/iomux-mx1-mx2.h +++ b/arch/arm/plat-mxc/include/mach/iomux-mx1-mx2.h | |||
@@ -247,6 +247,11 @@ extern int mxc_gpio_setup_multiple_pins(const int *pin_list, unsigned count, | |||
247 | #endif | 247 | #endif |
248 | 248 | ||
249 | #ifdef CONFIG_ARCH_MX2 | 249 | #ifdef CONFIG_ARCH_MX2 |
250 | #define PA0_PF_USBH2_CLK (GPIO_PORTA | GPIO_PF | 0) | ||
251 | #define PA1_PF_USBH2_DIR (GPIO_PORTA | GPIO_PF | 1) | ||
252 | #define PA2_PF_USBH2_DATA7 (GPIO_PORTA | GPIO_PF | 2) | ||
253 | #define PA3_PF_USBH2_NXT (GPIO_PORTA | GPIO_PF | 3) | ||
254 | #define PA4_PF_USBH2_STP (GPIO_PORTA | GPIO_PF | 4) | ||
250 | #define PA5_PF_LSCLK (GPIO_PORTA | GPIO_OUT | GPIO_PF | 5) | 255 | #define PA5_PF_LSCLK (GPIO_PORTA | GPIO_OUT | GPIO_PF | 5) |
251 | #define PA6_PF_LD0 (GPIO_PORTA | GPIO_OUT | GPIO_PF | 6) | 256 | #define PA6_PF_LD0 (GPIO_PORTA | GPIO_OUT | GPIO_PF | 6) |
252 | #define PA7_PF_LD1 (GPIO_PORTA | GPIO_OUT | GPIO_PF | 7) | 257 | #define PA7_PF_LD1 (GPIO_PORTA | GPIO_OUT | GPIO_PF | 7) |
@@ -294,6 +299,16 @@ extern int mxc_gpio_setup_multiple_pins(const int *pin_list, unsigned count, | |||
294 | #define PB20_AF_UART5_CTS (GPIO_PORTB | GPIO_OUT | GPIO_AF | 20) | 299 | #define PB20_AF_UART5_CTS (GPIO_PORTB | GPIO_OUT | GPIO_AF | 20) |
295 | #define PB21_PF_CSI_HSYNC (GPIO_PORTB | GPIO_OUT | GPIO_PF | 21) | 300 | #define PB21_PF_CSI_HSYNC (GPIO_PORTB | GPIO_OUT | GPIO_PF | 21) |
296 | #define PB21_AF_UART5_RTS (GPIO_PORTB | GPIO_IN | GPIO_AF | 21) | 301 | #define PB21_AF_UART5_RTS (GPIO_PORTB | GPIO_IN | GPIO_AF | 21) |
302 | #define PB22_PF_USBH1_SUSP (GPIO_PORTB | GPIO_PF | 22) | ||
303 | #define PB23_PF_USB_PWR (GPIO_PORTB | GPIO_PF | 23) | ||
304 | #define PB24_PF_USB_OC_B (GPIO_PORTB | GPIO_PF | 24) | ||
305 | #define PB25_PF_USBH1_RCV (GPIO_PORTB | GPIO_PF | 25) | ||
306 | #define PB26_PF_USBH1_FS (GPIO_PORTB | GPIO_PF | 26) | ||
307 | #define PB27_PF_USBH1_OE_B (GPIO_PORTB | GPIO_PF | 27) | ||
308 | #define PB28_PF_USBH1_TXDM (GPIO_PORTB | GPIO_PF | 28) | ||
309 | #define PB29_PF_USBH1_TXDP (GPIO_PORTB | GPIO_PF | 29) | ||
310 | #define PB30_PF_USBH1_RXDM (GPIO_PORTB | GPIO_PF | 30) | ||
311 | #define PB31_PF_USBH1_RXDP (GPIO_PORTB | GPIO_PF | 31) | ||
297 | #define PB26_AF_UART4_RTS (GPIO_PORTB | GPIO_IN | GPIO_PF | 26) | 312 | #define PB26_AF_UART4_RTS (GPIO_PORTB | GPIO_IN | GPIO_PF | 26) |
298 | #define PB28_AF_UART4_TXD (GPIO_PORTB | GPIO_OUT | GPIO_AF | 28) | 313 | #define PB28_AF_UART4_TXD (GPIO_PORTB | GPIO_OUT | GPIO_AF | 28) |
299 | #define PB29_AF_UART4_CTS (GPIO_PORTB | GPIO_OUT | GPIO_AF | 29) | 314 | #define PB29_AF_UART4_CTS (GPIO_PORTB | GPIO_OUT | GPIO_AF | 29) |
@@ -335,8 +350,15 @@ extern int mxc_gpio_setup_multiple_pins(const int *pin_list, unsigned count, | |||
335 | #define PD16_AIN_FEC_TX_ER (GPIO_PORTD | GPIO_OUT | GPIO_AIN | 16) | 350 | #define PD16_AIN_FEC_TX_ER (GPIO_PORTD | GPIO_OUT | GPIO_AIN | 16) |
336 | #define PD17_PF_I2C_DATA (GPIO_PORTD | GPIO_OUT | GPIO_PF | 17) | 351 | #define PD17_PF_I2C_DATA (GPIO_PORTD | GPIO_OUT | GPIO_PF | 17) |
337 | #define PD18_PF_I2C_CLK (GPIO_PORTD | GPIO_OUT | GPIO_PF | 18) | 352 | #define PD18_PF_I2C_CLK (GPIO_PORTD | GPIO_OUT | GPIO_PF | 18) |
353 | #define PD19_AF_USBH2_DATA4 (GPIO_PORTD | GPIO_AF | 19) | ||
354 | #define PD20_AF_USBH2_DATA3 (GPIO_PORTD | GPIO_AF | 20) | ||
355 | #define PD21_AF_USBH2_DATA6 (GPIO_PORTD | GPIO_AF | 21) | ||
356 | #define PD22_AF_USBH2_DATA0 (GPIO_PORTD | GPIO_AF | 22) | ||
357 | #define PD23_AF_USBH2_DATA2 (GPIO_PORTD | GPIO_AF | 23) | ||
358 | #define PD24_AF_USBH2_DATA1 (GPIO_PORTD | GPIO_AF | 24) | ||
338 | #define PD25_PF_CSPI1_RDY (GPIO_PORTD | GPIO_OUT | GPIO_PF | 25) | 359 | #define PD25_PF_CSPI1_RDY (GPIO_PORTD | GPIO_OUT | GPIO_PF | 25) |
339 | #define PD26_PF_CSPI1_SS2 (GPIO_PORTD | GPIO_OUT | GPIO_PF | 26) | 360 | #define PD26_PF_CSPI1_SS2 (GPIO_PORTD | GPIO_OUT | GPIO_PF | 26) |
361 | #define PD26_AF_USBH2_DATA5 (GPIO_PORTD | GPIO_AF | 26) | ||
340 | #define PD27_PF_CSPI1_SS1 (GPIO_PORTD | GPIO_OUT | GPIO_PF | 27) | 362 | #define PD27_PF_CSPI1_SS1 (GPIO_PORTD | GPIO_OUT | GPIO_PF | 27) |
341 | #define PD28_PF_CSPI1_SS0 (GPIO_PORTD | GPIO_OUT | GPIO_PF | 28) | 363 | #define PD28_PF_CSPI1_SS0 (GPIO_PORTD | GPIO_OUT | GPIO_PF | 28) |
342 | #define PD29_PF_CSPI1_SCLK (GPIO_PORTD | GPIO_OUT | GPIO_PF | 29) | 364 | #define PD29_PF_CSPI1_SCLK (GPIO_PORTD | GPIO_OUT | GPIO_PF | 29) |
@@ -355,6 +377,8 @@ extern int mxc_gpio_setup_multiple_pins(const int *pin_list, unsigned count, | |||
355 | #define PE13_PF_UART1_RXD (GPIO_PORTE | GPIO_IN | GPIO_PF | 13) | 377 | #define PE13_PF_UART1_RXD (GPIO_PORTE | GPIO_IN | GPIO_PF | 13) |
356 | #define PE14_PF_UART1_CTS (GPIO_PORTE | GPIO_OUT | GPIO_PF | 14) | 378 | #define PE14_PF_UART1_CTS (GPIO_PORTE | GPIO_OUT | GPIO_PF | 14) |
357 | #define PE15_PF_UART1_RTS (GPIO_PORTE | GPIO_IN | GPIO_PF | 15) | 379 | #define PE15_PF_UART1_RTS (GPIO_PORTE | GPIO_IN | GPIO_PF | 15) |
380 | #define PE16_AF_RTCK (GPIO_PORTE | GPIO_OUT | GPIO_AF | 16) | ||
381 | #define PE16_PF_RTCK (GPIO_PORTE | GPIO_OUT | GPIO_PF | 16) | ||
358 | #define PE18_AF_CSPI3_MISO (GPIO_PORTE | GPIO_IN | GPIO_AF | 18) | 382 | #define PE18_AF_CSPI3_MISO (GPIO_PORTE | GPIO_IN | GPIO_AF | 18) |
359 | #define PE21_AF_CSPI3_SS (GPIO_PORTE | GPIO_OUT | GPIO_AF | 21) | 383 | #define PE21_AF_CSPI3_SS (GPIO_PORTE | GPIO_OUT | GPIO_AF | 21) |
360 | #define PE22_AF_CSPI3_MOSI (GPIO_PORTE | GPIO_OUT | GPIO_AF | 22) | 384 | #define PE22_AF_CSPI3_MOSI (GPIO_PORTE | GPIO_OUT | GPIO_AF | 22) |
diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx3.h b/arch/arm/plat-mxc/include/mach/iomux-mx3.h index 7509e7692f08..c9f39c2fb8c6 100644 --- a/arch/arm/plat-mxc/include/mach/iomux-mx3.h +++ b/arch/arm/plat-mxc/include/mach/iomux-mx3.h | |||
@@ -491,6 +491,26 @@ enum iomux_pins { | |||
491 | #define MX31_PIN_RTS1__RTS1 IOMUX_MODE(MX31_PIN_RTS1, IOMUX_CONFIG_FUNC) | 491 | #define MX31_PIN_RTS1__RTS1 IOMUX_MODE(MX31_PIN_RTS1, IOMUX_CONFIG_FUNC) |
492 | #define MX31_PIN_TXD1__TXD1 IOMUX_MODE(MX31_PIN_TXD1, IOMUX_CONFIG_FUNC) | 492 | #define MX31_PIN_TXD1__TXD1 IOMUX_MODE(MX31_PIN_TXD1, IOMUX_CONFIG_FUNC) |
493 | #define MX31_PIN_RXD1__RXD1 IOMUX_MODE(MX31_PIN_RXD1, IOMUX_CONFIG_FUNC) | 493 | #define MX31_PIN_RXD1__RXD1 IOMUX_MODE(MX31_PIN_RXD1, IOMUX_CONFIG_FUNC) |
494 | #define MX31_PIN_CSPI1_MOSI__MOSI IOMUX_MODE(MX31_PIN_CSPI1_MOSI, IOMUX_CONFIG_FUNC) | ||
495 | #define MX31_PIN_CSPI1_MISO__MISO IOMUX_MODE(MX31_PIN_CSPI1_MISO, IOMUX_CONFIG_FUNC) | ||
496 | #define MX31_PIN_CSPI1_SCLK__SCLK IOMUX_MODE(MX31_PIN_CSPI1_SCLK, IOMUX_CONFIG_FUNC) | ||
497 | #define MX31_PIN_CSPI1_SPI_RDY__SPI_RDY IOMUX_MODE(MX31_PIN_CSPI1_SPI_RDY, IOMUX_CONFIG_FUNC) | ||
498 | #define MX31_PIN_CSPI1_SS0__SS0 IOMUX_MODE(MX31_PIN_CSPI1_SS0, IOMUX_CONFIG_FUNC) | ||
499 | #define MX31_PIN_CSPI1_SS1__SS1 IOMUX_MODE(MX31_PIN_CSPI1_SS1, IOMUX_CONFIG_FUNC) | ||
500 | #define MX31_PIN_CSPI1_SS2__SS2 IOMUX_MODE(MX31_PIN_CSPI1_SS2, IOMUX_CONFIG_FUNC) | ||
501 | #define MX31_PIN_CSPI2_MOSI__MOSI IOMUX_MODE(MX31_PIN_CSPI2_MOSI, IOMUX_CONFIG_FUNC) | ||
502 | #define MX31_PIN_CSPI2_MISO__MISO IOMUX_MODE(MX31_PIN_CSPI2_MISO, IOMUX_CONFIG_FUNC) | ||
503 | #define MX31_PIN_CSPI2_SCLK__SCLK IOMUX_MODE(MX31_PIN_CSPI2_SCLK, IOMUX_CONFIG_FUNC) | ||
504 | #define MX31_PIN_CSPI2_SPI_RDY__SPI_RDY IOMUX_MODE(MX31_PIN_CSPI2_SPI_RDY, IOMUX_CONFIG_FUNC) | ||
505 | #define MX31_PIN_CSPI2_SS0__SS0 IOMUX_MODE(MX31_PIN_CSPI2_SS0, IOMUX_CONFIG_FUNC) | ||
506 | #define MX31_PIN_CSPI2_SS1__SS1 IOMUX_MODE(MX31_PIN_CSPI2_SS1, IOMUX_CONFIG_FUNC) | ||
507 | #define MX31_PIN_CSPI2_SS2__SS2 IOMUX_MODE(MX31_PIN_CSPI2_SS2, IOMUX_CONFIG_FUNC) | ||
508 | #define MX31_PIN_CSPI3_MOSI__MOSI IOMUX_MODE(MX31_PIN_CSPI3_MOSI, IOMUX_CONFIG_FUNC) | ||
509 | #define MX31_PIN_CSPI3_MISO__MISO IOMUX_MODE(MX31_PIN_CSPI3_MISO, IOMUX_CONFIG_FUNC) | ||
510 | #define MX31_PIN_CSPI3_SCLK__SCLK IOMUX_MODE(MX31_PIN_CSPI3_SCLK, IOMUX_CONFIG_FUNC) | ||
511 | #define MX31_PIN_CSPI3_SPI_RDY__SPI_RDY IOMUX_MODE(MX31_PIN_CSPI3_SPI_RDY, IOMUX_CONFIG_FUNC) | ||
512 | /*XXX: The SS0, SS1, SS2, SS3 lines of spi3 are multiplexed by cspi2_ss0, cspi2_ss1, cspi1_ss0 | ||
513 | * cspi1_ss1*/ | ||
494 | 514 | ||
495 | /* | 515 | /* |
496 | * This function configures the pad value for a IOMUX pin. | 516 | * This function configures the pad value for a IOMUX pin. |
diff --git a/arch/arm/plat-mxc/include/mach/irqs.h b/arch/arm/plat-mxc/include/mach/irqs.h index 228c4f68ccdf..b55bba35e18a 100644 --- a/arch/arm/plat-mxc/include/mach/irqs.h +++ b/arch/arm/plat-mxc/include/mach/irqs.h | |||
@@ -12,5 +12,6 @@ | |||
12 | #define __ASM_ARCH_MXC_IRQS_H__ | 12 | #define __ASM_ARCH_MXC_IRQS_H__ |
13 | 13 | ||
14 | #include <mach/hardware.h> | 14 | #include <mach/hardware.h> |
15 | extern void imx_irq_set_priority(unsigned char irq, unsigned char prio); | ||
15 | 16 | ||
16 | #endif /* __ASM_ARCH_MXC_IRQS_H__ */ | 17 | #endif /* __ASM_ARCH_MXC_IRQS_H__ */ |
diff --git a/arch/arm/plat-mxc/include/mach/mx27.h b/arch/arm/plat-mxc/include/mach/mx27.h index 212ecc246626..a86db64744a1 100644 --- a/arch/arm/plat-mxc/include/mach/mx27.h +++ b/arch/arm/plat-mxc/include/mach/mx27.h | |||
@@ -128,6 +128,7 @@ | |||
128 | * it returns 0xDEADBEEF | 128 | * it returns 0xDEADBEEF |
129 | */ | 129 | */ |
130 | #define IO_ADDRESS(x) \ | 130 | #define IO_ADDRESS(x) \ |
131 | (void __iomem *) \ | ||
131 | (((x >= AIPI_BASE_ADDR) && (x < (AIPI_BASE_ADDR + AIPI_SIZE))) ? \ | 132 | (((x >= AIPI_BASE_ADDR) && (x < (AIPI_BASE_ADDR + AIPI_SIZE))) ? \ |
132 | AIPI_IO_ADDRESS(x) : \ | 133 | AIPI_IO_ADDRESS(x) : \ |
133 | ((x >= SAHB1_BASE_ADDR) && (x < (SAHB1_BASE_ADDR + SAHB1_SIZE))) ? \ | 134 | ((x >= SAHB1_BASE_ADDR) && (x < (SAHB1_BASE_ADDR + SAHB1_SIZE))) ? \ |
diff --git a/arch/arm/plat-mxc/include/mach/mx31.h b/arch/arm/plat-mxc/include/mach/mx31.h index a7373e4a56cb..0536f8917bc0 100644 --- a/arch/arm/plat-mxc/include/mach/mx31.h +++ b/arch/arm/plat-mxc/include/mach/mx31.h | |||
@@ -198,6 +198,7 @@ | |||
198 | * it returns 0xDEADBEEF | 198 | * it returns 0xDEADBEEF |
199 | */ | 199 | */ |
200 | #define IO_ADDRESS(x) \ | 200 | #define IO_ADDRESS(x) \ |
201 | (void __iomem *) \ | ||
201 | (((x >= IRAM_BASE_ADDR) && (x < (IRAM_BASE_ADDR + IRAM_SIZE))) ? IRAM_IO_ADDRESS(x):\ | 202 | (((x >= IRAM_BASE_ADDR) && (x < (IRAM_BASE_ADDR + IRAM_SIZE))) ? IRAM_IO_ADDRESS(x):\ |
202 | ((x >= L2CC_BASE_ADDR) && (x < (L2CC_BASE_ADDR + L2CC_SIZE))) ? L2CC_IO_ADDRESS(x):\ | 203 | ((x >= L2CC_BASE_ADDR) && (x < (L2CC_BASE_ADDR + L2CC_SIZE))) ? L2CC_IO_ADDRESS(x):\ |
203 | ((x >= AIPS1_BASE_ADDR) && (x < (AIPS1_BASE_ADDR + AIPS1_SIZE))) ? AIPS1_IO_ADDRESS(x):\ | 204 | ((x >= AIPS1_BASE_ADDR) && (x < (AIPS1_BASE_ADDR + AIPS1_SIZE))) ? AIPS1_IO_ADDRESS(x):\ |
diff --git a/arch/arm/plat-mxc/include/mach/mxc.h b/arch/arm/plat-mxc/include/mach/mxc.h index 332eda4dbd3b..f6caab062131 100644 --- a/arch/arm/plat-mxc/include/mach/mxc.h +++ b/arch/arm/plat-mxc/include/mach/mxc.h | |||
@@ -33,4 +33,10 @@ | |||
33 | # define cpu_is_mx27() (0) | 33 | # define cpu_is_mx27() (0) |
34 | #endif | 34 | #endif |
35 | 35 | ||
36 | #if defined(CONFIG_ARCH_MX3) || defined(CONFIG_ARCH_MX2) | ||
37 | #define CSCR_U(n) (IO_ADDRESS(WEIM_BASE_ADDR) + n * 0x10) | ||
38 | #define CSCR_L(n) (IO_ADDRESS(WEIM_BASE_ADDR) + n * 0x10 + 0x4) | ||
39 | #define CSCR_A(n) (IO_ADDRESS(WEIM_BASE_ADDR) + n * 0x10 + 0x8) | ||
40 | #endif | ||
41 | |||
36 | #endif /* __ASM_ARCH_MXC_H__ */ | 42 | #endif /* __ASM_ARCH_MXC_H__ */ |