Skip to content

Commit 049402c

Browse files
authored
Merge pull request #4315 from theotherjimmy/thinkberg-master
Add support for ubirch boards
2 parents cb61fc5 + c983b3a commit 049402c

File tree

19 files changed

+2220
-7
lines changed

19 files changed

+2220
-7
lines changed
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
/* mbed Microcontroller Library
2+
* Copyright (c) 2006-2013 ARM Limited
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
#ifndef MBED_PERIPHERALNAMES_H
17+
#define MBED_PERIPHERALNAMES_H
18+
19+
#include "cmsis.h"
20+
21+
#ifdef __cplusplus
22+
extern "C" {
23+
#endif
24+
25+
typedef enum {
26+
OSC32KCLK = 0,
27+
} RTCName;
28+
29+
typedef enum {
30+
LPUART_0 = 0,
31+
LPUART_1 = 1,
32+
LPUART_2 = 2,
33+
LPUART_3 = 3,
34+
LPUART_4 = 4,
35+
} UARTName;
36+
37+
#define STDIO_UART_TX USBTX
38+
#define STDIO_UART_RX USBRX
39+
#define STDIO_UART LPUART_0
40+
41+
/* LPTMR interrupt is defined differently in K82F */
42+
#define LPTMR0_IRQn LPTMR0_LPTMR1_IRQn
43+
44+
typedef enum {
45+
I2C_0 = 0,
46+
I2C_1 = 1,
47+
I2C_2 = 2,
48+
I2C_3 = 3,
49+
} I2CName;
50+
51+
#define TPM_SHIFT 8
52+
typedef enum {
53+
PWM_1 = (0 << TPM_SHIFT) | (0), // FTM0 CH0
54+
PWM_2 = (0 << TPM_SHIFT) | (1), // FTM0 CH1
55+
PWM_3 = (0 << TPM_SHIFT) | (2), // FTM0 CH2
56+
PWM_4 = (0 << TPM_SHIFT) | (3), // FTM0 CH3
57+
PWM_5 = (0 << TPM_SHIFT) | (4), // FTM0 CH4
58+
PWM_6 = (0 << TPM_SHIFT) | (5), // FTM0 CH5
59+
PWM_7 = (0 << TPM_SHIFT) | (6), // FTM0 CH6
60+
PWM_8 = (0 << TPM_SHIFT) | (7), // FTM0 CH7
61+
PWM_9 = (1 << TPM_SHIFT) | (0), // FTM1 CH0
62+
PWM_10 = (1 << TPM_SHIFT) | (1), // FTM1 CH1
63+
PWM_11 = (2 << TPM_SHIFT) | (0), // FTM2 CH0
64+
PWM_12 = (2 << TPM_SHIFT) | (1), // FTM2 CH1
65+
PWM_13 = (3 << TPM_SHIFT) | (0), // FTM3 CH0
66+
PWM_14 = (3 << TPM_SHIFT) | (1), // FTM3 CH1
67+
PWM_15 = (3 << TPM_SHIFT) | (2), // FTM3 CH2
68+
PWM_16 = (3 << TPM_SHIFT) | (3), // FTM3 CH3
69+
PWM_17 = (3 << TPM_SHIFT) | (4), // FTM3 CH4
70+
PWM_18 = (3 << TPM_SHIFT) | (5), // FTM3 CH5
71+
PWM_19 = (3 << TPM_SHIFT) | (6), // FTM3 CH6
72+
PWM_20 = (3 << TPM_SHIFT) | (7), // FTM3 CH7
73+
} PWMName;
74+
75+
#define ADC_INSTANCE_SHIFT 8
76+
#define ADC_B_CHANNEL_SHIFT 5
77+
typedef enum {
78+
ADC0_SE4a = (0 << ADC_INSTANCE_SHIFT) | 4,
79+
ADC0_SE4b = (0 << ADC_INSTANCE_SHIFT) | (1 << ADC_B_CHANNEL_SHIFT) | 4,
80+
ADC0_SE5a = (0 << ADC_INSTANCE_SHIFT) | 5,
81+
ADC0_SE5b = (0 << ADC_INSTANCE_SHIFT) | (1 << ADC_B_CHANNEL_SHIFT) | 5,
82+
ADC0_SE6a = (0 << ADC_INSTANCE_SHIFT) | 6,
83+
ADC0_SE6b = (0 << ADC_INSTANCE_SHIFT) | (1 << ADC_B_CHANNEL_SHIFT) | 6,
84+
ADC0_SE7a = (0 << ADC_INSTANCE_SHIFT) | 7,
85+
ADC0_SE7b = (0 << ADC_INSTANCE_SHIFT) | (1 << ADC_B_CHANNEL_SHIFT) | 7,
86+
ADC0_SE8 = (0 << ADC_INSTANCE_SHIFT) | 8,
87+
ADC0_SE9 = (0 << ADC_INSTANCE_SHIFT) | 9,
88+
ADC0_SE10 = (0 << ADC_INSTANCE_SHIFT) | 10,
89+
ADC0_SE11 = (0 << ADC_INSTANCE_SHIFT) | 11,
90+
ADC0_SE12 = (0 << ADC_INSTANCE_SHIFT) | 12,
91+
ADC0_SE13 = (0 << ADC_INSTANCE_SHIFT) | 13,
92+
ADC0_SE14 = (0 << ADC_INSTANCE_SHIFT) | 14,
93+
ADC0_SE15 = (0 << ADC_INSTANCE_SHIFT) | 15,
94+
ADC0_SE22 = (0 << ADC_INSTANCE_SHIFT) | 22,
95+
ADC0_SE23 = (0 << ADC_INSTANCE_SHIFT) | 23,
96+
} ADCName;
97+
98+
typedef enum {
99+
DAC_0 = 0
100+
} DACName;
101+
102+
103+
typedef enum {
104+
SPI_0 = 0,
105+
SPI_1 = 1,
106+
SPI_2 = 2,
107+
} SPIName;
108+
109+
#ifdef __cplusplus
110+
}
111+
#endif
112+
113+
#endif
Lines changed: 267 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,267 @@
1+
/* mbed Microcontroller Library
2+
* Copyright (c) 2006-2013 ARM Limited
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
#include "PeripheralPins.h"
18+
19+
/************RTC***************/
20+
const PinMap PinMap_RTC[] = {
21+
{NC, OSC32KCLK, 0},
22+
};
23+
24+
/************ADC***************/
25+
const PinMap PinMap_ADC[] = {
26+
{PTE16, ADC0_SE4a, 0},
27+
{PTE17, ADC0_SE5a, 0},
28+
{PTE18, ADC0_SE6a, 0},
29+
{PTE19, ADC0_SE7a, 0},
30+
{PTB0, ADC0_SE8, 0},
31+
{PTB1, ADC0_SE9, 0},
32+
{PTA7, ADC0_SE10, 0},
33+
{PTA8, ADC0_SE11, 0},
34+
{PTB2, ADC0_SE12, 0},
35+
{PTB3, ADC0_SE13, 0},
36+
{PTC0, ADC0_SE14, 0},
37+
{PTC1, ADC0_SE15, 0},
38+
{PTC2, ADC0_SE4b, 0},
39+
{PTD1, ADC0_SE5b, 0},
40+
{PTD5, ADC0_SE6b, 0},
41+
{PTD6, ADC0_SE7b, 0},
42+
{NC , NC , 0}
43+
};
44+
45+
/************DAC***************/
46+
const PinMap PinMap_DAC[] = {
47+
{DAC0_OUT, DAC_0, 0},
48+
{NC , NC , 0}
49+
};
50+
51+
/************I2C***************/
52+
const PinMap PinMap_I2C_SDA[] = {
53+
{PTE0, I2C_1, 6},
54+
{PTE10, I2C_3, 2},
55+
{PTE18, I2C_0, 4},
56+
{PTA21, I2C_0, 2},
57+
{PTA1, I2C_3, 4},
58+
{PTA7, I2C_2, 2},
59+
{PTA10, I2C_2, 2},
60+
{PTB1, I2C_0, 2},
61+
{PTB3, I2C_0, 2},
62+
{PTB11, I2C_2, 4},
63+
{PTC11, I2C_1, 2},
64+
{PTD3, I2C_0, 7},
65+
{PTD9, I2C_0, 2},
66+
{NC , NC , 0}
67+
};
68+
69+
const PinMap PinMap_I2C_SCL[] = {
70+
{PTE1, I2C_1, 6},
71+
{PTE11, I2C_3, 2},
72+
{PTE19, I2C_0, 4},
73+
{PTA20, I2C_0, 2},
74+
{PTA2, I2C_3, 4},
75+
{PTA6, I2C_2, 2},
76+
{PTA11, I2C_2, 2},
77+
{PTB0, I2C_0, 2},
78+
{PTB2, I2C_0, 2},
79+
{PTB10, I2C_2, 4},
80+
{PTC10, I2C_1, 2},
81+
{PTD2, I2C_0, 7},
82+
{PTD8, I2C_0, 2},
83+
{NC , NC , 0}
84+
};
85+
86+
/************UART***************/
87+
const PinMap PinMap_UART_TX[] = {
88+
{PTE0, LPUART_1, 3},
89+
{PTE4, LPUART_3, 3},
90+
{PTE12, LPUART_2, 3},
91+
{PTE16, LPUART_2, 3},
92+
{PTA20, LPUART_4, 3},
93+
{PTA2, LPUART_0, 2},
94+
{PTA14, LPUART_0, 3},
95+
{PTB11, LPUART_3, 3},
96+
{PTB17, LPUART_0, 3},
97+
{PTC4, LPUART_1, 3},
98+
{PTC15, LPUART_4, 3},
99+
{PTC17, LPUART_3, 3},
100+
{PTD3, LPUART_2, 3},
101+
{PTD7, LPUART_0, 3},
102+
{NC , NC , 0}
103+
};
104+
105+
const PinMap PinMap_UART_RX[] = {
106+
{PTE1, LPUART_1, 3},
107+
{PTE5, LPUART_3, 3},
108+
{PTE13, LPUART_2, 3},
109+
{PTE17, LPUART_2, 3},
110+
{PTA21, LPUART_4, 3},
111+
{PTA1, LPUART_0, 2},
112+
{PTA15, LPUART_0, 3},
113+
{PTB10, LPUART_3, 3},
114+
{PTB16, LPUART_0, 3},
115+
{PTC3, LPUART_1, 3},
116+
{PTC14, LPUART_4, 3},
117+
{PTC16, LPUART_3, 3},
118+
{PTD2, LPUART_2, 3},
119+
{PTD6, LPUART_0, 3},
120+
{NC , NC , 0}
121+
};
122+
123+
const PinMap PinMap_UART_CTS[] = {
124+
{PTE2, LPUART_1, 3},
125+
{PTE6, LPUART_3, 3},
126+
{PTE18, LPUART_2, 3},
127+
{PTA0, LPUART_0, 2},
128+
{PTA16, LPUART_0, 3},
129+
{PTB3, LPUART_0, 3},
130+
{PTB9, LPUART_3, 3},
131+
{PTC2, LPUART_1, 3},
132+
{PTC13, LPUART_4, 3},
133+
{PTC19, LPUART_3, 3},
134+
{PTD1, LPUART_2, 3},
135+
{PTD5, LPUART_0, 3},
136+
{NC , NC , 0}
137+
};
138+
139+
const PinMap PinMap_UART_RTS[] = {
140+
{PTE3, LPUART_1, 3},
141+
{PTE7, LPUART_3, 3},
142+
{PTE19, LPUART_2, 3},
143+
{PTA3, LPUART_0, 2},
144+
{PTA17, LPUART_0, 3},
145+
{PTB2, LPUART_0, 3},
146+
{PTB8, LPUART_3, 3},
147+
{PTC1, LPUART_1, 3},
148+
{PTC12, LPUART_4, 3},
149+
{PTC18, LPUART_3, 3},
150+
{PTD0, LPUART_2, 3},
151+
{PTD4, LPUART_0, 3},
152+
{NC , NC , 0}
153+
};
154+
155+
/************SPI***************/
156+
const PinMap PinMap_SPI_SCLK[] = {
157+
{PTE1, SPI_1, 2},
158+
{PTE2, SPI_1, 7},
159+
{PTE7, SPI_2, 2},
160+
{PTE17, SPI_0, 2},
161+
{PTA15, SPI_0, 2},
162+
{PTB11, SPI_1, 2},
163+
{PTB21, SPI_2, 2},
164+
{PTC5, SPI_0, 2},
165+
{PTD1, SPI_0, 2},
166+
{PTD5, SPI_1, 7},
167+
{PTD12, SPI_2, 2},
168+
{NC , NC , 0}
169+
};
170+
171+
const PinMap PinMap_SPI_MOSI[] = {
172+
{PTE2, SPI_1, 2},
173+
{PTE3, SPI_1, 7},
174+
{PTE8, SPI_2, 3},
175+
{PTE18, SPI_0, 2},
176+
{PTA16, SPI_0, 2},
177+
{PTB16, SPI_1, 2},
178+
{PTB16, SPI_1, 2},
179+
{PTB22, SPI_2, 2},
180+
{PTC6, SPI_0, 2},
181+
{PTD2, SPI_0, 2},
182+
{PTD6, SPI_1, 7},
183+
{PTD13, SPI_2, 2},
184+
{NC , NC , 0}
185+
};
186+
187+
const PinMap PinMap_SPI_MISO[] = {
188+
{PTE1, SPI_1, 7},
189+
{PTE4, SPI_1, 2},
190+
{PTE10, SPI_2, 3},
191+
{PTE19, SPI_0, 2},
192+
{PTA17, SPI_0, 2},
193+
{PTB17, SPI_1, 2},
194+
{PTB23, SPI_2, 2},
195+
{PTC7, SPI_0, 2},
196+
{PTD3, SPI_0, 2},
197+
{PTD7, SPI_1, 7},
198+
{PTD14, SPI_2, 2},
199+
{NC , NC , 0}
200+
};
201+
202+
const PinMap PinMap_SPI_SSEL[] = {
203+
{PTE5, SPI_1, 2},
204+
{PTE11, SPI_2, 3},
205+
{PTE16, SPI_0, 2},
206+
{PTA14, SPI_0, 2},
207+
{PTB10, SPI_1, 2},
208+
{PTB20, SPI_2, 2},
209+
{PTC4, SPI_0, 2},
210+
{PTD0, SPI_0, 2},
211+
{PTD4, SPI_1, 7},
212+
{PTD11, SPI_2, 2},
213+
{NC , NC , 0}
214+
};
215+
216+
/************PWM***************/
217+
const PinMap PinMap_PWM[] = {
218+
/* FTM 0 */
219+
{PTA0, PWM_6, 3},
220+
{PTA1, PWM_7, 3},
221+
{PTA2, PWM_8, 3},
222+
{PTA3, PWM_1, 3},
223+
{PTA4, PWM_2, 3},
224+
{PTA5, PWM_3, 3},
225+
{PTA6, PWM_4, 3},
226+
{PTA7, PWM_5, 3},
227+
{PTC1, PWM_1, 4},
228+
{PTC2, PWM_2, 4},
229+
{PTC3, PWM_3, 4},
230+
{PTC4, PWM_4, 4},
231+
{PTC5, PWM_3, 7},
232+
{PTD4, PWM_5, 4},
233+
{PTD5, PWM_6, 4},
234+
{PTD6, PWM_7, 4},
235+
{PTD7, PWM_8, 4},
236+
/* FTM 1 */
237+
{PTA8, PWM_9, 3},
238+
{PTA9, PWM_10, 3},
239+
{PTA12, PWM_9, 3},
240+
{PTA13, PWM_10, 3},
241+
{PTB0, PWM_9, 3},
242+
{PTB1, PWM_10, 3},
243+
/* FTM 2 */
244+
{PTA10, PWM_11, 3},
245+
{PTA11, PWM_12, 3},
246+
{PTB18, PWM_11, 3},
247+
{PTB19, PWM_12, 3},
248+
/* FTM 3 */
249+
{PTE5, PWM_13, 6},
250+
{PTE6, PWM_14, 6},
251+
{PTE7, PWM_15, 6},
252+
{PTE8, PWM_16, 6},
253+
{PTE9, PWM_17, 6},
254+
{PTE10, PWM_18, 6},
255+
{PTE11, PWM_19, 6},
256+
{PTE12, PWM_20, 6},
257+
{PTC8, PWM_17, 3},
258+
{PTC9, PWM_18, 3},
259+
{PTC10, PWM_19, 3},
260+
{PTC11, PWM_20, 3},
261+
{PTD0, PWM_13, 4},
262+
{PTD1, PWM_14, 4},
263+
{PTD2, PWM_15, 4},
264+
{PTD3, PWM_16, 4},
265+
266+
{NC , NC , 0}
267+
};

0 commit comments

Comments
 (0)