Go to the documentation of this file.00001 #ifndef _ARCH_CM3_NXP_MACH_LPC1768_H_
00002 #define _ARCH_CM3_NXP_MACH_LPC1768_H_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00047 #ifndef LPC_FLASH_BASE
00048
00049 #define LPC_FLASH_BASE 0x00000000
00050 #define LPC_RAM_BASE 0x10000000
00051 #define LPC_GPIO_BASE 0x2009C000
00052 #define LPC_APB0_BASE 0x40000000
00053 #define LPC_APB1_BASE 0x40080000
00054 #define LPC_AHB_BASE 0x50000000
00055 #define LPC_CM3_BASE 0xE0000000
00056
00057
00058 #define LPC_WDT_BASE (LPC_APB0_BASE + 0x00000000)
00059 #define LPC_TIM0_BASE (LPC_APB0_BASE + 0x00004000)
00060 #define LPC_TIM1_BASE (LPC_APB0_BASE + 0x00008000)
00061 #define LPC_UART0_BASE (LPC_APB0_BASE + 0x0000C000)
00062 #define LPC_UART1_BASE (LPC_APB0_BASE + 0x00010000)
00063 #define LPC_PWM1_BASE (LPC_APB0_BASE + 0x00018000)
00064 #define LPC_I2C0_BASE (LPC_APB0_BASE + 0x0001C000)
00065 #define LPC_SPI_BASE (LPC_APB0_BASE + 0x00020000)
00066 #define LPC_RTC_BASE (LPC_APB0_BASE + 0x00024000)
00067 #define LPC_GPIOINT_BASE (LPC_APB0_BASE + 0x00028080)
00068 #define LPC_PINCON_BASE (LPC_APB0_BASE + 0x0002C000)
00069 #define LPC_SSP1_BASE (LPC_APB0_BASE + 0x00030000)
00070 #define LPC_ADC_BASE (LPC_APB0_BASE + 0x00034000)
00071 #define LPC_CANAF_RAM_BASE (LPC_APB0_BASE + 0x00038000)
00072 #define LPC_CANAF_BASE (LPC_APB0_BASE + 0x0003C000)
00073 #define LPC_CANCR_BASE (LPC_APB0_BASE + 0x00040000)
00074 #define LPC_CAN1_BASE (LPC_APB0_BASE + 0x00044000)
00075 #define LPC_CAN2_BASE (LPC_APB0_BASE + 0x00048000)
00076 #define LPC_I2C1_BASE (LPC_APB0_BASE + 0x0005C000)
00077
00078
00079 #define LPC_SSP0_BASE (LPC_APB1_BASE + 0x00008000)
00080 #define LPC_DAC_BASE (LPC_APB1_BASE + 0x0000C000)
00081 #define LPC_TIM2_BASE (LPC_APB1_BASE + 0x00010000)
00082 #define LPC_TIM3_BASE (LPC_APB1_BASE + 0x00014000)
00083 #define LPC_UART2_BASE (LPC_APB1_BASE + 0x00018000)
00084 #define LPC_UART3_BASE (LPC_APB1_BASE + 0x0001C000)
00085 #define LPC_I2C2_BASE (LPC_APB1_BASE + 0x00020000)
00086 #define LPC_I2S_BASE (LPC_APB1_BASE + 0x00028000)
00087 #define LPC_RIT_BASE (LPC_APB1_BASE + 0x00030000)
00088 #define LPC_MCPWM_BASE (LPC_APB1_BASE + 0x00038000)
00089 #define LPC_QEI_BASE (LPC_APB1_BASE + 0x0003C000)
00090 #define LPC_SC_BASE (LPC_APB1_BASE + 0x0007C000)
00091
00092
00093 #define LPC_EMAC_BASE (LPC_AHB_BASE + 0x00000000)
00094 #define LPC_GPDMA_BASE (LPC_AHB_BASE + 0x00004000)
00095 #define LPC_GPDMACH0_BASE (LPC_AHB_BASE + 0x00004100)
00096 #define LPC_GPDMACH1_BASE (LPC_AHB_BASE + 0x00004120)
00097 #define LPC_GPDMACH2_BASE (LPC_AHB_BASE + 0x00004140)
00098 #define LPC_GPDMACH3_BASE (LPC_AHB_BASE + 0x00004160)
00099 #define LPC_GPDMACH4_BASE (LPC_AHB_BASE + 0x00004180)
00100 #define LPC_GPDMACH5_BASE (LPC_AHB_BASE + 0x000041A0)
00101 #define LPC_GPDMACH6_BASE (LPC_AHB_BASE + 0x000041C0)
00102 #define LPC_GPDMACH7_BASE (LPC_AHB_BASE + 0x000041E0)
00103 #define LPC_USB_BASE (LPC_AHB_BASE + 0x0000C000)
00104
00105
00106 #define LPC_GPIO0_BASE (LPC_GPIO_BASE + 0x00000000)
00107 #define LPC_GPIO1_BASE (LPC_GPIO_BASE + 0x00000020)
00108 #define LPC_GPIO2_BASE (LPC_GPIO_BASE + 0x00000040)
00109 #define LPC_GPIO3_BASE (LPC_GPIO_BASE + 0x00000060)
00110 #define LPC_GPIO4_BASE (LPC_GPIO_BASE + 0x00000080)
00111 #endif
00112
00113 #include <arch/cm3/nxp/mach/lpc_adc.h>
00114 #include <arch/cm3/nxp/mach/lpc_can.h>
00115 #include <arch/cm3/nxp/mach/lpc_dac.h>
00116
00117
00118 #include <arch/cm3/nxp/mach/lpc_gpio.h>
00119 #include <arch/cm3/nxp/mach/lpc_i2c.h>
00120
00121
00122 #include <arch/cm3/nxp/mach/lpc_pincon.h>
00123
00124
00125
00126
00127 #include <arch/cm3/nxp/mach/lpc_sc.h>
00128 #include <arch/cm3/nxp/mach/lpc_spi.h>
00129 #include <arch/cm3/nxp/mach/lpc_ssp.h>
00130 #include <arch/cm3/nxp/mach/lpc_tim.h>
00131 #include <arch/cm3/nxp/mach/lpc_uart.h>
00132
00133
00134
00137 #define WDT_ID 0
00138 #define TIMER0_ID 1
00139 #define TIMER1_ID 2
00140 #define TC2_ID 3
00141 #define TIMER3_ID 4
00142 #define UART0_ID 5
00143 #define UART1_ID 6
00144 #define UART2_ID 7
00145 #define UART3_ID 8
00146 #define PWM1_ID 9
00147 #define I2C0_ID 10
00148 #define I2C1_ID 11
00149 #define I2C2_ID 12
00150 #define SPI_ID 13
00151 #define SSP0_ID 14
00152 #define SSP1_ID 15
00153 #define PLL0_ID 16
00154 #define RTC_ID 17
00155 #define EINT0_ID 18
00156 #define EINT1_ID 19
00157 #define EINT2_ID 20
00158 #define EINT3_ID 21
00159 #define ADC_ID 22
00160 #define BOD_ID 23
00161 #define USB_ID 24
00162 #define CAN_ID 25
00163 #define DMA_ID 26
00164 #define I2S_ID 27
00165 #define ENET_ID 28
00166 #define RIT_ID 29
00167 #define MCPWM_ID 30
00168 #define QEI_ID 31
00169 #define PLL1_ID 32
00170 #define USBACTIVITY_ID 33
00171 #define CANACTIVITY_ID 34
00172
00177 #define PS7_P3_26_STCLK (1 << 20)
00178 #define PS3_P1_27_CLKOUT (1 << 22)
00179
00183 #define PS4_P2_10_NMI (2 << 20)
00184 #define PS4_P2_10_EINT0 (1 << 20)
00185 #define PS4_P2_11_EINT1 (1 << 22)
00186 #define PS4_P2_12_EINT2 (1 << 24)
00187 #define PS4_P2_13_EINT3 (1 << 26)
00188
00192 #define PS3_P1_26_CAP0_0 (3 << 20)
00193 #define PS3_P1_27_CAP0_1 (3 << 22)
00194 #define PS3_P1_28_MAT0_0 (3 << 24)
00195 #define PS7_P3_25_MAT0_0 (2 << 18)
00196 #define PS3_P1_29_MAT0_1 (3 << 26)
00197 #define PS7_P3_26_MAT0_1 (2 << 20)
00198
00202 #define PS3_P1_18_CAP1_0 (3 << 4)
00203 #define PS3_P1_19_CAP1_1 (3 << 6)
00204 #define PS3_P1_22_MAT1_0 (3 << 12)
00205 #define PS3_P1_25_MAT1_1 (3 << 18)
00206
00210 #define PS0_P0_4_CAP2_0 (3 << 8)
00211 #define PS0_P0_5_CAP2_1 (3 << 10)
00212 #define PS0_P0_6_MAT2_0 (3 << 12)
00213 #define PS9_P4_28_MAT2_0 (2 << 24)
00214 #define PS0_P0_7_MAT2_1 (3 << 14)
00215 #define PS9_P4_29_MAT2_1 (2 << 26)
00216 #define PS0_P0_8_MAT2_2 (3 << 16)
00217 #define PS0_P0_9_MAT2_3 (3 << 18)
00218
00222 #define PS1_P0_23_CAP3_0 (3 << 14)
00223 #define PS1_P0_24_CAP3_1 (3 << 16)
00224 #define PS0_P0_10_MAT3_0 (3 << 20)
00225 #define PS0_P0_11_MAT3_1 (3 << 22)
00226
00230 #define PS1_P0_23_AD0_0 (1 << 14)
00231 #define PS1_P0_24_AD0_1 (1 << 16)
00232 #define PS1_P0_25_AD0_2 (1 << 18)
00233 #define PS1_P0_26_AD0_3 (1 << 20)
00234 #define PS3_P1_30_AD0_4 (3 << 28)
00235 #define PS3_P1_31_AD0_5 (3 << 30)
00236 #define PS0_P0_2_AD0_7 (2 << 4)
00237 #define PS0_P0_3_AD0_6 (2 << 6)
00238
00242 #define PS1_P0_26_AOUT (2 << 20)
00243
00247 #define PS1_P0_17_MISO0 (2 << 2)
00248 #define PS3_P1_23_MISO0 (3 << 14)
00249 #define PS1_P0_18_MOSI0 (2 << 4)
00250 #define PS3_P1_24_MOSI0 (3 << 16)
00251 #define PS0_P0_15_SCK0 (2 << 30)
00252 #define PS3_P1_20_SCK0 (3 << 8)
00253 #define PS1_P0_16_SSEL0 (2 << 0)
00254 #define PS3_P1_21_SSEL0 (3 << 10)
00255
00259 #define PS0_P0_8_MISO1 (2 << 16)
00260 #define PS0_P0_9_MOSI1 (2 << 18)
00261 #define PS0_P0_7_SCK1 (2 << 14)
00262 #define PS3_P1_31_SCK1 (2 << 30)
00263 #define PS0_P0_6_SSEL1 (2 << 12)
00264
00268 #define PS1_P0_17_MISO (3 << 2)
00269 #define PS1_P0_18_MOSI (3 << 4)
00270 #define PS0_P0_15_SCK (3 << 30)
00271 #define PS1_P0_16_SSEL (3 << 0)
00272
00276 #define PS1_P0_27_SDA0 (1 << 22)
00277 #define PS1_P0_28_SCL0 (1 << 24)
00278
00282 #define PS0_P0_0_SDA1 (3 << 0)
00283 #define PS1_P0_19_SDA1 (3 << 6)
00284 #define PS0_P0_1_SCL1 (3 << 2)
00285 #define PS1_P0_20_SCL1 (3 << 8)
00286
00290 #define PS0_P0_10_SDA2 (2 << 20)
00291 #define PS0_P0_11_SCL2 (2 << 22)
00292
00296 #define PS0_P0_6_I2SRX_SDA (1 << 12)
00297 #define PS1_P0_25_I2SRX_SDA (2 << 18)
00298 #define PS0_P0_5_I2SRX_WS (1 << 10)
00299 #define PS1_P0_24_I2SRX_WS (2 << 16)
00300 #define PS0_P0_4_I2SRX_CLK (1 << 8)
00301 #define PS1_P0_23_I2SRX_CLK (2 << 14)
00302 #define PS9_P4_28_RX_MCLK (1 << 24)
00303 #define PS0_P0_9_I2STX_SDA (1 << 18)
00304 #define PS4_P2_13_I2STX_SDA (3 << 26)
00305 #define PS0_P0_8_I2STX_WS (1 << 16)
00306 #define PS4_P2_12_I2STX_WS (3 << 24)
00307 #define PS0_P0_7_I2STX_CLK (1 << 14)
00308 #define PS4_P2_11_I2STX_CLK (3 << 22)
00309 #define PS9_P4_29_TX_MCLK (1 << 26)
00310
00314 #define PS3_P1_18_PWM1_1 (2 << 4)
00315 #define PS4_P2_0_PWM1_1 (1 << 0)
00316 #define PS3_P1_20_PWM1_2 (2 << 8)
00317 #define PS4_P2_1_PWM1_2 (1 << 2)
00318 #define PS7_P3_25_PWM1_2 (3 << 18)
00319 #define PS3_P1_21_PWM1_3 (2 << 10)
00320 #define PS4_P2_2_PWM1_3 (1 << 4)
00321 #define PS7_P3_26_PWM1_3 (3 << 20)
00322 #define PS3_P1_23_PWM1_4 (2 << 14)
00323 #define PS4_P2_3_PWM1_4 (1 << 6)
00324 #define PS3_P1_24_PWM1_5 (2 << 16)
00325 #define PS4_P2_4_PWM1_5 (1 << 8)
00326 #define PS3_P1_26_PWM1_6 (2 << 20)
00327 #define PS4_P2_5_PWM1_6 (1 << 10)
00328 #define PS3_P1_28_PCAP1_0 (2 << 24)
00329 #define PS4_P2_6_PCAP1_0 (1 << 12)
00330 #define PS3_P1_29_PCAP1_1 (2 << 26)
00331
00335 #define PS3_P1_19_MCOA0 (1 << 6)
00336 #define PS3_P1_22_MCOB0 (1 << 12)
00337 #define PS3_P1_20_MCI0 (1 << 8)
00338 #define PS3_P1_21_MCABORT (1 << 10)
00339
00343 #define PS3_P1_25_MCOA1 (1 << 18)
00344 #define PS3_P1_26_MCOB1 (1 << 20)
00345 #define PS3_P1_23_MCI1 (1 << 14)
00346
00350 #define PS3_P1_28_MCOA2 (1 << 24)
00351 #define PS3_P1_29_MCOB2 (1 << 26)
00352 #define PS3_P1_24_MCI2 (1 << 16)
00353
00357 #define PS0_P0_2_TXD0 (1 << 4)
00358 #define PS0_P0_3_RXD0 (1 << 6)
00359
00363 #define PS0_P0_15_TXD1 (1 << 30)
00364 #define PS4_P2_0_TXD1 (2 << 0)
00365 #define PS1_P0_16_RXD1 (1 << 0)
00366 #define PS4_P2_1_RXD1 (2 << 2)
00367 #define PS1_P0_17_CTS1 (1 << 2)
00368 #define PS4_P2_2_CTS1 (2 << 4)
00369 #define PS1_P0_22_RTS1 (1 << 12)
00370 #define PS4_P2_7_RTS1 (2 << 14)
00371 #define PS1_P0_19_DSR1 (1 << 6)
00372 #define PS4_P2_4_DSR1 (2 << 8)
00373 #define PS1_P0_20_DTR1 (1 << 8)
00374 #define PS4_P2_5_DTR1 (2 << 10)
00375 #define PS1_P0_18_DCD1 (1 << 4)
00376 #define PS4_P2_3_DCD1 (2 << 6)
00377 #define PS1_P0_21_RI1 (1 << 10)
00378 #define PS4_P2_6_RI1 (2 << 12)
00379
00383 #define PS0_P0_10_TXD2 (1 << 20)
00384 #define PS4_P2_8_TXD2 (2 << 16)
00385 #define PS0_P0_11_RXD2 (1 << 22)
00386 #define PS4_P2_9_RXD2 (2 << 18)
00387
00391 #define PS0_P0_0_TXD3 (2 << 0)
00392 #define PS1_P0_25_TXD3 (3 << 18)
00393 #define PS9_P4_28_TXD3 (3 << 24)
00394 #define PS0_P0_1_RXD3 (2 << 2)
00395 #define PS1_P0_26_RXD3 (3 << 20)
00396 #define PS9_P4_29_RXD3 (3 << 26)
00397
00401 #define PS0_P0_1_TD1 (1 << 2)
00402 #define PS1_P0_22_TD1 (3 << 12)
00403 #define PS0_P0_0_RD1 (1 << 0)
00404 #define PS1_P0_21_RD1 (3 << 10)
00405
00409 #define PS0_P0_5_TD2 (2 << 10)
00410 #define PS4_P2_8_TD2 (1 << 16)
00411 #define PS0_P0_4_RD2 (2 << 8)
00412 #define PS4_P2_7_RD2 (1 << 14)
00413
00417 #define PS2_P1_0_ENET_TXD0 (1 << 0)
00418 #define PS2_P1_1_ENET_TXD1 (1 << 2)
00419 #define PS2_P1_9_ENET_RXD0 (1 << 18)
00420 #define PS2_P1_10_ENET_RXD1 (1 << 20)
00421 #define PS2_P1_4_ENET_TX_EN (1 << 8)
00422 #define PS2_P1_14_ENET_RX_ER (1 << 28)
00423 #define PS2_P1_8_ENET_CRS (1 << 16)
00424 #define PS2_P1_15_ENET_REF_CLK (1 << 30)
00425 #define PS3_P1_16_ENET_MDC (1 << 0)
00426 #define PS4_P2_8_ENET_MDC (3 << 16)
00427 #define PS3_P1_17_ENET_MDIO (1 << 2)
00428 #define PS4_P2_9_ENET_MDIO (3 << 18)
00429
00433 #define PS1_P0_29_USB_DP (1 << 26)
00434 #define PS1_P0_30_USB_DM (1 << 28)
00435 #define PS1_P0_28_USB_SCL (2 << 24)
00436 #define PS1_P0_27_USB_SDA (2 << 22)
00437 #define PS3_P1_18_USB_UP_LED (1 << 4)
00438 #define PS3_P1_19_USB_PPWR (2 << 6)
00439 #define PS3_P1_22_USB_PWRD (2 << 12)
00440 #define PS4_P2_9_USB_CONNECT (1 << 18)
00441 #define PS3_P1_27_USB_OVRCR (2 << 22)
00442 #define PS3_P1_30_VBUS (2 << 28)
00443
00448 #define P0_0_RD1_TXD3_SDA1 0
00449 #define P0_1_TD1_RXD3_SCL1 1
00450 #define P0_2_TXD0_AD0_7 2
00451 #define P0_3_RXD0_AD0_6 3
00452 #define P0_4_I2SRX_CLK_RD2_CAP2_0 4
00453 #define P0_5_I2SRX_WS_TD2_CAP2_1 5
00454 #define P0_6_I2SRX_SDA_SSEL1_MAT2_0 6
00455 #define P0_7_I2STX_CLK_SCK1_MAT2_1 7
00456 #define P0_8_I2STX_WS_MISO1_MAT2_2 8
00457 #define P0_9_I2STX_SDA_MOSI1_MAT2_3 9
00458 #define P0_10_TXD2_SDA2_MAT3_0 10
00459 #define P0_11_RXD2_SCL2_MAT3_1 11
00460 #define P0_15_TXD1_SCK0_SCK 15
00461 #define P0_16_RXD1_SSEL0_SSEL 16
00462 #define P0_17_CTS1_MISO0_MISO 17
00463 #define P0_18_DCD1_MOSI0_MOSI 18
00464 #define P0_19_DSR1_SDA1 19
00465 #define P0_20_DTR1_SCL1 20
00466 #define P0_21_RI1_RD1 21
00467 #define P0_22_RTS1_TD1 22
00468 #define P0_23_AD0_0_I2SRX_CLK_CAP3_0 23
00469 #define P0_24_AD0_1_I2SRX_WS_CAP3_1 24
00470 #define P0_25_AD0_2_I2SRX_SDA_TXD3 25
00471 #define P0_26_AD0_3_AOUT_RXD3 26
00472 #define P0_27_SDA0_USB_SDA 27
00473 #define P0_28_SCL0_USB_SCL 28
00474 #define P0_29_USB_DP 29
00475 #define P0_30_USB_DM 30
00476
00480 #define P1_0_ENET_TXD0 0
00481 #define P1_1_ENET_TXD1 1
00482 #define P1_4_ENET_TX_EN 4
00483 #define P1_8_ENET_CRS 8
00484 #define P1_9_ENET_RXD0 9
00485 #define P1_10_ENET_RXD1 10
00486 #define P1_14_ENET_RX_ER 14
00487 #define P1_15_ENET_REF_CLK 15
00488 #define P1_16_ENET_MDC 16
00489 #define P1_17_ENET_MDIO 17
00490 #define P1_18_USB_UP_LED_PWM1_1_CAP1_0 18
00491 #define P1_19_MCOA0_USB_PPWR_CAP1_1 19
00492 #define P1_20_MCI0_PWM1_2_SCK0 20
00493 #define P1_21_MCABORT_PWM1_3_SSEL0 21
00494 #define P1_22_MCOB0_USB_PWRD_MAT1_0 22
00495 #define P1_23_MCI1_PWM1_4_MISO0 23
00496 #define P1_24_MCI2_PWM1_5_MOSI0 24
00497 #define P1_25_MCOA1_MAT1_1 25
00498 #define P1_26_MCOB1_PWM1_6_CAP0_0 26
00499 #define P1_27_CLKOUT_USB_OVRCR_CAP0_1 27
00500 #define P1_28_MCOA2_PCAP1_0_MAT0_0 28
00501 #define P1_29_MCOB2_PCAP1_1_MAT0_1 29
00502 #define P1_30_VBUS_AD0_4 30
00503 #define P1_31_SCK1_AD0_5 31
00504
00508 #define P2_0_PWM1_1_TXD1 0
00509 #define P2_1_PWM1_2_RXD1 1
00510 #define P2_2_PWM1_3_CTS1_TRACEDATA3 2
00511 #define P2_3_PWM1_4_DCD1_TRACEDATA2 3
00512 #define P2_4_PWM1_5_DSR1_TRACEDATA1 4
00513 #define P2_5_PWM1_6_DTR1_TRACEDATA0 5
00514 #define P2_6_PCAP1_0_RI1_TRACECLK 6
00515 #define P2_7_RD2_RTS1 7
00516 #define P2_8_TD2_TXD2_ENET_MDC 8
00517 #define P2_9_USB_CONNECT_RXD2_ENET_MDIO 9
00518 #define P2_10_EINT0_NMI 10
00519 #define P2_11_EINT1_I2STX_CLK 11
00520 #define P2_12_EINT2_I2STX_WS 12
00521 #define P2_13_EINT3_I2STX_SDA 13
00522
00526 #define P3_25_MAT0_0_PWM1_2 25
00527 #define P3_26_STCLK_MAT0_1_PWM1_3 26
00528
00532 #define P4_28_RX_MCLK_MAT2_0_TXD3 28
00533 #define P4_29_TX_MCLK_MAT2_1_RXD3 29
00534
00537 #endif