Skip to content

Commit b83fd7f

Browse files
committed
MUX corrections, Arduino Analog signals
- added new MUX options to all drivers - removal of LED which are not there - analog arduino R3 signals were switched
1 parent 2ca3195 commit b83fd7f

File tree

5 files changed

+50
-41
lines changed

5 files changed

+50
-41
lines changed

libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KL46Z/PinNames.h

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -193,13 +193,10 @@ typedef enum {
193193

194194
LED_RED = PTE29,
195195
LED_GREEN = PTD5,
196-
LED_BLUE = PTD5,
197196

198197
// mbed original LED naming
199198
LED1 = LED_GREEN,
200199
LED2 = LED_RED,
201-
LED3 = LED_GREEN,
202-
LED4 = LED_RED,
203200

204201
// USB Pins
205202
USBTX = PTA2,
@@ -223,18 +220,18 @@ typedef enum {
223220
D14 = PTE0,
224221
D15 = PTE1,
225222

226-
A0 = PTC1,
227-
A1 = PTC2,
228-
A2 = PTB3,
229-
A3 = PTB2,
230-
A4 = PTB1,
231-
A5 = PTB0,
223+
A0 = PTB0,
224+
A1 = PTB1,
225+
A2 = PTB2,
226+
A3 = PTB3,
227+
A4 = PTC2,
228+
A5 = PTC1,
232229

233230
// Not connected
234231
NC = (int)0xFFFFFFFF
235232
} PinName;
236233

237-
/* PullDown not available for KL25 */
234+
/* PullDown not available for KL46 */
238235
typedef enum {
239236
PullNone = 0,
240237
PullUp = 2,

libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KL46Z/pwmout_api.c

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,29 +20,29 @@
2020
#include "error.h"
2121

2222
static const PinMap PinMap_PWM[] = {
23-
// LEDs
24-
{LED_RED , PWM_9 , 3}, // PTB18, TPM2 CH0
25-
{LED_GREEN, PWM_10, 3}, // PTB19, TPM2 CH1
26-
{LED_BLUE , PWM_2 , 4}, // PTD1 , TPM0 CH1
23+
// LEDs - only RED pin is PWM capable
24+
{LED_RED, PWM_3, 3}, // PTE29, TPM0 CH2
2725

2826
// Arduino digital pinout
2927
{D0, PWM_9 , 3}, // PTA1 , TPM2 CH0
3028
{D1, PWM_10, 3}, // PTA2 , TPM2 CH1
31-
{D2, PWM_5 , 4}, // PTD4 , TPM0 CH4
29+
{D2, PWM_4 , 4}, // PTD3 , TPM0 CH3
3230
{D3, PWM_7 , 3}, // PTA12, TPM1 CH0
3331
{D4, PWM_2 , 3}, // PTA4 , TPM0 CH1
3432
{D5, PWM_3 , 3}, // PTA5 , TPM0 CH2
3533
{D6, PWM_5 , 3}, // PTC8 , TPM0 CH4
3634
{D7, PWM_6 , 3}, // PTC9 , TPM0 CH5
3735
{D8, PWM_8 , 3}, // PTA13, TPM1 CH1
38-
{D9, PWM_6 , 4}, // PTD5 , TPM0 CH5
39-
{D10, PWM_1 , 4}, // PTD0 , TPM0 CH0
40-
{D11, PWM_3 , 4}, // PTD2 , TPM0 CH2
41-
{D12, PWM_4 , 4}, // PTD3 , TPM0 CH3
42-
{D13, PWM_2 , 4}, // PTD1 , TPM0 CH1,
36+
{D9, PWM_3 , 4}, // PTD2 , TPM0 CH2
37+
{D10, PWM_5 , 4}, // PTD4 , TPM0 CH4
38+
//PWM on D11 not available
39+
//PWM on D12 not available
40+
{D13, PWM_2 , 4}, // PTD5 , TPM0 CH1,
4341

4442
{PTA0, PWM_6, 3},
4543
{PTA3, PWM_1, 3},
44+
{PTA6, PWM_4, 3},
45+
{PTA7, PWM_5, 3},
4646
{PTB0, PWM_7, 3},
4747
{PTB1, PWM_8, 3},
4848
{PTB2, PWM_9, 3},
@@ -57,6 +57,7 @@ static const PinMap PinMap_PWM[] = {
5757
{PTE23, PWM_10, 3},
5858
{PTE24, PWM_1, 3},
5959
{PTE25, PWM_2, 3},
60+
{PTE26, PWM_6, 3},
6061
{PTE29, PWM_3, 3},
6162
{PTE30, PWM_4, 3},
6263
{PTE31, PWM_5, 3},

libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KL46Z/rtc_api.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ static void init(void) {
2424

2525
/*
2626
* configure PTC1 with alternate function 1: RTC_CLKIN
27-
* As the kl25z board does not have a 32kHz osc,
27+
* As the KL46Z board does not have a 32kHz osc,
2828
* we use an external clock generated by the
2929
* interface chip
3030
*/

libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KL46Z/serial_api.c

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -28,26 +28,30 @@
2828
* INITIALIZATION
2929
******************************************************************************/
3030
static const PinMap PinMap_UART_TX[] = {
31-
{PTC4, UART_1, 3},
3231
{PTA2, UART_0, 2},
33-
{PTD5, UART_2, 3},
32+
{PTA14, UART_0, 3}
33+
{PTC4, UART_1, 3},
3434
{PTD3, UART_2, 3},
35+
{PTD5, UART_2, 3},
3536
{PTD7, UART_0, 3},
37+
{PTE0, UART_1, 3},
38+
{PTE16, UART_2, 3},
3639
{PTE20, UART_0, 4},
3740
{PTE22, UART_2, 4},
38-
{PTE0, UART_1, 3},
3941
{NC , NC , 0}
4042
};
4143

4244
static const PinMap PinMap_UART_RX[] = {
43-
{PTC3, UART_1, 3},
4445
{PTA1, UART_0, 2},
45-
{PTD4, UART_2, 3},
46+
{PTA15, UART_0, 3},
47+
{PTC3, UART_1, 3},
4648
{PTD2, UART_2, 3},
49+
{PTD4, UART_2, 3},
4750
{PTD6, UART_0, 3},
48-
{PTE23, UART_2, 4},
49-
{PTE21, UART_0, 4},
5051
{PTE1, UART_1, 3},
52+
{PTE17, UART_2, 3},
53+
{PTE21, UART_0, 4},
54+
{PTE23, UART_2, 4},
5155
{NC , NC , 0}
5256
};
5357

@@ -77,7 +81,7 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) {
7781
}
7882
// Disable UART before changing registers
7983
obj->uart->C2 &= ~(UART_C2_RE_MASK | UART_C2_TE_MASK);
80-
84+
8185
switch (uart) {
8286
case UART_0: obj->index = 0; break;
8387
case UART_1: obj->index = 1; break;
@@ -122,13 +126,13 @@ void serial_free(serial_t *obj) {
122126
// DivAddVal < MulVal
123127
//
124128
void serial_baud(serial_t *obj, int baudrate) {
125-
129+
126130
// save C2 state
127131
uint8_t c2_state = (obj->uart->C2 & (UART_C2_RE_MASK | UART_C2_TE_MASK));
128-
132+
129133
// Disable UART before changing registers
130134
obj->uart->C2 &= ~(UART_C2_RE_MASK | UART_C2_TE_MASK);
131-
135+
132136
// [TODO] not hardcode this value
133137
uint32_t PCLK = (obj->uart == UART0) ? 48000000u : 24000000u;
134138

@@ -143,20 +147,20 @@ void serial_baud(serial_t *obj, int baudrate) {
143147
// set BDH and BDL
144148
obj->uart->BDH = (obj->uart->BDH & ~(0x1f)) | ((DL >> 8) & 0x1f);
145149
obj->uart->BDL = (obj->uart->BDL & ~(0xff)) | ((DL >> 0) & 0xff);
146-
150+
147151
// restore C2 state
148152
obj->uart->C2 |= c2_state;
149153
}
150154

151155
void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_bits) {
152156
uint8_t m10 = 0;
153-
157+
154158
// save C2 state
155159
uint8_t c2_state = (obj->uart->C2 & (UART_C2_RE_MASK | UART_C2_TE_MASK));
156-
160+
157161
// Disable UART before changing registers
158162
obj->uart->C2 &= ~(UART_C2_RE_MASK | UART_C2_TE_MASK);
159-
163+
160164
// 8 data bits = 0 ... 9 data bits = 1
161165
if ((data_bits < 8) || (data_bits > 9)) {
162166
error("Invalid number of bits (%d) in serial format, should be 8..9\r\n", data_bits);
@@ -178,7 +182,7 @@ void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_b
178182
error("Invalid stop bits specified\r\n");
179183
}
180184
stop_bits -= 1;
181-
185+
182186
// 9 data bits + parity
183187
if (data_bits == 2) {
184188
// only uart0 supports 10 bit communication
@@ -193,17 +197,17 @@ void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_b
193197
obj->uart->C1 = ((data_bits << 4)
194198
| (parity_enable << 1)
195199
| (parity_select << 0));
196-
200+
197201
// enable 10bit mode if needed
198202
if (obj->index == 0) {
199203
obj->uart->C4 &= ~UARTLP_C4_M10_MASK;
200204
obj->uart->C4 |= (m10 << UARTLP_C4_M10_SHIFT);
201205
}
202-
206+
203207
// stop bits
204208
obj->uart->BDH &= ~UART_BDH_SBNS_MASK;
205209
obj->uart->BDH |= (stop_bits << UART_BDH_SBNS_SHIFT);
206-
210+
207211
// restore C2 state
208212
obj->uart->C2 |= c2_state;
209213
}
@@ -304,7 +308,7 @@ void serial_pinout_tx(PinName tx) {
304308
}
305309

306310
void serial_break_set(serial_t *obj) {
307-
obj->uart->C2 |= UART_C2_SBK_MASK;
311+
obj->uart->C2 |= UART_C2_SBK_MASK;
308312
}
309313

310314
void serial_break_clear(serial_t *obj) {

libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KL46Z/spi_api.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,13 @@
2323

2424
static const PinMap PinMap_SPI_SCLK[] = {
2525
{PTA15, SPI_0, 2},
26+
{PTB9, SPI_1, 2},
2627
{PTB11, SPI_1, 2},
2728
{PTC5, SPI_0, 2},
2829
{PTD1, SPI_0, 2},
2930
{PTD5, SPI_1, 2},
3031
{PTE2, SPI_1, 2},
32+
{PTE17, SPI_0, 2},
3133
{NC , NC , 0}
3234
};
3335

@@ -44,6 +46,8 @@ static const PinMap PinMap_SPI_MOSI[] = {
4446
{PTD7, SPI_1, 5},
4547
{PTE1, SPI_1, 2},
4648
{PTE3, SPI_1, 5},
49+
{PTE18, SPI_0, 2},
50+
{PTE19, SPI_0, 5},
4751
{NC , NC , 0}
4852
};
4953

@@ -60,6 +64,8 @@ static const PinMap PinMap_SPI_MISO[] = {
6064
{PTD7, SPI_1, 2},
6165
{PTE1, SPI_1, 5},
6266
{PTE3, SPI_1, 2},
67+
{PTE18, SPI_0, 5},
68+
{PTE19, SPI_0, 2},
6369
{NC , NC , 0}
6470
};
6571

@@ -70,6 +76,7 @@ static const PinMap PinMap_SPI_SSEL[] = {
7076
{PTD0, SPI_0, 2},
7177
{PTD4, SPI_1, 2},
7278
{PTE4, SPI_1, 2},
79+
{PTE16, SPI_0, 2},
7380
{NC , NC , 0}
7481
};
7582

0 commit comments

Comments
 (0)