Choco OS  V.0.16.9.0
Join to the chocolate world
oc_pins_defs.h
1 
28 #ifndef SYSTEM_PORTABLE_INC_TI_LM4F_LM4F120H5QR_OC_PINS_DEFS_H_
29 #define SYSTEM_PORTABLE_INC_TI_LM4F_LM4F120H5QR_OC_PINS_DEFS_H_
30 
31 #include <oc_1word.h>
32 
33 #define oC_PORT_WIDTH 8ULL
34 #define oC_ALTERNATE_NUMBER_FIELD_WIDTH 4ULL
35 #define oC_MODULE_PIN_FUNCTION_WIDTH 4ULL
36 
37 #define oC_MODULE_PIN_FUNCTIONS_(MODULE_NAME) oC_1WORD_FROM_2(oC_MODULE_PIN_FUNCTIONS_ , MODULE_NAME)
38 #define oC_MODULE_PINS_(MODULE_NAME) oC_1WORD_FROM_2(oC_MODULE_PINS_ , MODULE_NAME)
39 
40 
41 #define oC_PINS_LIST(MAKE_PIN)\
42  MAKE_PIN( PORTA , PA0 , 0 , 17 )\
43  MAKE_PIN( PORTA , PA1 , 1 , 18 )\
44  MAKE_PIN( PORTA , PA2 , 2 , 19 )\
45  MAKE_PIN( PORTA , PA3 , 3 , 20 )\
46  MAKE_PIN( PORTA , PA4 , 4 , 21 )\
47  MAKE_PIN( PORTA , PA5 , 5 , 22 )\
48  MAKE_PIN( PORTA , PA6 , 6 , 23 )\
49  MAKE_PIN( PORTA , PA7 , 7 , 24 )\
50  MAKE_PIN( PORTB , PB0 , 0 , 45 )\
51  MAKE_PIN( PORTB , PB1 , 1 , 46 )\
52  MAKE_PIN( PORTB , PB2 , 2 , 47 )\
53  MAKE_PIN( PORTB , PB3 , 3 , 48 )\
54  MAKE_PIN( PORTB , PB4 , 4 , 58 )\
55  MAKE_PIN( PORTB , PB5 , 5 , 57 )\
56  MAKE_PIN( PORTB , PB6 , 6 , 1 )\
57  MAKE_PIN( PORTB , PB7 , 7 , 4 )\
58  MAKE_PIN( PORTC , PC0 , 0 , 52 )\
59  MAKE_PIN( PORTC , PC1 , 1 , 51 )\
60  MAKE_PIN( PORTC , PC2 , 2 , 50 )\
61  MAKE_PIN( PORTC , PC3 , 3 , 49 )\
62  MAKE_PIN( PORTC , PC4 , 4 , 16 )\
63  MAKE_PIN( PORTC , PC5 , 5 , 15 )\
64  MAKE_PIN( PORTC , PC6 , 6 , 14 )\
65  MAKE_PIN( PORTC , PC7 , 7 , 13 )\
66  MAKE_PIN( PORTD , PD0 , 0 , 61 )\
67  MAKE_PIN( PORTD , PD1 , 1 , 62 )\
68  MAKE_PIN( PORTD , PD2 , 2 , 63 )\
69  MAKE_PIN( PORTD , PD3 , 3 , 64 )\
70  MAKE_PIN( PORTD , PD4 , 4 , 43 )\
71  MAKE_PIN( PORTD , PD5 , 5 , 44 )\
72  MAKE_PIN( PORTD , PD6 , 6 , 53 )\
73  MAKE_PIN( PORTD , PD7 , 7 , 10 )\
74  MAKE_PIN( PORTE , PE0 , 0 , 9 )\
75  MAKE_PIN( PORTE , PE1 , 1 , 8 )\
76  MAKE_PIN( PORTE , PE2 , 2 , 7 )\
77  MAKE_PIN( PORTE , PE3 , 3 , 6 )\
78  MAKE_PIN( PORTE , PE4 , 4 , 59 )\
79  MAKE_PIN( PORTE , PE5 , 5 , 60 )\
80  MAKE_PIN( PORTF , PF0 , 0 , 28 )\
81  MAKE_PIN( PORTF , PF1 , 1 , 29 )\
82  MAKE_PIN( PORTF , PF2 , 2 , 30 )\
83  MAKE_PIN( PORTF , PF3 , 3 , 31 )\
84  MAKE_PIN( PORTF , PF4 , 4 , 5 )\
85 
86 
87 
88 #define oC_MODULE_PIN_FUNCTIONS_UART(MAKE_PIN_FUNCTION) \
89  MAKE_PIN_FUNCTION(Rx)\
90  MAKE_PIN_FUNCTION(Tx)\
91 
92 #define oC_MODULE_PINS_UART(MAKE_PIN) \
93  MAKE_PIN( PA0 , UART0 , Rx , 1 ) \
94  MAKE_PIN( PA1 , UART0 , Tx , 1 ) \
95  MAKE_PIN( PB0 , UART1 , Rx , 1 ) \
96  MAKE_PIN( PB1 , UART1 , Tx , 1 ) \
97  MAKE_PIN( PC4 , UART1 , Rx , 2 ) \
98  MAKE_PIN( PC5 , UART1 , Tx , 2 ) \
99  MAKE_PIN( PC4 , UART4 , Rx , 1 ) \
100  MAKE_PIN( PC5 , UART4 , Tx , 1 ) \
101  MAKE_PIN( PC6 , UART3 , Rx , 1 ) \
102  MAKE_PIN( PC7 , UART3 , Tx , 1 ) \
103  MAKE_PIN( PD4 , UART6 , Rx , 1 ) \
104  MAKE_PIN( PD5 , UART6 , Tx , 1 ) \
105  MAKE_PIN( PD6 , UART2 , Rx , 1 ) \
106  MAKE_PIN( PD7 , UART2 , Tx , 1 ) \
107  MAKE_PIN( PE0 , UART7 , Rx , 1 ) \
108  MAKE_PIN( PE1 , UART7 , Tx , 1 ) \
109  MAKE_PIN( PE4 , UART5 , Rx , 1 ) \
110  MAKE_PIN( PE5 , UART5 , Tx , 1 ) \
111 
112 
113 #define oC_MODULE_PIN_FUNCTIONS_SPI(MAKE_PIN_FUNCTION) \
114  MAKE_PIN_FUNCTION(MOSI)\
115  MAKE_PIN_FUNCTION(MISO)\
116  MAKE_PIN_FUNCTION(CS)\
117  MAKE_PIN_FUNCTION(CLK)\
118 
119 #define oC_MODULE_PINS_SPI(MAKE_PIN) \
120  MAKE_PIN( PA2 , SSI0 , CLK , 2 ) \
121  MAKE_PIN( PA3 , SSI0 , CS , 2 ) \
122  MAKE_PIN( PA4 , SSI0 , MISO , 2 ) \
123  MAKE_PIN( PA5 , SSI0 , MOSI , 2 ) \
124  MAKE_PIN( PD0 , SSI1 , CLK , 2 ) \
125  MAKE_PIN( PD1 , SSI1 , CS , 2 ) \
126  MAKE_PIN( PD2 , SSI1 , MISO , 2 ) \
127  MAKE_PIN( PD3 , SSI1 , MOSI , 2 ) \
128  MAKE_PIN( PF0 , SSI1 , MISO , 2 ) \
129  MAKE_PIN( PF1 , SSI1 , MOSI , 2 ) \
130  MAKE_PIN( PF2 , SSI1 , CLK , 2 ) \
131  MAKE_PIN( PF3 , SSI1 , CS , 2 ) \
132  MAKE_PIN( PB4 , SSI2 , CLK , 2 ) \
133  MAKE_PIN( PB5 , SSI2 , CS , 2 ) \
134  MAKE_PIN( PB6 , SSI2 , MISO , 2 ) \
135  MAKE_PIN( PB7 , SSI2 , MOSI , 2 ) \
136  MAKE_PIN( PD0 , SSI3 , CLK , 1 ) \
137  MAKE_PIN( PD1 , SSI3 , CS , 1 ) \
138  MAKE_PIN( PD2 , SSI3 , MISO , 1 ) \
139  MAKE_PIN( PD3 , SSI3 , MOSI , 1 ) \
140 
141 
142 #define oC_MODULE_PIN_FUNCTIONS_TIMER(MAKE_PIN_FUNCTION) \
143  MAKE_PIN_FUNCTION( A ) \
144  MAKE_PIN_FUNCTION( B ) \
145 
146 #define oC_MODULE_PINS_TIMER(MAKE_PIN) \
147  MAKE_PIN( PB0 , Timer2 , A , 7 ) \
148  MAKE_PIN( PB1 , Timer2 , B , 7 ) \
149  MAKE_PIN( PB2 , Timer3 , A , 7 ) \
150  MAKE_PIN( PB3 , Timer3 , B , 7 ) \
151  MAKE_PIN( PB4 , Timer1 , A , 7 ) \
152  MAKE_PIN( PB5 , Timer1 , B , 7 ) \
153  MAKE_PIN( PB6 , Timer0 , A , 7 ) \
154  MAKE_PIN( PB7 , Timer0 , B , 7 ) \
155  MAKE_PIN( PC0 , Timer4 , A , 7 ) \
156  MAKE_PIN( PC1 , Timer4 , B , 7 ) \
157  MAKE_PIN( PC2 , Timer5 , A , 7 ) \
158  MAKE_PIN( PC3 , Timer5 , B , 7 ) \
159  MAKE_PIN( PC4 , WideTimer0 , A , 7 ) \
160  MAKE_PIN( PC5 , WideTimer0 , B , 7 ) \
161  MAKE_PIN( PC6 , WideTimer1 , A , 7 ) \
162  MAKE_PIN( PC7 , WideTimer1 , B , 7 ) \
163  MAKE_PIN( PD0 , WideTimer2 , A , 7 ) \
164  MAKE_PIN( PD1 , WideTimer2 , B , 7 ) \
165  MAKE_PIN( PD2 , WideTimer3 , A , 7 ) \
166  MAKE_PIN( PD3 , WideTimer3 , B , 7 ) \
167  MAKE_PIN( PD4 , WideTimer4 , A , 7 ) \
168  MAKE_PIN( PD5 , WideTimer4 , B , 7 ) \
169  MAKE_PIN( PD6 , WideTimer5 , A , 7 ) \
170  MAKE_PIN( PD7 , WideTimer5 , B , 7 ) \
171  MAKE_PIN( PF0 , Timer0 , A , 7 ) \
172  MAKE_PIN( PF1 , Timer0 , B , 7 ) \
173  MAKE_PIN( PF2 , Timer1 , A , 7 ) \
174  MAKE_PIN( PF3 , Timer1 , B , 7 ) \
175  MAKE_PIN( PF4 , Timer2 , A , 7 ) \
176 
177 #define oC_MODULES_PINS_LIST(MAKE_MODULE) \
178  MAKE_MODULE(UART) \
179  MAKE_MODULE(SPI) \
180  MAKE_MODULE(TIMER) \
181 
182 #endif /* SYSTEM_PORTABLE_INC_TI_LM4F_LM4F120H5QR_OC_PINS_DEFS_H_ */
Contains macros for creating one word from more words in macros.