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 | |
Uwe Kleine-König | 63ddc5b | 2010-06-21 17:34:58 +0200 | [diff] [blame] | 64 | #define MX25_INT_CSPI3 0 |
Uwe Kleine-König | a8ff045 | 2010-06-16 14:55:07 +0200 | [diff] [blame] | 65 | #define MX25_INT_I2C1 3 |
| 66 | #define MX25_INT_I2C2 4 |
Uwe Kleine-König | 7cc3c84 | 2010-06-24 15:20:44 +0200 | [diff] [blame] | 67 | #define MX25_INT_UART4 5 |
Eric Bénard | c074512 | 2010-10-12 13:12:32 +0200 | [diff] [blame] | 68 | #define MX25_INT_ESDHC2 8 |
| 69 | #define MX25_INT_ESDHC1 9 |
Uwe Kleine-König | a8ff045 | 2010-06-16 14:55:07 +0200 | [diff] [blame] | 70 | #define MX25_INT_I2C3 10 |
Uwe Kleine-König | 2dcf78c | 2010-06-30 12:16:24 +0200 | [diff] [blame] | 71 | #define MX25_INT_SSI2 11 |
| 72 | #define MX25_INT_SSI1 12 |
Uwe Kleine-König | 63ddc5b | 2010-06-21 17:34:58 +0200 | [diff] [blame] | 73 | #define MX25_INT_CSPI2 13 |
| 74 | #define MX25_INT_CSPI1 14 |
Uwe Kleine-König | d485c7e | 2010-11-11 10:52:33 +0100 | [diff] [blame] | 75 | #define MX25_INT_GPIO3 16 |
Uwe Kleine-König | 2dcf78c | 2010-06-30 12:16:24 +0200 | [diff] [blame] | 76 | #define MX25_INT_CSI 17 |
Uwe Kleine-König | 7cc3c84 | 2010-06-24 15:20:44 +0200 | [diff] [blame] | 77 | #define MX25_INT_UART3 18 |
Uwe Kleine-König | d485c7e | 2010-11-11 10:52:33 +0100 | [diff] [blame] | 78 | #define MX25_INT_GPIO4 23 |
Uwe Kleine-König | 2dcf78c | 2010-06-30 12:16:24 +0200 | [diff] [blame] | 79 | #define MX25_INT_KPP 24 |
Uwe Kleine-König | a8ff045 | 2010-06-16 14:55:07 +0200 | [diff] [blame] | 80 | #define MX25_INT_DRYICE 25 |
Uwe Kleine-König | 5f3d109 | 2010-11-10 22:15:45 +0100 | [diff] [blame] | 81 | #define MX25_INT_PWM1 26 |
Uwe Kleine-König | 7cc3c84 | 2010-06-24 15:20:44 +0200 | [diff] [blame] | 82 | #define MX25_INT_UART2 32 |
Uwe Kleine-König | 00b57bf | 2010-08-23 11:25:52 +0200 | [diff] [blame] | 83 | #define MX25_INT_NFC 33 |
Eric Bénard | ec4aac2 | 2010-10-12 14:08:42 +0200 | [diff] [blame] | 84 | #define MX25_INT_SDMA 34 |
Uwe Kleine-König | 2c20b9f | 2010-11-10 21:27:55 +0100 | [diff] [blame] | 85 | #define MX25_INT_USB_HS 35 |
Uwe Kleine-König | 5f3d109 | 2010-11-10 22:15:45 +0100 | [diff] [blame] | 86 | #define MX25_INT_PWM2 36 |
Uwe Kleine-König | 2c20b9f | 2010-11-10 21:27:55 +0100 | [diff] [blame] | 87 | #define MX25_INT_USB_OTG 37 |
Uwe Kleine-König | a8ff045 | 2010-06-16 14:55:07 +0200 | [diff] [blame] | 88 | #define MX25_INT_LCDC 39 |
Uwe Kleine-König | 7cc3c84 | 2010-06-24 15:20:44 +0200 | [diff] [blame] | 89 | #define MX25_INT_UART5 40 |
Uwe Kleine-König | 5f3d109 | 2010-11-10 22:15:45 +0100 | [diff] [blame] | 90 | #define MX25_INT_PWM3 41 |
| 91 | #define MX25_INT_PWM4 42 |
Marc Kleine-Budde | c3f6a34 | 2010-07-22 11:41:56 +0200 | [diff] [blame] | 92 | #define MX25_INT_CAN1 43 |
| 93 | #define MX25_INT_CAN2 44 |
Uwe Kleine-König | 7cc3c84 | 2010-06-24 15:20:44 +0200 | [diff] [blame] | 94 | #define MX25_INT_UART1 45 |
Uwe Kleine-König | d485c7e | 2010-11-11 10:52:33 +0100 | [diff] [blame] | 95 | #define MX25_INT_GPIO2 51 |
| 96 | #define MX25_INT_GPIO1 52 |
Uwe Kleine-König | 63ddc5b | 2010-06-21 17:34:58 +0200 | [diff] [blame] | 97 | #define MX25_INT_FEC 57 |
Baruch Siach | a759544 | 2009-12-21 13:44:31 +0200 | [diff] [blame] | 98 | |
Uwe Kleine-König | 4697bb9 | 2010-08-25 17:37:45 +0200 | [diff] [blame] | 99 | #define MX25_DMA_REQ_SSI2_RX1 22 |
| 100 | #define MX25_DMA_REQ_SSI2_TX1 23 |
| 101 | #define MX25_DMA_REQ_SSI2_RX0 24 |
| 102 | #define MX25_DMA_REQ_SSI2_TX0 25 |
| 103 | #define MX25_DMA_REQ_SSI1_RX1 26 |
| 104 | #define MX25_DMA_REQ_SSI1_TX1 27 |
| 105 | #define MX25_DMA_REQ_SSI1_RX0 28 |
| 106 | #define MX25_DMA_REQ_SSI1_TX0 29 |
| 107 | |
Jason Liu | d27536c | 2011-08-26 13:35:19 +0800 | [diff] [blame] | 108 | #ifndef __ASSEMBLY__ |
| 109 | extern int mx25_revision(void); |
| 110 | #endif |
| 111 | |
Uwe Kleine-König | 3cdd544 | 2010-01-08 16:02:30 +0100 | [diff] [blame] | 112 | #endif /* ifndef __MACH_MX25_H__ */ |