]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - sys/arm/at91/at91_pio_sam9g20.h
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / sys / arm / at91 / at91_pio_sam9g20.h
1 /*
2  * Theses defines come from an atmel file that says specifically that it
3  * has no copyright.
4  *
5  * These defines are also usable for the AT91SAM9260 which has pin multiplexing
6  * that is identical to the AT91SAM9G20.
7  */
8
9 /* $FreeBSD$ */
10
11 #ifndef  ARM_AT91_AT91_PIO_SAM9G20_H
12 #define  ARM_AT91_AT91_PIO_SAM9G20_H
13
14 #include <arm/at91/at91_pioreg.h>
15
16
17 // *****************************************************************************
18 //               PIO DEFINITIONS FOR AT91SAM9G20
19 // *****************************************************************************
20 #define AT91C_PA0_SPI0_MISO (AT91C_PIO_PA0)  //  SPI 0 Master In Slave
21 #define AT91C_PA0_MCDB0     (AT91C_PIO_PA0)  //  Multimedia Card B Data 0
22 #define AT91C_PA1_SPI0_MOSI (AT91C_PIO_PA1)  //  SPI 0 Master Out Slave
23 #define AT91C_PA1_MCCDB     (AT91C_PIO_PA1)  //  Multimedia Card B Command
24 #define AT91C_PA10_MCDA2    (AT91C_PIO_PA10) //  Multimedia Card A Data 2
25 #define AT91C_PA10_ETX2_0   (AT91C_PIO_PA10) //  Ethernet MAC Transmit Data 2
26 #define AT91C_PA11_MCDA3    (AT91C_PIO_PA11) //  Multimedia Card A Data 3
27 #define AT91C_PA11_ETX3_0   (AT91C_PIO_PA11) //  Ethernet MAC Transmit Data 3
28 #define AT91C_PA12_ETX0     (AT91C_PIO_PA12) //  Ethernet MAC Transmit Data 0
29 #define AT91C_PA13_ETX1     (AT91C_PIO_PA13) //  Ethernet MAC Transmit Data 1
30 #define AT91C_PA14_ERX0     (AT91C_PIO_PA14) //  Ethernet MAC Receive Data 0
31 #define AT91C_PA15_ERX1     (AT91C_PIO_PA15) //  Ethernet MAC Receive Data 1
32 #define AT91C_PA16_ETXEN    (AT91C_PIO_PA16) //  Ethernet MAC Transmit Enable
33 #define AT91C_PA17_ERXDV    (AT91C_PIO_PA17) //  Ethernet MAC Receive Data Valid
34 #define AT91C_PA18_ERXER    (AT91C_PIO_PA18) //  Ethernet MAC Receive Error
35 #define AT91C_PA19_ETXCK    (AT91C_PIO_PA19) //  Ethernet MAC Transmit Clock/Reference Clock
36 #define AT91C_PA2_SPI0_SPCK (AT91C_PIO_PA2)  //  SPI 0 Serial Clock
37 #define AT91C_PA20_EMDC     (AT91C_PIO_PA20) //  Ethernet MAC Management Data Clock
38 #define AT91C_PA21_EMDIO    (AT91C_PIO_PA21) //  Ethernet MAC Management Data Input/Output
39 #define AT91C_PA22_ADTRG    (AT91C_PIO_PA22) //  ADC Trigger
40 #define AT91C_PA22_ETXER    (AT91C_PIO_PA22) //  Ethernet MAC Transmikt Coding Error
41 #define AT91C_PA23_TWD      (AT91C_PIO_PA23) //  TWI Two-wire Serial Data
42 #define AT91C_PA23_ETX2_1   (AT91C_PIO_PA23) //  Ethernet MAC Transmit Data 2
43 #define AT91C_PA24_TWCK     (AT91C_PIO_PA24) //  TWI Two-wire Serial Clock
44 #define AT91C_PA24_ETX3_1   (AT91C_PIO_PA24) //  Ethernet MAC Transmit Data 3
45 #define AT91C_PA25_TCLK0    (AT91C_PIO_PA25) //  Timer Counter 0 external clock input
46 #define AT91C_PA25_ERX2     (AT91C_PIO_PA25) //  Ethernet MAC Receive Data 2
47 #define AT91C_PA26_TIOA0    (AT91C_PIO_PA26) //  Timer Counter 0 Multipurpose Timer I/O Pin A
48 #define AT91C_PA26_ERX3     (AT91C_PIO_PA26) //  Ethernet MAC Receive Data 3
49 #define AT91C_PA27_TIOA1    (AT91C_PIO_PA27) //  Timer Counter 1 Multipurpose Timer I/O Pin A
50 #define AT91C_PA27_ERXCK    (AT91C_PIO_PA27) //  Ethernet MAC Receive Clock
51 #define AT91C_PA28_TIOA2    (AT91C_PIO_PA28) //  Timer Counter 2 Multipurpose Timer I/O Pin A
52 #define AT91C_PA28_ECRS     (AT91C_PIO_PA28) //  Ethernet MAC Carrier Sense/Carrier Sense and Data Valid
53 #define AT91C_PA29_SCK1     (AT91C_PIO_PA29) //  USART 1 Serial Clock
54 #define AT91C_PA29_ECOL     (AT91C_PIO_PA29) //  Ethernet MAC Collision Detected
55 #define AT91C_PA3_SPI0_NPCS0 (AT91C_PIO_PA3) //  SPI 0 Peripheral Chip Select 0
56 #define AT91C_PA3_MCDB3     (AT91C_PIO_PA3)  //  Multimedia Card B Data 3
57 #define AT91C_PA30_SCK2     (AT91C_PIO_PA30) //  USART 2 Serial Clock
58 #define AT91C_PA30_RXD4     (AT91C_PIO_PA30) //  USART 4 Receive Data
59 #define AT91C_PA31_SCK0     (AT91C_PIO_PA31) //  USART 0 Serial Clock
60 #define AT91C_PA31_TXD4     (AT91C_PIO_PA31) //  USART 4 Transmit Data
61 #define AT91C_PA4_RTS2      (AT91C_PIO_PA4)  //  USART 2 Ready To Send
62 #define AT91C_PA4_MCDB2     (AT91C_PIO_PA4)  //  Multimedia Card B Data 2
63 #define AT91C_PA5_CTS2      (AT91C_PIO_PA5)  //  USART 2 Clear To Send
64 #define AT91C_PA5_MCDB1     (AT91C_PIO_PA5)  //  Multimedia Card B Data 1
65 #define AT91C_PA6_MCDA0     (AT91C_PIO_PA6)  //  Multimedia Card A Data 0
66 #define AT91C_PA7_MCCDA     (AT91C_PIO_PA7)  //  Multimedia Card A Command
67 #define AT91C_PA8_MCCK      (AT91C_PIO_PA8)  //  Multimedia Card Clock
68 #define AT91C_PA9_MCDA1     (AT91C_PIO_PA9)  //  Multimedia Card A Data 1
69 #define AT91C_PB0_SPI1_MISO (AT91C_PIO_PB0)  //  SPI 1 Master In Slave
70 #define AT91C_PB0_TIOA3     (AT91C_PIO_PB0)  //  Timer Counter 3 Multipurpose Timer I/O Pin A
71 #define AT91C_PB1_SPI1_MOSI (AT91C_PIO_PB1)  //  SPI 1 Master Out Slave
72 #define AT91C_PB1_TIOB3     (AT91C_PIO_PB1)  //  Timer Counter 3 Multipurpose Timer I/O Pin B
73 #define AT91C_PB10_TXD3     (AT91C_PIO_PB10) //  USART 3 Transmit Data
74 #define AT91C_PB10_ISI_D8   (AT91C_PIO_PB10) //  Image Sensor Data 8
75 #define AT91C_PB11_RXD3     (AT91C_PIO_PB11) //  USART 3 Receive Data
76 #define AT91C_PB11_ISI_D9   (AT91C_PIO_PB11) //  Image Sensor Data 9
77 #define AT91C_PB12_TXD5     (AT91C_PIO_PB12) //  USART 5 Transmit Data
78 #define AT91C_PB12_ISI_D10  (AT91C_PIO_PB12) //  Image Sensor Data 10
79 #define AT91C_PB13_RXD5     (AT91C_PIO_PB13) //  USART 5 Receive Data
80 #define AT91C_PB13_ISI_D11  (AT91C_PIO_PB13) //  Image Sensor Data 11
81 #define AT91C_PB14_DRXD     (AT91C_PIO_PB14) //  DBGU Debug Receive Data
82 #define AT91C_PB15_DTXD     (AT91C_PIO_PB15) //  DBGU Debug Transmit Data
83 #define AT91C_PB16_TK0      (AT91C_PIO_PB16) //  SSC0 Transmit Clock
84 #define AT91C_PB16_TCLK3    (AT91C_PIO_PB16) //  Timer Counter 3 external clock input
85 #define AT91C_PB17_TF0      (AT91C_PIO_PB17) //  SSC0 Transmit Frame Sync
86 #define AT91C_PB17_TCLK4    (AT91C_PIO_PB17) //  Timer Counter 4 external clock input
87 #define AT91C_PB18_TD0      (AT91C_PIO_PB18) //  SSC0 Transmit data
88 #define AT91C_PB18_TIOB4    (AT91C_PIO_PB18) //  Timer Counter 4 Multipurpose Timer I/O Pin B
89 #define AT91C_PB19_RD0      (AT91C_PIO_PB19) //  SSC0 Receive Data
90 #define AT91C_PB19_TIOB5    (AT91C_PIO_PB19) //  Timer Counter 5 Multipurpose Timer I/O Pin B
91 #define AT91C_PB2_SPI1_SPCK (AT91C_PIO_PB2)  //  SPI 1 Serial Clock
92 #define AT91C_PB2_TIOA4     (AT91C_PIO_PB2)  //  Timer Counter 4 Multipurpose Timer I/O Pin A
93 #define AT91C_PB20_RK0      (AT91C_PIO_PB20) //  SSC0 Receive Clock
94 #define AT91C_PB20_ISI_D0   (AT91C_PIO_PB20) //  Image Sensor Data 0
95 #define AT91C_PB21_RF0      (AT91C_PIO_PB21) //  SSC0 Receive Frame Sync
96 #define AT91C_PB21_ISI_D1   (AT91C_PIO_PB21) //  Image Sensor Data 1
97 #define AT91C_PB22_DSR0     (AT91C_PIO_PB22) //  USART 0 Data Set ready
98 #define AT91C_PB22_ISI_D2   (AT91C_PIO_PB22) //  Image Sensor Data 2
99 #define AT91C_PB23_DCD0     (AT91C_PIO_PB23) //  USART 0 Data Carrier Detect
100 #define AT91C_PB23_ISI_D3   (AT91C_PIO_PB23) //  Image Sensor Data 3
101 #define AT91C_PB24_DTR0     (AT91C_PIO_PB24) //  USART 0 Data Terminal ready
102 #define AT91C_PB24_ISI_D4   (AT91C_PIO_PB24) //  Image Sensor Data 4
103 #define AT91C_PB25_RI0      (AT91C_PIO_PB25) //  USART 0 Ring Indicator
104 #define AT91C_PB25_ISI_D5   (AT91C_PIO_PB25) //  Image Sensor Data 5
105 #define AT91C_PB26_RTS0     (AT91C_PIO_PB26) //  USART 0 Ready To Send
106 #define AT91C_PB26_ISI_D6   (AT91C_PIO_PB26) //  Image Sensor Data 6
107 #define AT91C_PB27_CTS0     (AT91C_PIO_PB27) //  USART 0 Clear To Send
108 #define AT91C_PB27_ISI_D7   (AT91C_PIO_PB27) //  Image Sensor Data 7
109 #define AT91C_PB28_RTS1     (AT91C_PIO_PB28) //  USART 1 Ready To Send
110 #define AT91C_PB28_ISI_PCK  (AT91C_PIO_PB28) //  Image Sensor Data Clock
111 #define AT91C_PB29_CTS1     (AT91C_PIO_PB29) //  USART 1 Clear To Send
112 #define AT91C_PB29_ISI_VSYNC (AT91C_PIO_PB29) //  Image Sensor Vertical Synchro
113 #define AT91C_PB3_SPI1_NPCS0 (AT91C_PIO_PB3) //  SPI 1 Peripheral Chip Select 0
114 #define AT91C_PB3_TIOA5     (AT91C_PIO_PB3)  //  Timer Counter 5 Multipurpose Timer I/O Pin A
115 #define AT91C_PB30_PCK0_0   (AT91C_PIO_PB30) //  PMC Programmable Clock Output 0
116 #define AT91C_PB30_ISI_HSYNC (AT91C_PIO_PB30) //  Image Sensor Horizontal Synchro
117 #define AT91C_PB31_PCK1_0   (AT91C_PIO_PB31) //  PMC Programmable Clock Output 1
118 #define AT91C_PB31_ISI_MCK  (AT91C_PIO_PB31) //  Image Sensor Reference Clock
119 #define AT91C_PB4_TXD0      (AT91C_PIO_PB4) //  USART 0 Transmit Data
120 #define AT91C_PB5_RXD0      (AT91C_PIO_PB5) //  USART 0 Receive Data
121 #define AT91C_PB6_TXD1      (AT91C_PIO_PB6) //  USART 1 Transmit Data
122 #define AT91C_PB6_TCLK1     (AT91C_PIO_PB6) //  Timer Counter 1 external clock input
123 #define AT91C_PB7_RXD1      (AT91C_PIO_PB7) //  USART 1 Receive Data
124 #define AT91C_PB7_TCLK2     (AT91C_PIO_PB7) //  Timer Counter 2 external clock input
125 #define AT91C_PB8_TXD2      (AT91C_PIO_PB8) //  USART 2 Transmit Data
126 #define AT91C_PB9_RXD2      (AT91C_PIO_PB9) //  USART 2 Receive Data
127 #define AT91C_PC0_AD0       (AT91C_PIO_PC0) //  ADC Analog Input 0
128 #define AT91C_PC0_SCK3      (AT91C_PIO_PC0) //  USART 3 Serial Clock
129 #define AT91C_PC1_AD1       (AT91C_PIO_PC1) //  ADC Analog Input 1
130 #define AT91C_PC1_PCK0_1    (AT91C_PIO_PC1) //  PMC Programmable Clock Output 0
131 #define AT91C_PC10_A25_CFR NW (AT91C_PIO_PC10) //  Address Bus[25]
132 #define AT91C_PC10_CTS3     (AT91C_PIO_PC10) //  USART 3 Clear To Send
133 #define AT91C_PC11_NCS2     (AT91C_PIO_PC11) //  Chip Select Line 2
134 #define AT91C_PC11_SPI0_NPCS1 (AT91C_PIO_PC11) //  SPI 0 Peripheral Chip Select 1
135 #define AT91C_PC12_IRQ0     (AT91C_PIO_PC12) //  External Interrupt 0
136 #define AT91C_PC12_NCS7     (AT91C_PIO_PC12) //  Chip Select Line 7
137 #define AT91C_PC13_FIQ      (AT91C_PIO_PC13) //  AIC Fast Interrupt Input
138 #define AT91C_PC13_NCS6     (AT91C_PIO_PC13) //  Chip Select Line 6
139 #define AT91C_PC14_NCS3_NANDCS (AT91C_PIO_PC14) //  Chip Select Line 3
140 #define AT91C_PC14_IRQ2     (AT91C_PIO_PC14) //  External Interrupt 2
141 #define AT91C_PC15_NWAIT    (AT91C_PIO_PC15) //  External Wait Signal
142 #define AT91C_PC15_IRQ1     (AT91C_PIO_PC15) //  External Interrupt 1
143 #define AT91C_PC16_D16      (AT91C_PIO_PC16) //  Data Bus[16]
144 #define AT91C_PC16_SPI0_NPCS2 (AT91C_PIO_PC16) //  SPI 0 Peripheral Chip Select 2
145 #define AT91C_PC17_D17      (AT91C_PIO_PC17)  //  Data Bus[17]
146 #define AT91C_PC17_SPI0_NPCS3 (AT91C_PIO_PC17) //  SPI 0 Peripheral Chip Select 3
147 #define AT91C_PC18_D18      (AT91C_PIO_PC18)  //  Data Bus[18]
148 #define AT91C_PC18_SPI1_NPCS1_1 (AT91C_PIO_PC18) //  SPI 1 Peripheral Chip Select 1
149 #define AT91C_PC19_D19      (AT91C_PIO_PC19) //  Data Bus[19]
150 #define AT91C_PC19_SPI1_NPCS2_1 (AT91C_PIO_PC19) //  SPI 1 Peripheral Chip Select 2
151 #define AT91C_PC2_AD2       (AT91C_PIO_PC2)  //  ADC Analog Input 2
152 #define AT91C_PC2_PCK1_1    (AT91C_PIO_PC2)  //  PMC Programmable Clock Output 1
153 #define AT91C_PC20_D20      (AT91C_PIO_PC20) //  Data Bus[20]
154 #define AT91C_PC20_SPI1_NPCS3_1 (AT91C_PIO_PC20) //  SPI 1 Peripheral Chip Select 3
155 #define AT91C_PC21_D21      (AT91C_PIO_PC21) //  Data Bus[21]
156 #define AT91C_PC21_EF100    (AT91C_PIO_PC21) //  Ethernet MAC Force 100 Mbits/sec
157 #define AT91C_PC22_D22      (AT91C_PIO_PC22) //  Data Bus[22]
158 #define AT91C_PC22_TCLK5    (AT91C_PIO_PC22) //  Timer Counter 5 external clock input
159 #define AT91C_PC23_D23      (AT91C_PIO_PC23) //  Data Bus[23]
160 #define AT91C_PC24_D24      (AT91C_PIO_PC24) //  Data Bus[24]
161 #define AT91C_PC25_D25      (AT91C_PIO_PC25) //  Data Bus[25]
162 #define AT91C_PC26_D26      (AT91C_PIO_PC26) //  Data Bus[26]
163 #define AT91C_PC27_D27      (AT91C_PIO_PC27) //  Data Bus[27]
164 #define AT91C_PC28_D28      (AT91C_PIO_PC28) //  Data Bus[28]
165 #define AT91C_PC29_D29      (AT91C_PIO_PC29) //  Data Bus[29]
166 #define AT91C_PC3_AD3       (AT91C_PIO_PC3)  //  ADC Analog Input 3
167 #define AT91C_PC3_SPI1_NPCS3_0 (AT91C_PIO_PC3) //  SPI 1 Peripheral Chip Select 3
168 #define AT91C_PC30_D30      (AT91C_PIO_PC30) //  Data Bus[30]
169 #define AT91C_PC31_D31      (AT91C_PIO_PC31) //  Data Bus[31]
170 #define AT91C_PC4_A23       (AT91C_PIO_PC4)  //  Address Bus[23]
171 #define AT91C_PC4_SPI1_NPCS2_0 (AT91C_PIO_PC4) //  SPI 1 Peripheral Chip Select 2
172 #define AT91C_PC5_A24       (AT91C_PIO_PC5)  //  Address Bus[24]
173 #define AT91C_PC5_SPI1_NPCS1_0 (AT91C_PIO_PC5) //  SPI 1 Peripheral Chip Select 1
174 #define AT91C_PC6_TIOB2     (AT91C_PIO_PC6)  //  Timer Counter 2 Multipurpose Timer I/O Pin B
175 #define AT91C_PC6_CFCE1     (AT91C_PIO_PC6)  //  Compact Flash Enable 1
176 #define AT91C_PC7_TIOB1     (AT91C_PIO_PC7)  //  Timer Counter 1 Multipurpose Timer I/O Pin B
177 #define AT91C_PC7_CFCE2     (AT91C_PIO_PC7)  //  Compact Flash Enable 2
178 #define AT91C_PC8_NCS4_CFCS0 (AT91C_PIO_PC8) //  Chip Select Line 4
179 #define AT91C_PC8_RTS3      (AT91C_PIO_PC8)  //  USART 3 Ready To Send
180 #define AT91C_PC9_NCS5_CFCS1 (AT91C_PIO_PC9) //  Chip Select Line 5
181 #define AT91C_PC9_TIOB0     (AT91C_PIO_PC9)  //  Timer Counter 0 Multipurpose Timer I/O Pin B
182
183 #endif /* ARM_AT91_AT91_PIO_SAM9G20_H */