aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/boards/PJRC_TEENSY_3/board.h
blob: 4f7ecdbef77a237ae01fe4fede040cf8d0354cbb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
/*
    ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
*/

#ifndef _BOARD_H_
#define _BOARD_H_

/*
 * Setup for the PJRC Teensy 3.0 board.
 */

/*
 * Board identifier.
 */
#define BOARD_PJRC_TEENSY_3
#define BOARD_NAME                  "PJRC Teensy 3.0"

/* External 16 MHz crystal with PLL for 48 MHz core/system clock. */
#define KINETIS_SYSCLK_FREQUENCY    48000000UL
#define KINETIS_MCG_MODE            KINETIS_MCG_MODE_PEE
#define KINETIS_XTAL_FREQUENCY      16000000UL

/*
 * IO pins assignments.
 */
#define PORTA_PIN0                  0
#define PORTA_PIN1                  1
#define PORTA_PIN2                  2
#define PORTA_PIN3                  3
#define PORTA_TEENSY_PIN33          4
#define PORTA_TEENSY_PIN24          5
#define PORTA_PIN6                  6
#define PORTA_PIN7                  7
#define PORTA_PIN8                  8
#define PORTA_PIN9                  9
#define PORTA_PIN10                 10
#define PORTA_PIN11                 11
#define PORTA_TEENSY_PIN3           12
#define PORTA_TEENSY_PIN4           13
#define PORTA_PIN14                 14
#define PORTA_PIN15                 15
#define PORTA_PIN16                 16
#define PORTA_PIN17                 17
#define PORTA_PIN18                 18
#define PORTA_PIN19                 19
#define PORTA_PIN20                 20
#define PORTA_PIN21                 21
#define PORTA_PIN22                 22
#define PORTA_PIN23                 23
#define PORTA_PIN24                 24
#define PORTA_PIN25                 25
#define PORTA_PIN26                 26
#define PORTA_PIN27                 27
#define PORTA_PIN28                 28
#define PORTA_PIN29                 29
#define PORTA_PIN30                 30
#define PORTA_PIN31                 31

#define PORTB_TEENSY_PIN16          0
#define PORTB_TEENSY_PIN17          1
#define PORTB_TEENSY_PIN19          2
#define PORTB_TEENSY_PIN18          3
#define PORTB_PIN4                  4
#define PORTB_PIN5                  5
#define PORTB_PIN6                  6
#define PORTB_PIN7                  7
#define PORTB_PIN8                  8
#define PORTB_PIN9                  9
#define PORTB_PIN10                 10
#define PORTB_PIN11                 11
#define PORTB_PIN12                 12
#define PORTB_PIN13                 13
#define PORTB_PIN14                 14
#define PORTB_PIN15                 15
#define PORTB_TEENSY_PIN0           16
#define PORTB_TEENSY_PIN1           17
#define PORTB_TEENSY_PIN32          18
#define PORTB_TEENSY_PIN25          19
#define PORTB_PIN20                 20
#define PORTB_PIN21                 21
#define PORTB_PIN22                 22
#define PORTB_PIN23                 23
#define PORTB_PIN24                 24
#define PORTB_PIN25                 25
#define PORTB_PIN26                 26
#define PORTB_PIN27                 27
#define PORTB_PIN28                 28
#define PORTB_PIN29                 29
#define PORTB_PIN30                 30
#define PORTB_PIN31                 31

#define PORTC_TEENSY_PIN15          0
#define PORTC_TEENSY_PIN22          1
#define PORTC_TEENSY_PIN23          2
#define PORTC_TEENSY_PIN9           3
#define PORTC_TEENSY_PIN10          4
#define PORTC_TEENSY_PIN13          5
#define PORTC_TEENSY_PIN11          6
#define PORTC_TEENSY_PIN12          7
#define PORTC_TEENSY_PIN28          8
#define PORTC_TEENSY_PIN27          9
#define PORTC_TEENSY_PIN29          10
#define PORTC_TEENSY_PIN30          11
#define PORTC_PIN12                 12
#define PORTC_PIN13                 13
#define PORTC_PIN14                 14
#define PORTC_PIN15                 15
#define PORTC_PIN16                 16
#define PORTC_PIN17                 17
#define PORTC_PIN18                 18
#define PORTC_PIN19                 19
#define PORTC_PIN20                 20
#define PORTC_PIN21                 21
#define PORTC_PIN22                 22
#define PORTC_PIN23                 23
#define PORTC_PIN24                 24
#define PORTC_PIN25                 25
#define PORTC_PIN26                 26
#define PORTC_PIN27                 27
#define PORTC_PIN28                 28
#define PORTC_PIN29                 29
#define PORTC_PIN30                 30
#define PORTC_PIN31                 31

#define PORTD_TEENSY_PIN2           0
#define PORTD_TEENSY_PIN14          1
#define PORTD_TEENSY_PIN7           2
#define PORTD_TEENSY_PIN8           3
#define PORTD_TEENSY_PIN6           4
#define PORTD_TEENSY_PIN20          5
#define PORTD_TEENSY_PIN21          6
#define PORTD_TEENSY_PIN5           7
#define PORTD_PIN8                  8
#define PORTD_PIN9                  9
#define PORTD_PIN10                 10
#define PORTD_PIN11                 11
#define PORTD_PIN12                 12
#define PORTD_PIN13                 13
#define PORTD_PIN14                 14
#define PORTD_PIN15                 15
#define PORTD_PIN16                 16
#define PORTD_PIN17                 17
#define PORTD_PIN18                 18
#define PORTD_PIN19                 19
#define PORTD_PIN20                 20
#define PORTD_PIN21                 21
#define PORTD_PIN22                 22
#define PORTD_PIN23                 23
#define PORTD_PIN24                 24
#define PORTD_PIN25                 25
#define PORTD_PIN26                 26
#define PORTD_PIN27                 27
#define PORTD_PIN28                 28
#define PORTD_PIN29                 29
#define PORTD_PIN30                 30
#define PORTD_PIN31                 31

#define PORTE_TEENSY_PIN31          0
#define PORTE_TEENSY_PIN26          1
#define PORTE_PIN2                  2
#define PORTE_PIN3                  3
#define PORTE_PIN4                  4
#define PORTE_PIN5                  5
#define PORTE_PIN6                  6
#define PORTE_PIN7                  7
#define PORTE_PIN8                  8
#define PORTE_PIN9                  9
#define PORTE_PIN10                 10
#define PORTE_PIN11                 11
#define PORTE_PIN12                 12
#define PORTE_PIN13                 13
#define PORTE_PIN14                 14
#define PORTE_PIN15                 15
#define PORTE_PIN16                 16
#define PORTE_PIN17                 17
#define PORTE_PIN18                 18
#define PORTE_PIN19                 19
#define PORTE_PIN20                 20
#define PORTE_PIN21                 21
#define PORTE_PIN22                 22
#define PORTE_PIN23                 23
#define PORTE_PIN24                 24
#define PORTE_PIN25                 25
#define PORTE_PIN26                 26
#define PORTE_PIN27                 27
#define PORTE_PIN28                 28
#define PORTE_PIN29                 29
#define PORTE_PIN30                 30
#define PORTE_PIN31                 31

#if !defined(_FROM_ASM_)
#ifdef __cplusplus
extern "C" {
#endif
  void boardInit(void);
#ifdef __cplusplus
}
#endif
#endif /* _FROM_ASM_ */

#endif /* _BOARD_H_ */