diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-12-30 20:36:49 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-12-30 20:36:49 -0500 |
commit | 14a3c4ab0e58d143c7928c9eb2f2610205e13bf2 (patch) | |
tree | 885992999d7a1a2fd3586efcf32ebcbcbc3a72aa /arch/arm/plat-mxc/include | |
parent | 1af237a099a3b8ff56aa384f605c6a68af7bf288 (diff) | |
parent | 47992cbdaef2f18a47871b2ed01ad27f568c8b73 (diff) |
Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (407 commits)
[ARM] pxafb: add support for overlay1 and overlay2 as framebuffer devices
[ARM] pxafb: cleanup of the timing checking code
[ARM] pxafb: cleanup of the color format manipulation code
[ARM] pxafb: add palette format support for LCCR4_PAL_FOR_3
[ARM] pxafb: add support for FBIOPAN_DISPLAY by dma braching
[ARM] pxafb: allow pxafb_set_par() to start from arbitrary yoffset
[ARM] pxafb: allow video memory size to be configurable
[ARM] pxa: add document on the MFP design and how to use it
[ARM] sa1100_wdt: don't assume CLOCK_TICK_RATE to be a constant
[ARM] rtc-sa1100: don't assume CLOCK_TICK_RATE to be a constant
[ARM] pxa/tavorevb: update board support (smartpanel LCD + keypad)
[ARM] pxa: Update eseries defconfig
[ARM] 5352/1: add w90p910-plat config file
[ARM] s3c: S3C options should depend on PLAT_S3C
[ARM] mv78xx0: implement GPIO and GPIO interrupt support
[ARM] Kirkwood: implement GPIO and GPIO interrupt support
[ARM] Orion: share GPIO IRQ handling code
[ARM] Orion: share GPIO handling code
[ARM] s3c: define __io using the typesafe version
[ARM] S3C64XX: Ensure CPU_V6 is selected
...
Diffstat (limited to 'arch/arm/plat-mxc/include')
20 files changed, 375 insertions, 114 deletions
diff --git a/arch/arm/plat-mxc/include/mach/board-mx27ads.h b/arch/arm/plat-mxc/include/mach/board-mx27ads.h index 61e66dac90ef..8f34a05afc87 100644 --- a/arch/arm/plat-mxc/include/mach/board-mx27ads.h +++ b/arch/arm/plat-mxc/include/mach/board-mx27ads.h | |||
@@ -15,7 +15,7 @@ | |||
15 | #define __ASM_ARCH_MXC_BOARD_MX27ADS_H__ | 15 | #define __ASM_ARCH_MXC_BOARD_MX27ADS_H__ |
16 | 16 | ||
17 | /* external interrupt multiplexer */ | 17 | /* external interrupt multiplexer */ |
18 | #define MXC_EXP_IO_BASE (MXC_GPIO_BASE + MXC_MAX_GPIO_LINES) | 18 | #define MXC_EXP_IO_BASE (MXC_BOARD_IRQ_START) |
19 | 19 | ||
20 | #define MXC_VIRTUAL_INTS_BASE (MXC_EXP_IO_BASE + MXC_MAX_EXP_IO_LINES) | 20 | #define MXC_VIRTUAL_INTS_BASE (MXC_EXP_IO_BASE + MXC_MAX_EXP_IO_LINES) |
21 | #define MXC_SDIO1_CARD_IRQ MXC_VIRTUAL_INTS_BASE | 21 | #define MXC_SDIO1_CARD_IRQ MXC_VIRTUAL_INTS_BASE |
@@ -28,11 +28,6 @@ | |||
28 | /* | 28 | /* |
29 | * MXC UART EVB board level configurations | 29 | * MXC UART EVB board level configurations |
30 | */ | 30 | */ |
31 | |||
32 | #define MXC_LL_EXTUART_PADDR (CS4_BASE_ADDR + 0x20000) | ||
33 | #define MXC_LL_EXTUART_VADDR (CS4_BASE_ADDR_VIRT + 0x20000) | ||
34 | #define MXC_LL_EXTUART_16BIT_BUS | ||
35 | |||
36 | #define MXC_LL_UART_PADDR UART1_BASE_ADDR | 31 | #define MXC_LL_UART_PADDR UART1_BASE_ADDR |
37 | #define MXC_LL_UART_VADDR AIPI_IO_ADDRESS(UART1_BASE_ADDR) | 32 | #define MXC_LL_UART_VADDR AIPI_IO_ADDRESS(UART1_BASE_ADDR) |
38 | 33 | ||
diff --git a/arch/arm/plat-mxc/include/mach/board-mx31ads.h b/arch/arm/plat-mxc/include/mach/board-mx31ads.h index 745b48864f93..451d510d08c3 100644 --- a/arch/arm/plat-mxc/include/mach/board-mx31ads.h +++ b/arch/arm/plat-mxc/include/mach/board-mx31ads.h | |||
@@ -90,7 +90,7 @@ | |||
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) | 93 | #define MXC_EXP_IO_BASE (MXC_BOARD_IRQ_START) |
94 | #define MXC_IRQ_TO_EXPIO(irq) ((irq) - MXC_EXP_IO_BASE) | 94 | #define MXC_IRQ_TO_EXPIO(irq) ((irq) - MXC_EXP_IO_BASE) |
95 | 95 | ||
96 | #define EXPIO_INT_LOW_BAT (MXC_EXP_IO_BASE + 0) | 96 | #define EXPIO_INT_LOW_BAT (MXC_EXP_IO_BASE + 0) |
diff --git a/arch/arm/plat-mxc/include/mach/board-mx31pdk.h b/arch/arm/plat-mxc/include/mach/board-mx31pdk.h new file mode 100644 index 000000000000..2b6b316d0f51 --- /dev/null +++ b/arch/arm/plat-mxc/include/mach/board-mx31pdk.h | |||
@@ -0,0 +1,19 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Freescale Semiconductor, Inc. All Rights Reserved. | ||
3 | */ | ||
4 | |||
5 | /* | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | #ifndef __ASM_ARCH_MXC_BOARD_MX31PDK_H__ | ||
12 | #define __ASM_ARCH_MXC_BOARD_MX31PDK_H__ | ||
13 | |||
14 | /* mandatory for CONFIG_LL_DEBUG */ | ||
15 | |||
16 | #define MXC_LL_UART_PADDR UART1_BASE_ADDR | ||
17 | #define MXC_LL_UART_VADDR AIPS1_IO_ADDRESS(UART1_BASE_ADDR) | ||
18 | |||
19 | #endif /* __ASM_ARCH_MXC_BOARD_MX31PDK_H__ */ | ||
diff --git a/arch/arm/plat-mxc/include/mach/debug-macro.S b/arch/arm/plat-mxc/include/mach/debug-macro.S index b9907bebba3b..602768b427e2 100644 --- a/arch/arm/plat-mxc/include/mach/debug-macro.S +++ b/arch/arm/plat-mxc/include/mach/debug-macro.S | |||
@@ -28,6 +28,9 @@ | |||
28 | #ifdef CONFIG_MACH_PCM038 | 28 | #ifdef CONFIG_MACH_PCM038 |
29 | #include <mach/board-pcm038.h> | 29 | #include <mach/board-pcm038.h> |
30 | #endif | 30 | #endif |
31 | #ifdef CONFIG_MACH_MX31_3DS | ||
32 | #include <mach/board-mx31pdk.h> | ||
33 | #endif | ||
31 | .macro addruart,rx | 34 | .macro addruart,rx |
32 | mrc p15, 0, \rx, c1, c0 | 35 | mrc p15, 0, \rx, c1, c0 |
33 | tst \rx, #1 @ MMU enabled? | 36 | tst \rx, #1 @ MMU enabled? |
diff --git a/arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h b/arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h index e85fd946116c..b3876cc238ca 100644 --- a/arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h +++ b/arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h | |||
@@ -22,13 +22,15 @@ | |||
22 | * MA 02110-1301, USA. | 22 | * MA 02110-1301, USA. |
23 | */ | 23 | */ |
24 | 24 | ||
25 | #include <asm/dma.h> | ||
26 | |||
27 | #ifndef __ASM_ARCH_MXC_DMA_H | 25 | #ifndef __ASM_ARCH_MXC_DMA_H |
28 | #define __ASM_ARCH_MXC_DMA_H | 26 | #define __ASM_ARCH_MXC_DMA_H |
29 | 27 | ||
30 | #define IMX_DMA_CHANNELS 16 | 28 | #define IMX_DMA_CHANNELS 16 |
31 | 29 | ||
30 | #define DMA_MODE_READ 0 | ||
31 | #define DMA_MODE_WRITE 1 | ||
32 | #define DMA_MODE_MASK 1 | ||
33 | |||
32 | #define DMA_BASE IO_ADDRESS(DMA_BASE_ADDR) | 34 | #define DMA_BASE IO_ADDRESS(DMA_BASE_ADDR) |
33 | 35 | ||
34 | #define IMX_DMA_MEMSIZE_32 (0 << 4) | 36 | #define IMX_DMA_MEMSIZE_32 (0 << 4) |
@@ -54,12 +56,12 @@ imx_dma_config_burstlen(int channel, unsigned int burstlen); | |||
54 | int | 56 | int |
55 | imx_dma_setup_single(int channel, dma_addr_t dma_address, | 57 | imx_dma_setup_single(int channel, dma_addr_t dma_address, |
56 | unsigned int dma_length, unsigned int dev_addr, | 58 | unsigned int dma_length, unsigned int dev_addr, |
57 | dmamode_t dmamode); | 59 | unsigned int dmamode); |
58 | 60 | ||
59 | int | 61 | int |
60 | imx_dma_setup_sg(int channel, struct scatterlist *sg, | 62 | imx_dma_setup_sg(int channel, struct scatterlist *sg, |
61 | unsigned int sgcount, unsigned int dma_length, | 63 | unsigned int sgcount, unsigned int dma_length, |
62 | unsigned int dev_addr, dmamode_t dmamode); | 64 | unsigned int dev_addr, unsigned int dmamode); |
63 | 65 | ||
64 | int | 66 | int |
65 | imx_dma_setup_handlers(int channel, | 67 | imx_dma_setup_handlers(int channel, |
diff --git a/arch/arm/plat-mxc/include/mach/dma.h b/arch/arm/plat-mxc/include/mach/dma.h deleted file mode 100644 index c822d569a05e..000000000000 --- a/arch/arm/plat-mxc/include/mach/dma.h +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. | ||
3 | */ | ||
4 | |||
5 | /* | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | #ifndef __ASM_ARCH_MXC_DMA_H__ | ||
12 | #define __ASM_ARCH_MXC_DMA_H__ | ||
13 | |||
14 | #endif | ||
diff --git a/arch/arm/plat-mxc/include/mach/entry-macro.S b/arch/arm/plat-mxc/include/mach/entry-macro.S index 11632028f7d1..5f01d60da845 100644 --- a/arch/arm/plat-mxc/include/mach/entry-macro.S +++ b/arch/arm/plat-mxc/include/mach/entry-macro.S | |||
@@ -9,6 +9,8 @@ | |||
9 | * published by the Free Software Foundation. | 9 | * published by the Free Software Foundation. |
10 | */ | 10 | */ |
11 | 11 | ||
12 | #include <mach/hardware.h> | ||
13 | |||
12 | #define AVIC_NIMASK 0x04 | 14 | #define AVIC_NIMASK 0x04 |
13 | 15 | ||
14 | @ this macro disables fast irq (not implemented) | 16 | @ this macro disables fast irq (not implemented) |
diff --git a/arch/arm/plat-mxc/include/mach/gpio.h b/arch/arm/plat-mxc/include/mach/gpio.h index 65eedc0d196f..ea509f1090fb 100644 --- a/arch/arm/plat-mxc/include/mach/gpio.h +++ b/arch/arm/plat-mxc/include/mach/gpio.h | |||
@@ -27,8 +27,8 @@ | |||
27 | #define gpio_set_value __gpio_set_value | 27 | #define gpio_set_value __gpio_set_value |
28 | #define gpio_cansleep __gpio_cansleep | 28 | #define gpio_cansleep __gpio_cansleep |
29 | 29 | ||
30 | #define gpio_to_irq(gpio) (MXC_MAX_INT_LINES + (gpio)) | 30 | #define gpio_to_irq(gpio) (MXC_GPIO_IRQ_START + (gpio)) |
31 | #define irq_to_gpio(irq) ((irq) - MXC_MAX_INT_LINES) | 31 | #define irq_to_gpio(irq) ((irq) - MXC_GPIO_IRQ_START) |
32 | 32 | ||
33 | struct mxc_gpio_port { | 33 | struct mxc_gpio_port { |
34 | void __iomem *base; | 34 | void __iomem *base; |
diff --git a/arch/arm/plat-mxc/include/mach/hardware.h b/arch/arm/plat-mxc/include/mach/hardware.h index 3caadeeda701..a612d8bb73c8 100644 --- a/arch/arm/plat-mxc/include/mach/hardware.h +++ b/arch/arm/plat-mxc/include/mach/hardware.h | |||
@@ -32,6 +32,10 @@ | |||
32 | # endif | 32 | # endif |
33 | #endif | 33 | #endif |
34 | 34 | ||
35 | #ifdef CONFIG_ARCH_MX1 | ||
36 | # include <mach/mx1.h> | ||
37 | #endif | ||
38 | |||
35 | #include <mach/mxc.h> | 39 | #include <mach/mxc.h> |
36 | 40 | ||
37 | #endif /* __ASM_ARCH_MXC_HARDWARE_H__ */ | 41 | #endif /* __ASM_ARCH_MXC_HARDWARE_H__ */ |
diff --git a/arch/arm/plat-mxc/include/mach/io.h b/arch/arm/plat-mxc/include/mach/io.h index 5d4cb1196441..b4f2de769466 100644 --- a/arch/arm/plat-mxc/include/mach/io.h +++ b/arch/arm/plat-mxc/include/mach/io.h | |||
@@ -25,8 +25,8 @@ __mx3_ioremap(unsigned long phys_addr, size_t size, unsigned int mtype) | |||
25 | /* Access all peripherals below 0x80000000 as nonshared device | 25 | /* Access all peripherals below 0x80000000 as nonshared device |
26 | * but leave l2cc alone. | 26 | * but leave l2cc alone. |
27 | */ | 27 | */ |
28 | if ((phys_addr < 0x80000000) && ((phys_addr < L2CC_BASE_ADDR) || | 28 | if ((phys_addr < 0x80000000) && ((phys_addr < 0x30000000) || |
29 | (phys_addr >= L2CC_BASE_ADDR + L2CC_SIZE))) | 29 | (phys_addr >= 0x30000000 + SZ_1M))) |
30 | mtype = MT_DEVICE_NONSHARED; | 30 | mtype = MT_DEVICE_NONSHARED; |
31 | } | 31 | } |
32 | 32 | ||
@@ -35,8 +35,8 @@ __mx3_ioremap(unsigned long phys_addr, size_t size, unsigned int mtype) | |||
35 | #endif | 35 | #endif |
36 | 36 | ||
37 | /* io address mapping macro */ | 37 | /* io address mapping macro */ |
38 | #define __io(a) ((void __iomem *)(a)) | 38 | #define __io(a) __typesafe_io(a) |
39 | 39 | ||
40 | #define __mem_pci(a) (a) | 40 | #define __mem_pci(a) (a) |
41 | 41 | ||
42 | #endif | 42 | #endif |
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 3d09bfd6c53d..95a383be628e 100644 --- a/arch/arm/plat-mxc/include/mach/iomux-mx1-mx2.h +++ b/arch/arm/plat-mxc/include/mach/iomux-mx1-mx2.h | |||
@@ -21,12 +21,6 @@ | |||
21 | 21 | ||
22 | #include <linux/io.h> | 22 | #include <linux/io.h> |
23 | 23 | ||
24 | #define MXC_GPIO_ALLOC_MODE_NORMAL 0 | ||
25 | #define MXC_GPIO_ALLOC_MODE_NO_ALLOC 1 | ||
26 | #define MXC_GPIO_ALLOC_MODE_TRY_ALLOC 2 | ||
27 | #define MXC_GPIO_ALLOC_MODE_ALLOC_ONLY 4 | ||
28 | #define MXC_GPIO_ALLOC_MODE_RELEASE 8 | ||
29 | |||
30 | /* | 24 | /* |
31 | * GPIO Module and I/O Multiplexer | 25 | * GPIO Module and I/O Multiplexer |
32 | * x = 0..3 for reg_A, reg_B, reg_C, reg_D | 26 | * x = 0..3 for reg_A, reg_B, reg_C, reg_D |
@@ -103,7 +97,8 @@ | |||
103 | 97 | ||
104 | extern void mxc_gpio_mode(int gpio_mode); | 98 | extern void mxc_gpio_mode(int gpio_mode); |
105 | extern int mxc_gpio_setup_multiple_pins(const int *pin_list, unsigned count, | 99 | extern int mxc_gpio_setup_multiple_pins(const int *pin_list, unsigned count, |
106 | int alloc_mode, const char *label); | 100 | const char *label); |
101 | extern void mxc_gpio_release_multiple_pins(const int *pin_list, int count); | ||
107 | 102 | ||
108 | /*-------------------------------------------------------------------------*/ | 103 | /*-------------------------------------------------------------------------*/ |
109 | 104 | ||
@@ -113,9 +108,9 @@ extern int mxc_gpio_setup_multiple_pins(const int *pin_list, unsigned count, | |||
113 | * missing on some (many) pins | 108 | * missing on some (many) pins |
114 | */ | 109 | */ |
115 | #ifdef CONFIG_ARCH_MX1 | 110 | #ifdef CONFIG_ARCH_MX1 |
116 | #define PA0_AIN_SPI2_CLK (GPIO_GIUS | GPIO_PORTA | GPIO_OUT | 0) | 111 | #define PA0_AIN_SPI2_CLK (GPIO_PORTA | GPIO_OUT | 0) |
117 | #define PA0_AF_ETMTRACESYNC (GPIO_PORTA | GPIO_AF | 0) | 112 | #define PA0_AF_ETMTRACESYNC (GPIO_PORTA | GPIO_AF | 0) |
118 | #define PA1_AOUT_SPI2_RXD (GPIO_GIUS | GPIO_PORTA | GPIO_IN | 1) | 113 | #define PA1_AOUT_SPI2_RXD (GPIO_PORTA | GPIO_IN | 1) |
119 | #define PA1_PF_TIN (GPIO_PORTA | GPIO_PF | 1) | 114 | #define PA1_PF_TIN (GPIO_PORTA | GPIO_PF | 1) |
120 | #define PA2_PF_PWM0 (GPIO_PORTA | GPIO_OUT | GPIO_PF | 2) | 115 | #define PA2_PF_PWM0 (GPIO_PORTA | GPIO_OUT | GPIO_PF | 2) |
121 | #define PA3_PF_CSI_MCLK (GPIO_PORTA | GPIO_PF | 3) | 116 | #define PA3_PF_CSI_MCLK (GPIO_PORTA | GPIO_PF | 3) |
@@ -133,7 +128,7 @@ extern int mxc_gpio_setup_multiple_pins(const int *pin_list, unsigned count, | |||
133 | #define PA15_PF_I2C_SDA (GPIO_PORTA | GPIO_OUT | GPIO_PF | 15) | 128 | #define PA15_PF_I2C_SDA (GPIO_PORTA | GPIO_OUT | GPIO_PF | 15) |
134 | #define PA16_PF_I2C_SCL (GPIO_PORTA | GPIO_OUT | GPIO_PF | 16) | 129 | #define PA16_PF_I2C_SCL (GPIO_PORTA | GPIO_OUT | GPIO_PF | 16) |
135 | #define PA17_AF_ETMTRACEPKT4 (GPIO_PORTA | GPIO_AF | 17) | 130 | #define PA17_AF_ETMTRACEPKT4 (GPIO_PORTA | GPIO_AF | 17) |
136 | #define PA17_AIN_SPI2_SS (GPIO_GIUS | GPIO_PORTA | GPIO_OUT | 17) | 131 | #define PA17_AIN_SPI2_SS (GPIO_PORTA | GPIO_OUT | 17) |
137 | #define PA18_AF_ETMTRACEPKT5 (GPIO_PORTA | GPIO_AF | 18) | 132 | #define PA18_AF_ETMTRACEPKT5 (GPIO_PORTA | GPIO_AF | 18) |
138 | #define PA19_AF_ETMTRACEPKT6 (GPIO_PORTA | GPIO_AF | 19) | 133 | #define PA19_AF_ETMTRACEPKT6 (GPIO_PORTA | GPIO_AF | 19) |
139 | #define PA20_AF_ETMTRACEPKT7 (GPIO_PORTA | GPIO_AF | 20) | 134 | #define PA20_AF_ETMTRACEPKT7 (GPIO_PORTA | GPIO_AF | 20) |
@@ -201,27 +196,27 @@ extern int mxc_gpio_setup_multiple_pins(const int *pin_list, unsigned count, | |||
201 | #define PC15_PF_SPI1_SS (GPIO_PORTC | GPIO_PF | 15) | 196 | #define PC15_PF_SPI1_SS (GPIO_PORTC | GPIO_PF | 15) |
202 | #define PC16_PF_SPI1_MISO (GPIO_PORTC | GPIO_PF | 16) | 197 | #define PC16_PF_SPI1_MISO (GPIO_PORTC | GPIO_PF | 16) |
203 | #define PC17_PF_SPI1_MOSI (GPIO_PORTC | GPIO_PF | 17) | 198 | #define PC17_PF_SPI1_MOSI (GPIO_PORTC | GPIO_PF | 17) |
204 | #define PC24_BIN_UART3_RI (GPIO_GIUS | GPIO_PORTC | GPIO_OUT | GPIO_BIN | 24) | 199 | #define PC24_BIN_UART3_RI (GPIO_PORTC | GPIO_OUT | GPIO_BIN | 24) |
205 | #define PC25_BIN_UART3_DSR (GPIO_GIUS | GPIO_PORTC | GPIO_OUT | GPIO_BIN | 25) | 200 | #define PC25_BIN_UART3_DSR (GPIO_PORTC | GPIO_OUT | GPIO_BIN | 25) |
206 | #define PC26_AOUT_UART3_DTR (GPIO_GIUS | GPIO_PORTC | GPIO_IN | 26) | 201 | #define PC26_AOUT_UART3_DTR (GPIO_PORTC | GPIO_IN | 26) |
207 | #define PC27_BIN_UART3_DCD (GPIO_GIUS | GPIO_PORTC | GPIO_OUT | GPIO_BIN | 27) | 202 | #define PC27_BIN_UART3_DCD (GPIO_PORTC | GPIO_OUT | GPIO_BIN | 27) |
208 | #define PC28_BIN_UART3_CTS (GPIO_GIUS | GPIO_PORTC | GPIO_OUT | GPIO_BIN | 28) | 203 | #define PC28_BIN_UART3_CTS (GPIO_PORTC | GPIO_OUT | GPIO_BIN | 28) |
209 | #define PC29_AOUT_UART3_RTS (GPIO_GIUS | GPIO_PORTC | GPIO_IN | 29) | 204 | #define PC29_AOUT_UART3_RTS (GPIO_PORTC | GPIO_IN | 29) |
210 | #define PC30_BIN_UART3_TX (GPIO_GIUS | GPIO_PORTC | GPIO_BIN | 30) | 205 | #define PC30_BIN_UART3_TX (GPIO_PORTC | GPIO_BIN | 30) |
211 | #define PC31_AOUT_UART3_RX (GPIO_GIUS | GPIO_PORTC | GPIO_IN | 31) | 206 | #define PC31_AOUT_UART3_RX (GPIO_PORTC | GPIO_IN | 31) |
212 | #define PD6_PF_LSCLK (GPIO_PORTD | GPIO_OUT | GPIO_PF | 6) | 207 | #define PD6_PF_LSCLK (GPIO_PORTD | GPIO_OUT | GPIO_PF | 6) |
213 | #define PD7_PF_REV (GPIO_PORTD | GPIO_PF | 7) | 208 | #define PD7_PF_REV (GPIO_PORTD | GPIO_PF | 7) |
214 | #define PD7_AF_UART2_DTR (GPIO_GIUS | GPIO_PORTD | GPIO_IN | GPIO_AF | 7) | 209 | #define PD7_AF_UART2_DTR (GPIO_PORTD | GPIO_IN | GPIO_AF | 7) |
215 | #define PD7_AIN_SPI2_SCLK (GPIO_GIUS | GPIO_PORTD | GPIO_AIN | 7) | 210 | #define PD7_AIN_SPI2_SCLK (GPIO_PORTD | GPIO_AIN | 7) |
216 | #define PD8_PF_CLS (GPIO_PORTD | GPIO_PF | 8) | 211 | #define PD8_PF_CLS (GPIO_PORTD | GPIO_PF | 8) |
217 | #define PD8_AF_UART2_DCD (GPIO_PORTD | GPIO_OUT | GPIO_AF | 8) | 212 | #define PD8_AF_UART2_DCD (GPIO_PORTD | GPIO_OUT | GPIO_AF | 8) |
218 | #define PD8_AIN_SPI2_SS (GPIO_GIUS | GPIO_PORTD | GPIO_AIN | 8) | 213 | #define PD8_AIN_SPI2_SS (GPIO_PORTD | GPIO_AIN | 8) |
219 | #define PD9_PF_PS (GPIO_PORTD | GPIO_PF | 9) | 214 | #define PD9_PF_PS (GPIO_PORTD | GPIO_PF | 9) |
220 | #define PD9_AF_UART2_RI (GPIO_PORTD | GPIO_OUT | GPIO_AF | 9) | 215 | #define PD9_AF_UART2_RI (GPIO_PORTD | GPIO_OUT | GPIO_AF | 9) |
221 | #define PD9_AOUT_SPI2_RXD (GPIO_GIUS | GPIO_PORTD | GPIO_IN | 9) | 216 | #define PD9_AOUT_SPI2_RXD (GPIO_PORTD | GPIO_IN | 9) |
222 | #define PD10_PF_SPL_SPR (GPIO_PORTD | GPIO_OUT | GPIO_PF | 10) | 217 | #define PD10_PF_SPL_SPR (GPIO_PORTD | GPIO_OUT | GPIO_PF | 10) |
223 | #define PD10_AF_UART2_DSR (GPIO_PORTD | GPIO_OUT | GPIO_AF | 10) | 218 | #define PD10_AF_UART2_DSR (GPIO_PORTD | GPIO_OUT | GPIO_AF | 10) |
224 | #define PD10_AIN_SPI2_TXD (GPIO_GIUS | GPIO_PORTD | GPIO_OUT | 10) | 219 | #define PD10_AIN_SPI2_TXD (GPIO_PORTD | GPIO_OUT | 10) |
225 | #define PD11_PF_CONTRAST (GPIO_PORTD | GPIO_OUT | GPIO_PF | 11) | 220 | #define PD11_PF_CONTRAST (GPIO_PORTD | GPIO_OUT | GPIO_PF | 11) |
226 | #define PD12_PF_ACD_OE (GPIO_PORTD | GPIO_OUT | GPIO_PF | 12) | 221 | #define PD12_PF_ACD_OE (GPIO_PORTD | GPIO_OUT | GPIO_PF | 12) |
227 | #define PD13_PF_LP_HSYNC (GPIO_PORTD | GPIO_OUT | GPIO_PF | 13) | 222 | #define PD13_PF_LP_HSYNC (GPIO_PORTD | GPIO_OUT | GPIO_PF | 13) |
@@ -243,7 +238,7 @@ extern int mxc_gpio_setup_multiple_pins(const int *pin_list, unsigned count, | |||
243 | #define PD29_PF_LD14 (GPIO_PORTD | GPIO_OUT | GPIO_PF | 29) | 238 | #define PD29_PF_LD14 (GPIO_PORTD | GPIO_OUT | GPIO_PF | 29) |
244 | #define PD30_PF_LD15 (GPIO_PORTD | GPIO_OUT | GPIO_PF | 30) | 239 | #define PD30_PF_LD15 (GPIO_PORTD | GPIO_OUT | GPIO_PF | 30) |
245 | #define PD31_PF_TMR2OUT (GPIO_PORTD | GPIO_PF | 31) | 240 | #define PD31_PF_TMR2OUT (GPIO_PORTD | GPIO_PF | 31) |
246 | #define PD31_BIN_SPI2_TXD (GPIO_GIUS | GPIO_PORTD | GPIO_BIN | 31) | 241 | #define PD31_BIN_SPI2_TXD (GPIO_PORTD | GPIO_BIN | 31) |
247 | #endif | 242 | #endif |
248 | 243 | ||
249 | #ifdef CONFIG_ARCH_MX2 | 244 | #ifdef CONFIG_ARCH_MX2 |
@@ -279,6 +274,12 @@ extern int mxc_gpio_setup_multiple_pins(const int *pin_list, unsigned count, | |||
279 | #define PA29_PF_VSYNC (GPIO_PORTA | GPIO_OUT | GPIO_PF | 29) | 274 | #define PA29_PF_VSYNC (GPIO_PORTA | GPIO_OUT | GPIO_PF | 29) |
280 | #define PA30_PF_CONTRAST (GPIO_PORTA | GPIO_OUT | GPIO_PF | 30) | 275 | #define PA30_PF_CONTRAST (GPIO_PORTA | GPIO_OUT | GPIO_PF | 30) |
281 | #define PA31_PF_OE_ACD (GPIO_PORTA | GPIO_OUT | GPIO_PF | 31) | 276 | #define PA31_PF_OE_ACD (GPIO_PORTA | GPIO_OUT | GPIO_PF | 31) |
277 | #define PB4_PF_SD2_D0 (GPIO_PORTB | GPIO_PF | 4) | ||
278 | #define PB5_PF_SD2_D1 (GPIO_PORTB | GPIO_PF | 5) | ||
279 | #define PB6_PF_SD2_D2 (GPIO_PORTB | GPIO_PF | 6) | ||
280 | #define PB7_PF_SD2_D3 (GPIO_PORTB | GPIO_PF | 7) | ||
281 | #define PB8_PF_SD2_CMD (GPIO_PORTB | GPIO_PF | 8) | ||
282 | #define PB9_PF_SD2_CLK (GPIO_PORTB | GPIO_PF | 9) | ||
282 | #define PB10_PF_CSI_D0 (GPIO_PORTB | GPIO_OUT | GPIO_PF | 10) | 283 | #define PB10_PF_CSI_D0 (GPIO_PORTB | GPIO_OUT | GPIO_PF | 10) |
283 | #define PB10_AF_UART6_TXD (GPIO_PORTB | GPIO_OUT | GPIO_AF | 10) | 284 | #define PB10_AF_UART6_TXD (GPIO_PORTB | GPIO_OUT | GPIO_AF | 10) |
284 | #define PB11_PF_CSI_D1 (GPIO_PORTB | GPIO_OUT | GPIO_PF | 11) | 285 | #define PB11_PF_CSI_D1 (GPIO_PORTB | GPIO_OUT | GPIO_PF | 11) |
@@ -315,6 +316,13 @@ extern int mxc_gpio_setup_multiple_pins(const int *pin_list, unsigned count, | |||
315 | #define PB31_AF_UART4_RXD (GPIO_PORTB | GPIO_IN | GPIO_AF | 31) | 316 | #define PB31_AF_UART4_RXD (GPIO_PORTB | GPIO_IN | GPIO_AF | 31) |
316 | #define PC5_PF_I2C2_SDA (GPIO_PORTC | GPIO_IN | GPIO_PF | 5) | 317 | #define PC5_PF_I2C2_SDA (GPIO_PORTC | GPIO_IN | GPIO_PF | 5) |
317 | #define PC6_PF_I2C2_SCL (GPIO_PORTC | GPIO_IN | GPIO_PF | 6) | 318 | #define PC6_PF_I2C2_SCL (GPIO_PORTC | GPIO_IN | GPIO_PF | 6) |
319 | #define PC7_PF_USBOTG_DATA5 (GPIO_PORTC | GPIO_OUT | GPIO_PF | 7) | ||
320 | #define PC8_PF_USBOTG_DATA6 (GPIO_PORTC | GPIO_OUT | GPIO_PF | 8) | ||
321 | #define PC9_PF_USBOTG_DATA0 (GPIO_PORTC | GPIO_OUT | GPIO_PF | 9) | ||
322 | #define PC10_PF_USBOTG_DATA2 (GPIO_PORTC | GPIO_OUT | GPIO_PF | 10) | ||
323 | #define PC11_PF_USBOTG_DATA1 (GPIO_PORTC | GPIO_OUT | GPIO_PF | 11) | ||
324 | #define PC12_PF_USBOTG_DATA4 (GPIO_PORTC | GPIO_OUT | GPIO_PF | 12) | ||
325 | #define PC13_PF_USBOTG_DATA3 (GPIO_PORTC | GPIO_OUT | GPIO_PF | 13) | ||
318 | #define PC16_PF_SSI4_FS (GPIO_PORTC | GPIO_IN | GPIO_PF | 16) | 326 | #define PC16_PF_SSI4_FS (GPIO_PORTC | GPIO_IN | GPIO_PF | 16) |
319 | #define PC17_PF_SSI4_RXD (GPIO_PORTC | GPIO_IN | GPIO_PF | 17) | 327 | #define PC17_PF_SSI4_RXD (GPIO_PORTC | GPIO_IN | GPIO_PF | 17) |
320 | #define PC18_PF_SSI4_TXD (GPIO_PORTC | GPIO_IN | GPIO_PF | 18) | 328 | #define PC18_PF_SSI4_TXD (GPIO_PORTC | GPIO_IN | GPIO_PF | 18) |
@@ -365,6 +373,9 @@ extern int mxc_gpio_setup_multiple_pins(const int *pin_list, unsigned count, | |||
365 | #define PD30_PF_CSPI1_MISO (GPIO_PORTD | GPIO_IN | GPIO_PF | 30) | 373 | #define PD30_PF_CSPI1_MISO (GPIO_PORTD | GPIO_IN | GPIO_PF | 30) |
366 | #define PD31_PF_CSPI1_MOSI (GPIO_PORTD | GPIO_OUT | GPIO_PF | 31) | 374 | #define PD31_PF_CSPI1_MOSI (GPIO_PORTD | GPIO_OUT | GPIO_PF | 31) |
367 | #define PF23_AIN_FEC_TX_EN (GPIO_PORTF | GPIO_OUT | GPIO_AIN | 23) | 375 | #define PF23_AIN_FEC_TX_EN (GPIO_PORTF | GPIO_OUT | GPIO_AIN | 23) |
376 | #define PE0_PF_USBOTG_NXT (GPIO_PORTE | GPIO_OUT | GPIO_PF | 0) | ||
377 | #define PE1_PF_USBOTG_STP (GPIO_PORTE | GPIO_OUT | GPIO_PF | 1) | ||
378 | #define PE2_PF_USBOTG_DIR (GPIO_PORTE | GPIO_OUT | GPIO_PF | 2) | ||
368 | #define PE3_PF_UART2_CTS (GPIO_PORTE | GPIO_OUT | GPIO_PF | 3) | 379 | #define PE3_PF_UART2_CTS (GPIO_PORTE | GPIO_OUT | GPIO_PF | 3) |
369 | #define PE4_PF_UART2_RTS (GPIO_PORTE | GPIO_IN | GPIO_PF | 4) | 380 | #define PE4_PF_UART2_RTS (GPIO_PORTE | GPIO_IN | GPIO_PF | 4) |
370 | #define PE6_PF_UART2_TXD (GPIO_PORTE | GPIO_OUT | GPIO_PF | 6) | 381 | #define PE6_PF_UART2_TXD (GPIO_PORTE | GPIO_OUT | GPIO_PF | 6) |
@@ -379,18 +390,27 @@ extern int mxc_gpio_setup_multiple_pins(const int *pin_list, unsigned count, | |||
379 | #define PE15_PF_UART1_RTS (GPIO_PORTE | GPIO_IN | GPIO_PF | 15) | 390 | #define PE15_PF_UART1_RTS (GPIO_PORTE | GPIO_IN | GPIO_PF | 15) |
380 | #define PE16_AF_RTCK (GPIO_PORTE | GPIO_OUT | GPIO_AF | 16) | 391 | #define PE16_AF_RTCK (GPIO_PORTE | GPIO_OUT | GPIO_AF | 16) |
381 | #define PE16_PF_RTCK (GPIO_PORTE | GPIO_OUT | GPIO_PF | 16) | 392 | #define PE16_PF_RTCK (GPIO_PORTE | GPIO_OUT | GPIO_PF | 16) |
393 | #define PE18_PF_SDHC1_D0 (GPIO_PORTE | GPIO_PF | 18) | ||
382 | #define PE18_AF_CSPI3_MISO (GPIO_PORTE | GPIO_IN | GPIO_AF | 18) | 394 | #define PE18_AF_CSPI3_MISO (GPIO_PORTE | GPIO_IN | GPIO_AF | 18) |
395 | #define PE19_PF_SDHC1_D1 (GPIO_PORTE | GPIO_PF | 19) | ||
396 | #define PE20_PF_SDHC1_D2 (GPIO_PORTE | GPIO_PF | 20) | ||
397 | #define PE21_PF_SDHC1_D3 (GPIO_PORTE | GPIO_PF | 21) | ||
383 | #define PE21_AF_CSPI3_SS (GPIO_PORTE | GPIO_OUT | GPIO_AF | 21) | 398 | #define PE21_AF_CSPI3_SS (GPIO_PORTE | GPIO_OUT | GPIO_AF | 21) |
399 | #define PE22_PF_SDHC1_CMD (GPIO_PORTE | GPIO_PF | 22) | ||
384 | #define PE22_AF_CSPI3_MOSI (GPIO_PORTE | GPIO_OUT | GPIO_AF | 22) | 400 | #define PE22_AF_CSPI3_MOSI (GPIO_PORTE | GPIO_OUT | GPIO_AF | 22) |
401 | #define PE22_PF_SDHC1_CLK (GPIO_PORTE | GPIO_PF | 23) | ||
385 | #define PE23_AF_CSPI3_SCLK (GPIO_PORTE | GPIO_OUT | GPIO_AF | 23) | 402 | #define PE23_AF_CSPI3_SCLK (GPIO_PORTE | GPIO_OUT | GPIO_AF | 23) |
403 | #define PE24_PF_USBOTG_CLK (GPIO_PORTE | GPIO_OUT | GPIO_PF | 24) | ||
404 | #define PE25_PF_USBOTG_DATA7 (GPIO_PORTE | GPIO_OUT | GPIO_PF | 25) | ||
386 | #endif | 405 | #endif |
387 | 406 | ||
388 | /* decode irq number to use with IMR(x), ISR(x) and friends */ | 407 | /* decode irq number to use with IMR(x), ISR(x) and friends */ |
389 | #define IRQ_TO_REG(irq) ((irq - MXC_MAX_INT_LINES) >> 5) | 408 | #define IRQ_TO_REG(irq) ((irq - MXC_INTERNAL_IRQS) >> 5) |
390 | 409 | ||
391 | #define IRQ_GPIOA(x) (MXC_MAX_INT_LINES + x) | 410 | #define IRQ_GPIOA(x) (MXC_GPIO_IRQ_START + x) |
392 | #define IRQ_GPIOB(x) (IRQ_GPIOA(32) + x) | 411 | #define IRQ_GPIOB(x) (IRQ_GPIOA(32) + x) |
393 | #define IRQ_GPIOC(x) (IRQ_GPIOB(32) + x) | 412 | #define IRQ_GPIOC(x) (IRQ_GPIOB(32) + x) |
394 | #define IRQ_GPIOD(x) (IRQ_GPIOC(32) + x) | 413 | #define IRQ_GPIOD(x) (IRQ_GPIOC(32) + x) |
414 | #define IRQ_GPIOE(x) (IRQ_GPIOD(32) + x) | ||
395 | 415 | ||
396 | #endif /* _MXC_GPIO_MX1_MX2_H */ | 416 | #endif /* _MXC_GPIO_MX1_MX2_H */ |
diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx3.h b/arch/arm/plat-mxc/include/mach/iomux-mx3.h index c9f39c2fb8c6..c9198c0aea18 100644 --- a/arch/arm/plat-mxc/include/mach/iomux-mx3.h +++ b/arch/arm/plat-mxc/include/mach/iomux-mx3.h | |||
@@ -141,7 +141,7 @@ void mxc_iomux_set_gpr(enum iomux_gp_func, bool); | |||
141 | ((iomux_pin & IOMUX_GPIONUM_MASK) >> IOMUX_GPIONUM_SHIFT) | 141 | ((iomux_pin & IOMUX_GPIONUM_MASK) >> IOMUX_GPIONUM_SHIFT) |
142 | #define IOMUX_TO_IRQ(iomux_pin) \ | 142 | #define IOMUX_TO_IRQ(iomux_pin) \ |
143 | (((iomux_pin & IOMUX_GPIONUM_MASK) >> IOMUX_GPIONUM_SHIFT) + \ | 143 | (((iomux_pin & IOMUX_GPIONUM_MASK) >> IOMUX_GPIONUM_SHIFT) + \ |
144 | MXC_GPIO_INT_BASE) | 144 | MXC_GPIO_IRQ_START) |
145 | 145 | ||
146 | /* | 146 | /* |
147 | * This enumeration is constructed based on the Section | 147 | * This enumeration is constructed based on the Section |
@@ -491,6 +491,14 @@ 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_CTS2__CTS2 IOMUX_MODE(MX31_PIN_CTS2, IOMUX_CONFIG_FUNC) | ||
495 | #define MX31_PIN_RTS2__RTS2 IOMUX_MODE(MX31_PIN_RTS2, IOMUX_CONFIG_FUNC) | ||
496 | #define MX31_PIN_TXD2__TXD2 IOMUX_MODE(MX31_PIN_TXD2, IOMUX_CONFIG_FUNC) | ||
497 | #define MX31_PIN_RXD2__RXD2 IOMUX_MODE(MX31_PIN_RXD2, IOMUX_CONFIG_FUNC) | ||
498 | #define MX31_PIN_PC_RST__CTS5 IOMUX_MODE(MX31_PIN_PC_RST, IOMUX_CONFIG_ALT2) | ||
499 | #define MX31_PIN_PC_VS2__RTS5 IOMUX_MODE(MX31_PIN_PC_VS2, IOMUX_CONFIG_ALT2) | ||
500 | #define MX31_PIN_PC_BVD2__TXD5 IOMUX_MODE(MX31_PIN_PC_BVD2, IOMUX_CONFIG_ALT2) | ||
501 | #define MX31_PIN_PC_BVD1__RXD5 IOMUX_MODE(MX31_PIN_PC_BVD1, IOMUX_CONFIG_ALT2) | ||
494 | #define MX31_PIN_CSPI1_MOSI__MOSI IOMUX_MODE(MX31_PIN_CSPI1_MOSI, IOMUX_CONFIG_FUNC) | 502 | #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) | 503 | #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) | 504 | #define MX31_PIN_CSPI1_SCLK__SCLK IOMUX_MODE(MX31_PIN_CSPI1_SCLK, IOMUX_CONFIG_FUNC) |
@@ -509,6 +517,15 @@ enum iomux_pins { | |||
509 | #define MX31_PIN_CSPI3_MISO__MISO IOMUX_MODE(MX31_PIN_CSPI3_MISO, IOMUX_CONFIG_FUNC) | 517 | #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) | 518 | #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) | 519 | #define MX31_PIN_CSPI3_SPI_RDY__SPI_RDY IOMUX_MODE(MX31_PIN_CSPI3_SPI_RDY, IOMUX_CONFIG_FUNC) |
520 | #define MX31_PIN_BATT_LINE__OWIRE IOMUX_MODE(MX31_PIN_BATT_LINE, IOMUX_CONFIG_FUNC) | ||
521 | #define MX31_PIN_CS4__CS4 IOMUX_MODE(MX31_PIN_CS4, IOMUX_CONFIG_FUNC) | ||
522 | #define MX31_PIN_SD1_DATA3__SD1_DATA3 IOMUX_MODE(MX31_PIN_SD1_DATA3, IOMUX_CONFIG_FUNC) | ||
523 | #define MX31_PIN_SD1_DATA2__SD1_DATA2 IOMUX_MODE(MX31_PIN_SD1_DATA2, IOMUX_CONFIG_FUNC) | ||
524 | #define MX31_PIN_SD1_DATA1__SD1_DATA1 IOMUX_MODE(MX31_PIN_SD1_DATA1, IOMUX_CONFIG_FUNC) | ||
525 | #define MX31_PIN_SD1_DATA0__SD1_DATA0 IOMUX_MODE(MX31_PIN_SD1_DATA0, IOMUX_CONFIG_FUNC) | ||
526 | #define MX31_PIN_SD1_CLK__SD1_CLK IOMUX_MODE(MX31_PIN_SD1_CLK, IOMUX_CONFIG_FUNC) | ||
527 | #define MX31_PIN_SD1_CMD__SD1_CMD IOMUX_MODE(MX31_PIN_SD1_CMD, IOMUX_CONFIG_FUNC) | ||
528 | |||
512 | /*XXX: The SS0, SS1, SS2, SS3 lines of spi3 are multiplexed by cspi2_ss0, cspi2_ss1, cspi1_ss0 | 529 | /*XXX: The SS0, SS1, SS2, SS3 lines of spi3 are multiplexed by cspi2_ss0, cspi2_ss1, cspi1_ss0 |
513 | * cspi1_ss1*/ | 530 | * cspi1_ss1*/ |
514 | 531 | ||
diff --git a/arch/arm/plat-mxc/include/mach/irqs.h b/arch/arm/plat-mxc/include/mach/irqs.h index b55bba35e18a..e06d3cb0ee11 100644 --- a/arch/arm/plat-mxc/include/mach/irqs.h +++ b/arch/arm/plat-mxc/include/mach/irqs.h | |||
@@ -11,7 +11,37 @@ | |||
11 | #ifndef __ASM_ARCH_MXC_IRQS_H__ | 11 | #ifndef __ASM_ARCH_MXC_IRQS_H__ |
12 | #define __ASM_ARCH_MXC_IRQS_H__ | 12 | #define __ASM_ARCH_MXC_IRQS_H__ |
13 | 13 | ||
14 | #include <mach/hardware.h> | 14 | /* |
15 | * So far all i.MX SoCs have 64 internal interrupts | ||
16 | */ | ||
17 | #define MXC_INTERNAL_IRQS 64 | ||
18 | |||
19 | #define MXC_GPIO_IRQ_START MXC_INTERNAL_IRQS | ||
20 | |||
21 | #if defined CONFIG_ARCH_MX1 | ||
22 | #define MXC_GPIO_IRQS (32 * 4) | ||
23 | #elif defined CONFIG_ARCH_MX2 | ||
24 | #define MXC_GPIO_IRQS (32 * 6) | ||
25 | #elif defined CONFIG_ARCH_MX3 | ||
26 | #define MXC_GPIO_IRQS (32 * 3) | ||
27 | #endif | ||
28 | |||
29 | /* | ||
30 | * The next 16 interrupts are for board specific purposes. Since | ||
31 | * the kernel can only run on one machine at a time, we can re-use | ||
32 | * these. If you need more, increase MXC_BOARD_IRQS, but keep it | ||
33 | * within sensible limits. | ||
34 | */ | ||
35 | #define MXC_BOARD_IRQ_START (MXC_INTERNAL_IRQS + MXC_GPIO_IRQS) | ||
36 | #define MXC_BOARD_IRQS 16 | ||
37 | |||
38 | #define NR_IRQS (MXC_BOARD_IRQ_START + MXC_BOARD_IRQS) | ||
39 | |||
15 | extern void imx_irq_set_priority(unsigned char irq, unsigned char prio); | 40 | extern void imx_irq_set_priority(unsigned char irq, unsigned char prio); |
16 | 41 | ||
42 | /* all normal IRQs can be FIQs */ | ||
43 | #define FIQ_START 0 | ||
44 | /* switch betwean IRQ and FIQ */ | ||
45 | extern int mxc_set_irq_fiq(unsigned int irq, unsigned int type); | ||
46 | |||
17 | #endif /* __ASM_ARCH_MXC_IRQS_H__ */ | 47 | #endif /* __ASM_ARCH_MXC_IRQS_H__ */ |
diff --git a/arch/arm/plat-mxc/include/mach/memory.h b/arch/arm/plat-mxc/include/mach/memory.h index d7a8d3ebed57..0b808399097f 100644 --- a/arch/arm/plat-mxc/include/mach/memory.h +++ b/arch/arm/plat-mxc/include/mach/memory.h | |||
@@ -11,19 +11,12 @@ | |||
11 | #ifndef __ASM_ARCH_MXC_MEMORY_H__ | 11 | #ifndef __ASM_ARCH_MXC_MEMORY_H__ |
12 | #define __ASM_ARCH_MXC_MEMORY_H__ | 12 | #define __ASM_ARCH_MXC_MEMORY_H__ |
13 | 13 | ||
14 | #include <mach/hardware.h> | 14 | #if defined CONFIG_ARCH_MX1 |
15 | 15 | #define PHYS_OFFSET UL(0x08000000) | |
16 | /* | 16 | #elif defined CONFIG_ARCH_MX2 |
17 | * Virtual view <-> DMA view memory address translations | 17 | #define PHYS_OFFSET UL(0xA0000000) |
18 | * This macro is used to translate the virtual address to an address | 18 | #elif defined CONFIG_ARCH_MX3 |
19 | * suitable to be passed to set_dma_addr() | 19 | #define PHYS_OFFSET UL(0x80000000) |
20 | */ | 20 | #endif |
21 | #define __virt_to_bus(a) __virt_to_phys(a) | ||
22 | |||
23 | /* | ||
24 | * Used to convert an address for DMA operations to an address that the | ||
25 | * kernel can use. | ||
26 | */ | ||
27 | #define __bus_to_virt(a) __phys_to_virt(a) | ||
28 | 21 | ||
29 | #endif /* __ASM_ARCH_MXC_MEMORY_H__ */ | 22 | #endif /* __ASM_ARCH_MXC_MEMORY_H__ */ |
diff --git a/arch/arm/plat-mxc/include/mach/mtd-xip.h b/arch/arm/plat-mxc/include/mach/mtd-xip.h new file mode 100644 index 000000000000..1ab1bba5688d --- /dev/null +++ b/arch/arm/plat-mxc/include/mach/mtd-xip.h | |||
@@ -0,0 +1,34 @@ | |||
1 | /* | ||
2 | * MTD primitives for XIP support. Architecture specific functions | ||
3 | * | ||
4 | * Do not include this file directly. It's included from linux/mtd/xip.h | ||
5 | * | ||
6 | * Copyright (C) 2008 Darius Augulis <augulis.darius@gmail.com>, Teltonika, Inc. | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | * | ||
12 | */ | ||
13 | |||
14 | #include <mach/mxc_timer.h> | ||
15 | |||
16 | #ifndef __ARCH_IMX_MTD_XIP_H__ | ||
17 | #define __ARCH_IMX_MTD_XIP_H__ | ||
18 | |||
19 | #ifdef CONFIG_ARCH_MX1 | ||
20 | /* AITC registers */ | ||
21 | #define AITC_BASE IO_ADDRESS(AVIC_BASE_ADDR) | ||
22 | #define NIPNDH (AITC_BASE + 0x58) | ||
23 | #define NIPNDL (AITC_BASE + 0x5C) | ||
24 | #define INTENABLEH (AITC_BASE + 0x10) | ||
25 | #define INTENABLEL (AITC_BASE + 0x14) | ||
26 | /* MTD macros */ | ||
27 | #define xip_irqpending() ((__raw_readl(INTENABLEH) & __raw_readl(NIPNDH)) \ | ||
28 | || (__raw_readl(INTENABLEL) & __raw_readl(NIPNDL))) | ||
29 | #define xip_currtime() (__raw_readl(TIMER_BASE + MXC_TCN)) | ||
30 | #define xip_elapsed_since(x) (signed)((__raw_readl(TIMER_BASE + MXC_TCN) - (x)) / 96) | ||
31 | #define xip_cpu_idle() asm volatile ("mcr p15, 0, %0, c7, c0, 4" :: "r" (0)) | ||
32 | #endif /* CONFIG_ARCH_MX1 */ | ||
33 | |||
34 | #endif /* __ARCH_IMX_MTD_XIP_H__ */ | ||
diff --git a/arch/arm/plat-mxc/include/mach/mx1.h b/arch/arm/plat-mxc/include/mach/mx1.h new file mode 100644 index 000000000000..b92e02324d8e --- /dev/null +++ b/arch/arm/plat-mxc/include/mach/mx1.h | |||
@@ -0,0 +1,186 @@ | |||
1 | /* | ||
2 | * Copyright (C) 1997,1998 Russell King | ||
3 | * Copyright (C) 1999 ARM Limited | ||
4 | * Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. | ||
5 | * Copyright (c) 2008 Paulius Zaleckas <paulius.zaleckas@teltonika.lt> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | */ | ||
11 | |||
12 | #ifndef __ASM_ARCH_MXC_MX1_H__ | ||
13 | #define __ASM_ARCH_MXC_MX1_H__ | ||
14 | |||
15 | #ifndef __ASM_ARCH_MXC_HARDWARE_H__ | ||
16 | #error "Do not include directly." | ||
17 | #endif | ||
18 | |||
19 | #include <mach/vmalloc.h> | ||
20 | |||
21 | /* | ||
22 | * Memory map | ||
23 | */ | ||
24 | #define IMX_IO_PHYS 0x00200000 | ||
25 | #define IMX_IO_SIZE 0x00100000 | ||
26 | #define IMX_IO_BASE VMALLOC_END | ||
27 | |||
28 | #define IMX_CS0_PHYS 0x10000000 | ||
29 | #define IMX_CS0_SIZE 0x02000000 | ||
30 | |||
31 | #define IMX_CS1_PHYS 0x12000000 | ||
32 | #define IMX_CS1_SIZE 0x01000000 | ||
33 | |||
34 | #define IMX_CS2_PHYS 0x13000000 | ||
35 | #define IMX_CS2_SIZE 0x01000000 | ||
36 | |||
37 | #define IMX_CS3_PHYS 0x14000000 | ||
38 | #define IMX_CS3_SIZE 0x01000000 | ||
39 | |||
40 | #define IMX_CS4_PHYS 0x15000000 | ||
41 | #define IMX_CS4_SIZE 0x01000000 | ||
42 | |||
43 | #define IMX_CS5_PHYS 0x16000000 | ||
44 | #define IMX_CS5_SIZE 0x01000000 | ||
45 | |||
46 | /* | ||
47 | * Register BASEs, based on OFFSETs | ||
48 | */ | ||
49 | #define AIPI1_BASE_ADDR (0x00000 + IMX_IO_PHYS) | ||
50 | #define WDT_BASE_ADDR (0x01000 + IMX_IO_PHYS) | ||
51 | #define TIM1_BASE_ADDR (0x02000 + IMX_IO_PHYS) | ||
52 | #define TIM2_BASE_ADDR (0x03000 + IMX_IO_PHYS) | ||
53 | #define RTC_BASE_ADDR (0x04000 + IMX_IO_PHYS) | ||
54 | #define LCDC_BASE_ADDR (0x05000 + IMX_IO_PHYS) | ||
55 | #define UART1_BASE_ADDR (0x06000 + IMX_IO_PHYS) | ||
56 | #define UART2_BASE_ADDR (0x07000 + IMX_IO_PHYS) | ||
57 | #define PWM_BASE_ADDR (0x08000 + IMX_IO_PHYS) | ||
58 | #define DMA_BASE_ADDR (0x09000 + IMX_IO_PHYS) | ||
59 | #define AIPI2_BASE_ADDR (0x10000 + IMX_IO_PHYS) | ||
60 | #define SIM_BASE_ADDR (0x11000 + IMX_IO_PHYS) | ||
61 | #define USBD_BASE_ADDR (0x12000 + IMX_IO_PHYS) | ||
62 | #define SPI1_BASE_ADDR (0x13000 + IMX_IO_PHYS) | ||
63 | #define MMC_BASE_ADDR (0x14000 + IMX_IO_PHYS) | ||
64 | #define ASP_BASE_ADDR (0x15000 + IMX_IO_PHYS) | ||
65 | #define BTA_BASE_ADDR (0x16000 + IMX_IO_PHYS) | ||
66 | #define I2C_BASE_ADDR (0x17000 + IMX_IO_PHYS) | ||
67 | #define SSI_BASE_ADDR (0x18000 + IMX_IO_PHYS) | ||
68 | #define SPI2_BASE_ADDR (0x19000 + IMX_IO_PHYS) | ||
69 | #define MSHC_BASE_ADDR (0x1A000 + IMX_IO_PHYS) | ||
70 | #define CCM_BASE_ADDR (0x1B000 + IMX_IO_PHYS) | ||
71 | #define SCM_BASE_ADDR (0x1B804 + IMX_IO_PHYS) | ||
72 | #define GPIO_BASE_ADDR (0x1C000 + IMX_IO_PHYS) | ||
73 | #define EIM_BASE_ADDR (0x20000 + IMX_IO_PHYS) | ||
74 | #define SDRAMC_BASE_ADDR (0x21000 + IMX_IO_PHYS) | ||
75 | #define MMA_BASE_ADDR (0x22000 + IMX_IO_PHYS) | ||
76 | #define AVIC_BASE_ADDR (0x23000 + IMX_IO_PHYS) | ||
77 | #define CSI_BASE_ADDR (0x24000 + IMX_IO_PHYS) | ||
78 | |||
79 | /* macro to get at IO space when running virtually */ | ||
80 | #define IO_ADDRESS(x) ((x) - IMX_IO_PHYS + IMX_IO_BASE) | ||
81 | |||
82 | /* define macros needed for entry-macro.S */ | ||
83 | #define AVIC_IO_ADDRESS(x) IO_ADDRESS(x) | ||
84 | |||
85 | /* fixed interrput numbers */ | ||
86 | #define INT_SOFTINT 0 | ||
87 | #define CSI_INT 6 | ||
88 | #define DSPA_MAC_INT 7 | ||
89 | #define DSPA_INT 8 | ||
90 | #define COMP_INT 9 | ||
91 | #define MSHC_XINT 10 | ||
92 | #define GPIO_INT_PORTA 11 | ||
93 | #define GPIO_INT_PORTB 12 | ||
94 | #define GPIO_INT_PORTC 13 | ||
95 | #define LCDC_INT 14 | ||
96 | #define SIM_INT 15 | ||
97 | #define SIM_DATA_INT 16 | ||
98 | #define RTC_INT 17 | ||
99 | #define RTC_SAMINT 18 | ||
100 | #define UART2_MINT_PFERR 19 | ||
101 | #define UART2_MINT_RTS 20 | ||
102 | #define UART2_MINT_DTR 21 | ||
103 | #define UART2_MINT_UARTC 22 | ||
104 | #define UART2_MINT_TX 23 | ||
105 | #define UART2_MINT_RX 24 | ||
106 | #define UART1_MINT_PFERR 25 | ||
107 | #define UART1_MINT_RTS 26 | ||
108 | #define UART1_MINT_DTR 27 | ||
109 | #define UART1_MINT_UARTC 28 | ||
110 | #define UART1_MINT_TX 29 | ||
111 | #define UART1_MINT_RX 30 | ||
112 | #define VOICE_DAC_INT 31 | ||
113 | #define VOICE_ADC_INT 32 | ||
114 | #define PEN_DATA_INT 33 | ||
115 | #define PWM_INT 34 | ||
116 | #define SDHC_INT 35 | ||
117 | #define I2C_INT 39 | ||
118 | #define CSPI_INT 41 | ||
119 | #define SSI_TX_INT 42 | ||
120 | #define SSI_TX_ERR_INT 43 | ||
121 | #define SSI_RX_INT 44 | ||
122 | #define SSI_RX_ERR_INT 45 | ||
123 | #define TOUCH_INT 46 | ||
124 | #define USBD_INT0 47 | ||
125 | #define USBD_INT1 48 | ||
126 | #define USBD_INT2 49 | ||
127 | #define USBD_INT3 50 | ||
128 | #define USBD_INT4 51 | ||
129 | #define USBD_INT5 52 | ||
130 | #define USBD_INT6 53 | ||
131 | #define BTSYS_INT 55 | ||
132 | #define BTTIM_INT 56 | ||
133 | #define BTWUI_INT 57 | ||
134 | #define TIM2_INT 58 | ||
135 | #define TIM1_INT 59 | ||
136 | #define DMA_ERR 60 | ||
137 | #define DMA_INT 61 | ||
138 | #define GPIO_INT_PORTD 62 | ||
139 | #define WDT_INT 63 | ||
140 | |||
141 | /* gpio and gpio based interrupt handling */ | ||
142 | #define GPIO_DR 0x1C | ||
143 | #define GPIO_GDIR 0x00 | ||
144 | #define GPIO_PSR 0x24 | ||
145 | #define GPIO_ICR1 0x28 | ||
146 | #define GPIO_ICR2 0x2C | ||
147 | #define GPIO_IMR 0x30 | ||
148 | #define GPIO_ISR 0x34 | ||
149 | #define GPIO_INT_LOW_LEV 0x3 | ||
150 | #define GPIO_INT_HIGH_LEV 0x2 | ||
151 | #define GPIO_INT_RISE_EDGE 0x0 | ||
152 | #define GPIO_INT_FALL_EDGE 0x1 | ||
153 | #define GPIO_INT_NONE 0x4 | ||
154 | |||
155 | /* DMA */ | ||
156 | #define DMA_REQ_UART3_T 2 | ||
157 | #define DMA_REQ_UART3_R 3 | ||
158 | #define DMA_REQ_SSI2_T 4 | ||
159 | #define DMA_REQ_SSI2_R 5 | ||
160 | #define DMA_REQ_CSI_STAT 6 | ||
161 | #define DMA_REQ_CSI_R 7 | ||
162 | #define DMA_REQ_MSHC 8 | ||
163 | #define DMA_REQ_DSPA_DCT_DOUT 9 | ||
164 | #define DMA_REQ_DSPA_DCT_DIN 10 | ||
165 | #define DMA_REQ_DSPA_MAC 11 | ||
166 | #define DMA_REQ_EXT 12 | ||
167 | #define DMA_REQ_SDHC 13 | ||
168 | #define DMA_REQ_SPI1_R 14 | ||
169 | #define DMA_REQ_SPI1_T 15 | ||
170 | #define DMA_REQ_SSI_T 16 | ||
171 | #define DMA_REQ_SSI_R 17 | ||
172 | #define DMA_REQ_ASP_DAC 18 | ||
173 | #define DMA_REQ_ASP_ADC 19 | ||
174 | #define DMA_REQ_USP_EP(x) (20 + (x)) | ||
175 | #define DMA_REQ_SPI2_R 26 | ||
176 | #define DMA_REQ_SPI2_T 27 | ||
177 | #define DMA_REQ_UART2_T 28 | ||
178 | #define DMA_REQ_UART2_R 29 | ||
179 | #define DMA_REQ_UART1_T 30 | ||
180 | #define DMA_REQ_UART1_R 31 | ||
181 | |||
182 | /* mandatory for CONFIG_LL_DEBUG */ | ||
183 | #define MXC_LL_UART_PADDR UART1_BASE_ADDR | ||
184 | #define MXC_LL_UART_VADDR IO_ADDRESS(UART1_BASE_ADDR) | ||
185 | |||
186 | #endif /* __ASM_ARCH_MXC_MX1_H__ */ | ||
diff --git a/arch/arm/plat-mxc/include/mach/mx27.h b/arch/arm/plat-mxc/include/mach/mx27.h index a86db64744a1..0313be720552 100644 --- a/arch/arm/plat-mxc/include/mach/mx27.h +++ b/arch/arm/plat-mxc/include/mach/mx27.h | |||
@@ -72,7 +72,8 @@ | |||
72 | /* for mx27*/ | 72 | /* for mx27*/ |
73 | #define OTG_BASE_ADDR USBOTG_BASE_ADDR | 73 | #define OTG_BASE_ADDR USBOTG_BASE_ADDR |
74 | #define SAHARA_BASE_ADDR (AIPI_BASE_ADDR + 0x25000) | 74 | #define SAHARA_BASE_ADDR (AIPI_BASE_ADDR + 0x25000) |
75 | #define EMMA_BASE_ADDR (AIPI_BASE_ADDR + 0x26400) | 75 | #define EMMA_PP_BASE_ADDR (AIPI_BASE_ADDR + 0x26000) |
76 | #define EMMA_PRP_BASE_ADDR (AIPI_BASE_ADDR + 0x26400) | ||
76 | #define CCM_BASE_ADDR (AIPI_BASE_ADDR + 0x27000) | 77 | #define CCM_BASE_ADDR (AIPI_BASE_ADDR + 0x27000) |
77 | #define SYSCTRL_BASE_ADDR (AIPI_BASE_ADDR + 0x27800) | 78 | #define SYSCTRL_BASE_ADDR (AIPI_BASE_ADDR + 0x27800) |
78 | #define IIM_BASE_ADDR (AIPI_BASE_ADDR + 0x28000) | 79 | #define IIM_BASE_ADDR (AIPI_BASE_ADDR + 0x28000) |
@@ -288,16 +289,4 @@ extern int mx27_revision(void); | |||
288 | /* this CPU supports up to 192 GPIOs (don't forget the baseboard!) */ | 289 | /* this CPU supports up to 192 GPIOs (don't forget the baseboard!) */ |
289 | #define ARCH_NR_GPIOS (192 + 16) | 290 | #define ARCH_NR_GPIOS (192 + 16) |
290 | 291 | ||
291 | /* OS clock tick rate */ | ||
292 | #define CLOCK_TICK_RATE 13300000 | ||
293 | |||
294 | /* Start of RAM */ | ||
295 | #define PHYS_OFFSET SDRAM_BASE_ADDR | ||
296 | |||
297 | /* max interrupt lines count */ | ||
298 | #define NR_IRQS 256 | ||
299 | |||
300 | /* count of internal interrupt sources */ | ||
301 | #define MXC_MAX_INT_LINES 64 | ||
302 | |||
303 | #endif /* __ASM_ARCH_MXC_MX27_H__ */ | 292 | #endif /* __ASM_ARCH_MXC_MX27_H__ */ |
diff --git a/arch/arm/plat-mxc/include/mach/mx31.h b/arch/arm/plat-mxc/include/mach/mx31.h index 0536f8917bc0..de026654b00e 100644 --- a/arch/arm/plat-mxc/include/mach/mx31.h +++ b/arch/arm/plat-mxc/include/mach/mx31.h | |||
@@ -15,11 +15,6 @@ | |||
15 | #error "Do not include directly." | 15 | #error "Do not include directly." |
16 | #endif | 16 | #endif |
17 | 17 | ||
18 | /*! | ||
19 | * defines the hardware clock tick rate | ||
20 | */ | ||
21 | #define CLOCK_TICK_RATE 16625000 | ||
22 | |||
23 | /* | 18 | /* |
24 | * MX31 memory map: | 19 | * MX31 memory map: |
25 | * | 20 | * |
@@ -244,9 +239,6 @@ | |||
244 | #define PCMCIA_IO_ADDRESS(x) \ | 239 | #define PCMCIA_IO_ADDRESS(x) \ |
245 | (((x) - X_MEMC_BASE_ADDR) + X_MEMC_BASE_ADDR_VIRT) | 240 | (((x) - X_MEMC_BASE_ADDR) + X_MEMC_BASE_ADDR_VIRT) |
246 | 241 | ||
247 | /* Start of physical RAM - On many MX31 platforms, this is the first SDRAM bank (CSD0) */ | ||
248 | #define PHYS_OFFSET CSD0_BASE_ADDR | ||
249 | |||
250 | /* | 242 | /* |
251 | * Interrupt numbers | 243 | * Interrupt numbers |
252 | */ | 244 | */ |
@@ -315,23 +307,6 @@ | |||
315 | #define MXC_INT_EXT_WDOG 62 | 307 | #define MXC_INT_EXT_WDOG 62 |
316 | #define MXC_INT_EXT_TV 63 | 308 | #define MXC_INT_EXT_TV 63 |
317 | 309 | ||
318 | #define MXC_MAX_INT_LINES 64 | ||
319 | |||
320 | #define MXC_GPIO_INT_BASE MXC_MAX_INT_LINES | ||
321 | #define MXC_MAX_GPIO_LINES (GPIO_NUM_PIN * GPIO_PORT_NUM) | ||
322 | #define MXC_MAX_VIRTUAL_INTS 16 | ||
323 | |||
324 | #define NR_IRQS (MXC_MAX_INT_LINES + MXC_MAX_GPIO_LINES + MXC_MAX_VIRTUAL_INTS) | ||
325 | |||
326 | /*! | ||
327 | * Number of GPIO port as defined in the IC Spec | ||
328 | */ | ||
329 | #define GPIO_PORT_NUM 3 | ||
330 | /*! | ||
331 | * Number of GPIO pins per port | ||
332 | */ | ||
333 | #define GPIO_NUM_PIN 32 | ||
334 | |||
335 | #define PROD_SIGNATURE 0x1 /* For MX31 */ | 310 | #define PROD_SIGNATURE 0x1 /* For MX31 */ |
336 | 311 | ||
337 | /* silicon revisions specific to i.MX31 */ | 312 | /* silicon revisions specific to i.MX31 */ |
diff --git a/arch/arm/plat-mxc/include/mach/mxc_timer.h b/arch/arm/plat-mxc/include/mach/mxc_timer.h index 130aebfbe168..6c19a134744b 100644 --- a/arch/arm/plat-mxc/include/mach/mxc_timer.h +++ b/arch/arm/plat-mxc/include/mach/mxc_timer.h | |||
@@ -26,7 +26,7 @@ | |||
26 | #include <linux/clk.h> | 26 | #include <linux/clk.h> |
27 | #include <mach/hardware.h> | 27 | #include <mach/hardware.h> |
28 | 28 | ||
29 | #ifdef CONFIG_ARCH_IMX | 29 | #ifdef CONFIG_ARCH_MX1 |
30 | #define TIMER_BASE IO_ADDRESS(TIM1_BASE_ADDR) | 30 | #define TIMER_BASE IO_ADDRESS(TIM1_BASE_ADDR) |
31 | #define TIMER_INTERRUPT TIM1_INT | 31 | #define TIMER_INTERRUPT TIM1_INT |
32 | 32 | ||
@@ -65,7 +65,7 @@ static void gpt_irq_acknowledge(void) | |||
65 | { | 65 | { |
66 | __raw_writel(0, TIMER_BASE + MXC_TSTAT); | 66 | __raw_writel(0, TIMER_BASE + MXC_TSTAT); |
67 | } | 67 | } |
68 | #endif /* CONFIG_ARCH_IMX */ | 68 | #endif /* CONFIG_ARCH_MX1 */ |
69 | 69 | ||
70 | #ifdef CONFIG_ARCH_MX2 | 70 | #ifdef CONFIG_ARCH_MX2 |
71 | #define TIMER_BASE IO_ADDRESS(GPT1_BASE_ADDR) | 71 | #define TIMER_BASE IO_ADDRESS(GPT1_BASE_ADDR) |
diff --git a/arch/arm/plat-mxc/include/mach/timex.h b/arch/arm/plat-mxc/include/mach/timex.h index 0b0af0253e91..07b4a73c9d2f 100644 --- a/arch/arm/plat-mxc/include/mach/timex.h +++ b/arch/arm/plat-mxc/include/mach/timex.h | |||
@@ -20,6 +20,12 @@ | |||
20 | #ifndef __ASM_ARCH_MXC_TIMEX_H__ | 20 | #ifndef __ASM_ARCH_MXC_TIMEX_H__ |
21 | #define __ASM_ARCH_MXC_TIMEX_H__ | 21 | #define __ASM_ARCH_MXC_TIMEX_H__ |
22 | 22 | ||
23 | #include <mach/hardware.h> /* for CLOCK_TICK_RATE */ | 23 | #if defined CONFIG_ARCH_MX1 |
24 | #define CLOCK_TICK_RATE 16000000 | ||
25 | #elif defined CONFIG_ARCH_MX2 | ||
26 | #define CLOCK_TICK_RATE 13300000 | ||
27 | #elif defined CONFIG_ARCH_MX3 | ||
28 | #define CLOCK_TICK_RATE 16625000 | ||
29 | #endif | ||
24 | 30 | ||
25 | #endif /* __ASM_ARCH_MXC_TIMEX_H__ */ | 31 | #endif /* __ASM_ARCH_MXC_TIMEX_H__ */ |