Sascha Hauer | 8c25c36 | 2009-06-04 11:32:12 +0200 | [diff] [blame] | 1 | #ifndef __MACH_MX25_H__ |
| 2 | #define __MACH_MX25_H__ |
| 3 | |
Uwe Kleine-König | c8e5db0 | 2009-11-12 21:51:55 +0100 | [diff] [blame] | 4 | #define MX25_AIPS1_BASE_ADDR 0x43f00000 |
Sascha Hauer | 8c25c36 | 2009-06-04 11:32:12 +0200 | [diff] [blame] | 5 | #define MX25_AIPS1_SIZE SZ_1M |
Uwe Kleine-König | c8e5db0 | 2009-11-12 21:51:55 +0100 | [diff] [blame] | 6 | #define MX25_AIPS2_BASE_ADDR 0x53f00000 |
Sascha Hauer | 8c25c36 | 2009-06-04 11:32:12 +0200 | [diff] [blame] | 7 | #define MX25_AIPS2_SIZE SZ_1M |
| 8 | #define MX25_AVIC_BASE_ADDR 0x68000000 |
Sascha Hauer | 8c25c36 | 2009-06-04 11:32:12 +0200 | [diff] [blame] | 9 | #define MX25_AVIC_SIZE SZ_1M |
| 10 | |
Uwe Kleine-König | a8ff045 | 2010-06-16 14:55:07 +0200 | [diff] [blame] | 11 | #define MX25_I2C1_BASE_ADDR (MX25_AIPS1_BASE_ADDR + 0x80000) |
| 12 | #define MX25_I2C3_BASE_ADDR (MX25_AIPS1_BASE_ADDR + 0x84000) |
Marc Kleine-Budde | c3f6a34 | 2010-07-22 11:41:56 +0200 | [diff] [blame] | 13 | #define MX25_CAN1_BASE_ADDR (MX25_AIPS1_BASE_ADDR + 0x88000) |
| 14 | #define MX25_CAN2_BASE_ADDR (MX25_AIPS1_BASE_ADDR + 0x8c000) |
Uwe Kleine-König | a8ff045 | 2010-06-16 14:55:07 +0200 | [diff] [blame] | 15 | #define MX25_I2C2_BASE_ADDR (MX25_AIPS1_BASE_ADDR + 0x98000) |
Uwe Kleine-König | 63ddc5b | 2010-06-21 17:34:58 +0200 | [diff] [blame] | 16 | #define MX25_CSPI1_BASE_ADDR (MX25_AIPS1_BASE_ADDR + 0xa4000) |
Sascha Hauer | 8c25c36 | 2009-06-04 11:32:12 +0200 | [diff] [blame] | 17 | #define MX25_IOMUXC_BASE_ADDR (MX25_AIPS1_BASE_ADDR + 0xac000) |
| 18 | |
| 19 | #define MX25_CRM_BASE_ADDR (MX25_AIPS2_BASE_ADDR + 0x80000) |
| 20 | #define MX25_GPT1_BASE_ADDR (MX25_AIPS2_BASE_ADDR + 0x90000) |
Uwe Kleine-König | cf3a6ab | 2010-10-25 15:54:58 +0200 | [diff] [blame] | 21 | #define MX25_GPIO4_BASE_ADDR (MX25_AIPS2_BASE_ADDR + 0x9c000) |
Uwe Kleine-König | 5f3d109 | 2010-11-10 22:15:45 +0100 | [diff] [blame] | 22 | #define MX25_PWM2_BASE_ADDR (MX25_AIPS2_BASE_ADDR + 0xa0000) |
Uwe Kleine-König | cf3a6ab | 2010-10-25 15:54:58 +0200 | [diff] [blame] | 23 | #define MX25_GPIO3_BASE_ADDR (MX25_AIPS2_BASE_ADDR + 0xa4000) |
Uwe Kleine-König | 5f3d109 | 2010-11-10 22:15:45 +0100 | [diff] [blame] | 24 | #define MX25_PWM3_BASE_ADDR (MX25_AIPS2_BASE_ADDR + 0xa8000) |
| 25 | #define MX25_PWM4_BASE_ADDR (MX25_AIPS2_BASE_ADDR + 0xc8000) |
Uwe Kleine-König | cf3a6ab | 2010-10-25 15:54:58 +0200 | [diff] [blame] | 26 | #define MX25_GPIO1_BASE_ADDR (MX25_AIPS2_BASE_ADDR + 0xcc000) |
| 27 | #define MX25_GPIO2_BASE_ADDR (MX25_AIPS2_BASE_ADDR + 0xd0000) |
Sascha Hauer | 8c25c36 | 2009-06-04 11:32:12 +0200 | [diff] [blame] | 28 | #define MX25_WDOG_BASE_ADDR (MX25_AIPS2_BASE_ADDR + 0xdc000) |
Uwe Kleine-König | 5f3d109 | 2010-11-10 22:15:45 +0100 | [diff] [blame] | 29 | #define MX25_PWM1_BASE_ADDR (MX25_AIPS2_BASE_ADDR + 0xe0000) |
Sascha Hauer | 8c25c36 | 2009-06-04 11:32:12 +0200 | [diff] [blame] | 30 | |
Uwe Kleine-König | 66ac2f2 | 2010-01-25 17:55:16 +0100 | [diff] [blame] | 31 | #define MX25_UART1_BASE_ADDR 0x43f90000 |
| 32 | #define MX25_UART2_BASE_ADDR 0x43f94000 |
Eric Bénard | 8402ed3 | 2010-06-08 11:03:00 +0200 | [diff] [blame] | 33 | #define MX25_AUDMUX_BASE_ADDR 0x43fb0000 |
Uwe Kleine-König | 7cc3c84 | 2010-06-24 15:20:44 +0200 | [diff] [blame] | 34 | #define MX25_UART3_BASE_ADDR 0x5000c000 |
| 35 | #define MX25_UART4_BASE_ADDR 0x50008000 |
| 36 | #define MX25_UART5_BASE_ADDR 0x5002c000 |
Sascha Hauer | 8c25c36 | 2009-06-04 11:32:12 +0200 | [diff] [blame] | 37 | |
Uwe Kleine-König | 63ddc5b | 2010-06-21 17:34:58 +0200 | [diff] [blame] | 38 | #define MX25_CSPI3_BASE_ADDR 0x50004000 |
| 39 | #define MX25_CSPI2_BASE_ADDR 0x50010000 |
Baruch Siach | a759544 | 2009-12-21 13:44:31 +0200 | [diff] [blame] | 40 | #define MX25_FEC_BASE_ADDR 0x50038000 |
Eric Bénard | 8402ed3 | 2010-06-08 11:03:00 +0200 | [diff] [blame] | 41 | #define MX25_SSI2_BASE_ADDR 0x50014000 |
| 42 | #define MX25_SSI1_BASE_ADDR 0x50034000 |
Baruch Siach | 27f5902 | 2010-01-14 11:24:14 +0200 | [diff] [blame] | 43 | #define MX25_NFC_BASE_ADDR 0xbb000000 |
Jason Liu | 6132ae8 | 2011-08-29 21:13:44 +0800 | [diff] [blame] | 44 | #define MX25_IIM_BASE_ADDR 0x53ff0000 |
Baruch Siach | dcbabbc | 2010-01-27 15:00:48 +0200 | [diff] [blame] | 45 | #define MX25_DRYICE_BASE_ADDR 0x53ffc000 |
Eric Bénard | f5e40c2 | 2010-10-02 17:15:28 +0200 | [diff] [blame] | 46 | #define MX25_ESDHC1_BASE_ADDR 0x53fb4000 |
| 47 | #define MX25_ESDHC2_BASE_ADDR 0x53fb8000 |
Baruch Siach | 04a03e5 | 2010-02-17 12:33:24 +0200 | [diff] [blame] | 48 | #define MX25_LCDC_BASE_ADDR 0x53fbc000 |
Baruch Siach | 49535a9 | 2010-05-26 15:12:10 +0300 | [diff] [blame] | 49 | #define MX25_KPP_BASE_ADDR 0x43fa8000 |
Eric Bénard | ec4aac2 | 2010-10-12 14:08:42 +0200 | [diff] [blame] | 50 | #define MX25_SDMA_BASE_ADDR 0x53fd4000 |
Uwe Kleine-König | 2c20b9f | 2010-11-10 21:27:55 +0100 | [diff] [blame] | 51 | #define MX25_USB_BASE_ADDR 0x53ff4000 |
| 52 | #define MX25_USB_OTG_BASE_ADDR (MX25_USB_BASE_ADDR + 0x0000) |
Uwe Kleine-König | 4c6c32b | 2010-11-29 08:58:14 +0100 | [diff] [blame] | 53 | /* |
| 54 | * The reference manual (IMX25RM, Rev. 1, 06/2009) specifies an offset of 0x200 |
| 55 | * for the host controller. Early documentation drafts specified 0x400 and |
| 56 | * Freescale internal sources confirm only the latter value to work. |
| 57 | */ |
| 58 | #define MX25_USB_HS_BASE_ADDR (MX25_USB_BASE_ADDR + 0x0400) |
Baruch Siach | f747847 | 2010-06-21 08:16:00 +0300 | [diff] [blame] | 59 | #define MX25_CSI_BASE_ADDR 0x53ff8000 |
Baruch Siach | a759544 | 2009-12-21 13:44:31 +0200 | [diff] [blame] | 60 | |
Uwe Kleine-König | a996314 | 2010-10-25 15:44:25 +0200 | [diff] [blame] | 61 | #define MX25_IO_P2V(x) IMX_IO_P2V(x) |
| 62 | #define MX25_IO_ADDRESS(x) IOMEM(MX25_IO_P2V(x)) |
| 63 | |
Shawn Guo | 8842a9e | 2012-06-14 11:16:14 +0800 | [diff] [blame] | 64 | /* |
| 65 | * Interrupt numbers |
| 66 | */ |
| 67 | #include <asm/irq.h> |
| 68 | #define MX25_INT_CSPI3 (NR_IRQS_LEGACY + 0) |
| 69 | #define MX25_INT_I2C1 (NR_IRQS_LEGACY + 3) |
| 70 | #define MX25_INT_I2C2 (NR_IRQS_LEGACY + 4) |
| 71 | #define MX25_INT_UART4 (NR_IRQS_LEGACY + 5) |
| 72 | #define MX25_INT_ESDHC2 (NR_IRQS_LEGACY + 8) |
| 73 | #define MX25_INT_ESDHC1 (NR_IRQS_LEGACY + 9) |
| 74 | #define MX25_INT_I2C3 (NR_IRQS_LEGACY + 10) |
| 75 | #define MX25_INT_SSI2 (NR_IRQS_LEGACY + 11) |
| 76 | #define MX25_INT_SSI1 (NR_IRQS_LEGACY + 12) |
| 77 | #define MX25_INT_CSPI2 (NR_IRQS_LEGACY + 13) |
| 78 | #define MX25_INT_CSPI1 (NR_IRQS_LEGACY + 14) |
| 79 | #define MX25_INT_GPIO3 (NR_IRQS_LEGACY + 16) |
| 80 | #define MX25_INT_CSI (NR_IRQS_LEGACY + 17) |
| 81 | #define MX25_INT_UART3 (NR_IRQS_LEGACY + 18) |
| 82 | #define MX25_INT_GPIO4 (NR_IRQS_LEGACY + 23) |
| 83 | #define MX25_INT_KPP (NR_IRQS_LEGACY + 24) |
| 84 | #define MX25_INT_DRYICE (NR_IRQS_LEGACY + 25) |
| 85 | #define MX25_INT_PWM1 (NR_IRQS_LEGACY + 26) |
| 86 | #define MX25_INT_UART2 (NR_IRQS_LEGACY + 32) |
| 87 | #define MX25_INT_NFC (NR_IRQS_LEGACY + 33) |
| 88 | #define MX25_INT_SDMA (NR_IRQS_LEGACY + 34) |
| 89 | #define MX25_INT_USB_HS (NR_IRQS_LEGACY + 35) |
| 90 | #define MX25_INT_PWM2 (NR_IRQS_LEGACY + 36) |
| 91 | #define MX25_INT_USB_OTG (NR_IRQS_LEGACY + 37) |
| 92 | #define MX25_INT_LCDC (NR_IRQS_LEGACY + 39) |
| 93 | #define MX25_INT_UART5 (NR_IRQS_LEGACY + 40) |
| 94 | #define MX25_INT_PWM3 (NR_IRQS_LEGACY + 41) |
| 95 | #define MX25_INT_PWM4 (NR_IRQS_LEGACY + 42) |
| 96 | #define MX25_INT_CAN1 (NR_IRQS_LEGACY + 43) |
| 97 | #define MX25_INT_CAN2 (NR_IRQS_LEGACY + 44) |
| 98 | #define MX25_INT_UART1 (NR_IRQS_LEGACY + 45) |
| 99 | #define MX25_INT_GPIO2 (NR_IRQS_LEGACY + 51) |
| 100 | #define MX25_INT_GPIO1 (NR_IRQS_LEGACY + 52) |
Sascha Hauer | 42a3f89 | 2012-09-18 10:05:31 +0200 | [diff] [blame] | 101 | #define MX25_INT_GPT1 (NR_IRQS_LEGACY + 54) |
Shawn Guo | 8842a9e | 2012-06-14 11:16:14 +0800 | [diff] [blame] | 102 | #define MX25_INT_FEC (NR_IRQS_LEGACY + 57) |
Baruch Siach | a759544 | 2009-12-21 13:44:31 +0200 | [diff] [blame] | 103 | |
Uwe Kleine-König | 4697bb9 | 2010-08-25 17:37:45 +0200 | [diff] [blame] | 104 | #define MX25_DMA_REQ_SSI2_RX1 22 |
| 105 | #define MX25_DMA_REQ_SSI2_TX1 23 |
| 106 | #define MX25_DMA_REQ_SSI2_RX0 24 |
| 107 | #define MX25_DMA_REQ_SSI2_TX0 25 |
| 108 | #define MX25_DMA_REQ_SSI1_RX1 26 |
| 109 | #define MX25_DMA_REQ_SSI1_TX1 27 |
| 110 | #define MX25_DMA_REQ_SSI1_RX0 28 |
| 111 | #define MX25_DMA_REQ_SSI1_TX0 29 |
| 112 | |
Jason Liu | d27536c | 2011-08-26 13:35:19 +0800 | [diff] [blame] | 113 | #ifndef __ASSEMBLY__ |
| 114 | extern int mx25_revision(void); |
| 115 | #endif |
| 116 | |
Uwe Kleine-König | 3cdd544 | 2010-01-08 16:02:30 +0100 | [diff] [blame] | 117 | #endif /* ifndef __MACH_MX25_H__ */ |