Skip to content

Commit c3901c6

Browse files
committed
Merge pull request #1434 from veltsup/master
Enable ADC A-channels in K22F and K64F
2 parents 8c5d1c8 + 1ab3d01 commit c3901c6

File tree

5 files changed

+69
-40
lines changed

5 files changed

+69
-40
lines changed

libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_K22F/PeripheralNames.h

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,10 +93,17 @@ typedef enum {
9393
ADC0_SE16 = (0 << ADC_INSTANCE_SHIFT) | 16,
9494
ADC0_SE17 = (0 << ADC_INSTANCE_SHIFT) | 17,
9595
ADC0_SE18 = (0 << ADC_INSTANCE_SHIFT) | 18,
96-
ADC1_SE4b = (1 << ADC_INSTANCE_SHIFT) | 4,
97-
ADC1_SE5b = (1 << ADC_INSTANCE_SHIFT) | 5,
98-
ADC1_SE6b = (1 << ADC_INSTANCE_SHIFT) | 6,
99-
ADC1_SE7b = (1 << ADC_INSTANCE_SHIFT) | 7,
96+
ADC0_SE21 = (0 << ADC_INSTANCE_SHIFT) | 21,
97+
ADC0_SE22 = (0 << ADC_INSTANCE_SHIFT) | 22,
98+
ADC0_SE23 = (0 << ADC_INSTANCE_SHIFT) | 23,
99+
ADC1_SE4a = (1 << ADC_INSTANCE_SHIFT) | 4,
100+
ADC1_SE5a = (1 << ADC_INSTANCE_SHIFT) | 5,
101+
ADC1_SE6a = (1 << ADC_INSTANCE_SHIFT) | 6,
102+
ADC1_SE7a = (1 << ADC_INSTANCE_SHIFT) | 7,
103+
ADC1_SE4b = (1 << ADC_INSTANCE_SHIFT) | (1 << ADC_B_CHANNEL_SHIFT) | 4,
104+
ADC1_SE5b = (1 << ADC_INSTANCE_SHIFT) | (1 << ADC_B_CHANNEL_SHIFT) | 5,
105+
ADC1_SE6b = (1 << ADC_INSTANCE_SHIFT) | (1 << ADC_B_CHANNEL_SHIFT) | 6,
106+
ADC1_SE7b = (1 << ADC_INSTANCE_SHIFT) | (1 << ADC_B_CHANNEL_SHIFT) | 7,
100107
ADC1_SE8 = (1 << ADC_INSTANCE_SHIFT) | 8,
101108
ADC1_SE9 = (1 << ADC_INSTANCE_SHIFT) | 9,
102109
ADC1_SE12 = (1 << ADC_INSTANCE_SHIFT) | 12,
@@ -106,6 +113,7 @@ typedef enum {
106113
ADC1_SE16 = (1 << ADC_INSTANCE_SHIFT) | 16,
107114
ADC1_SE17 = (1 << ADC_INSTANCE_SHIFT) | 17,
108115
ADC1_SE18 = (1 << ADC_INSTANCE_SHIFT) | 18,
116+
ADC1_SE23 = (1 << ADC_INSTANCE_SHIFT) | 23,
109117
} ADCName;
110118

111119
typedef enum {

libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_K22F/PeripheralPins.c

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
16+
1717
#include "PeripheralPins.h"
1818

1919
/************RTC***************/
@@ -23,23 +23,29 @@ const PinMap PinMap_RTC[] = {
2323

2424
/************ADC***************/
2525
const PinMap PinMap_ADC[] = {
26-
{PTC2, ADC0_SE4b, 0},
27-
{PTC8, ADC1_SE4b, 0},
28-
{PTC9, ADC1_SE5b, 0},
29-
{PTD1, ADC0_SE5b, 0},
30-
{PTC10, ADC1_SE6b, 0},
31-
{PTD5, ADC0_SE6b, 0},
32-
{PTC11, ADC1_SE7b, 0},
33-
{PTD6, ADC0_SE7b, 0},
26+
{PTA17, ADC1_SE17, 0},
3427
{PTB0 , ADC0_SE8 , 0},
3528
{PTB1 , ADC0_SE9 , 0},
3629
{PTB2 , ADC0_SE12, 0},
3730
{PTB3 , ADC0_SE13, 0},
38-
{PTC0 , ADC0_SE14, 0},
31+
{PTB6 , ADC1_SE12, 0},
32+
{PTB7 , ADC1_SE13, 0},
3933
{PTB10, ADC1_SE14, 0},
4034
{PTB11, ADC1_SE15, 0},
35+
{PTC0 , ADC0_SE14, 0},
4136
{PTC1 , ADC0_SE15, 0},
42-
{PTA17, ADC1_SE17, 0},
37+
{PTC2, ADC0_SE4b, 0},
38+
{PTC8, ADC1_SE4b, 0},
39+
{PTC9, ADC1_SE5b, 0},
40+
{PTC10, ADC1_SE6b, 0},
41+
{PTC11, ADC1_SE7b, 0},
42+
{PTD1, ADC0_SE5b, 0},
43+
{PTD5, ADC0_SE6b, 0},
44+
{PTD6, ADC0_SE7b, 0},
45+
{PTE0, ADC1_SE4a, 0},
46+
{PTE1, ADC1_SE5a, 0},
47+
{PTE2, ADC1_SE6a, 0},
48+
{PTE3, ADC1_SE7a, 0},
4349
//{PTE24, ADC0_SE17, 0}, //I2C pull up
4450
//{PTE25, ADC0_SE18, 0}, //I2C pull up
4551
{NC , NC , 0}
@@ -152,18 +158,18 @@ const PinMap PinMap_PWM[] = {
152158
{PTA11, PWM_21, 3},
153159
{PTA12, PWM_10, 3},
154160
{PTA13, PWM_11, 3},
155-
161+
156162
{PTB0 , PWM_10, 3},
157163
{PTB1 , PWM_11, 3},
158164
{PTB18, PWM_20, 3},
159165
{PTB19, PWM_21, 3},
160-
166+
161167
{PTC1 , PWM_00, 4},
162168
{PTC2 , PWM_01, 4},
163169
{PTC3 , PWM_02, 4},
164170
{PTC4 , PWM_03, 4},
165171
{PTC5 , PWM_02, 7},
166-
172+
167173
{PTD0 , PWM_30, 4},
168174
{PTD1 , PWM_31, 4},
169175
{PTD2 , PWM_32, 4},
@@ -172,7 +178,7 @@ const PinMap PinMap_PWM[] = {
172178
{PTD5 , PWM_05, 4},
173179
{PTD6 , PWM_06, 4},
174180
{PTD7 , PWM_07, 4},
175-
181+
176182
{PTE5 , PWM_30, 6},
177183
{PTE6 , PWM_31, 6},
178184
{NC , NC , 0}

libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_MCU_K64F/TARGET_FRDM/PeripheralNames.h

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,17 @@ typedef enum {
9898
ADC0_SE16 = (0 << ADC_INSTANCE_SHIFT) | 16,
9999
ADC0_SE17 = (0 << ADC_INSTANCE_SHIFT) | 17,
100100
ADC0_SE18 = (0 << ADC_INSTANCE_SHIFT) | 18,
101-
ADC1_SE4b = (1 << ADC_INSTANCE_SHIFT) | 4,
102-
ADC1_SE5b = (1 << ADC_INSTANCE_SHIFT) | 5,
103-
ADC1_SE6b = (1 << ADC_INSTANCE_SHIFT) | 6,
104-
ADC1_SE7b = (1 << ADC_INSTANCE_SHIFT) | 7,
101+
ADC0_SE21 = (0 << ADC_INSTANCE_SHIFT) | 21,
102+
ADC0_SE22 = (0 << ADC_INSTANCE_SHIFT) | 22,
103+
ADC0_SE23 = (0 << ADC_INSTANCE_SHIFT) | 23,
104+
ADC1_SE4a = (1 << ADC_INSTANCE_SHIFT) | 4,
105+
ADC1_SE5a = (1 << ADC_INSTANCE_SHIFT) | 5,
106+
ADC1_SE6a = (1 << ADC_INSTANCE_SHIFT) | 6,
107+
ADC1_SE7a = (1 << ADC_INSTANCE_SHIFT) | 7,
108+
ADC1_SE4b = (1 << ADC_INSTANCE_SHIFT) | (1 << ADC_B_CHANNEL_SHIFT) | 4,
109+
ADC1_SE5b = (1 << ADC_INSTANCE_SHIFT) | (1 << ADC_B_CHANNEL_SHIFT) | 5,
110+
ADC1_SE6b = (1 << ADC_INSTANCE_SHIFT) | (1 << ADC_B_CHANNEL_SHIFT) | 6,
111+
ADC1_SE7b = (1 << ADC_INSTANCE_SHIFT) | (1 << ADC_B_CHANNEL_SHIFT) | 7,
105112
ADC1_SE8 = (1 << ADC_INSTANCE_SHIFT) | 8,
106113
ADC1_SE9 = (1 << ADC_INSTANCE_SHIFT) | 9,
107114
ADC1_SE12 = (1 << ADC_INSTANCE_SHIFT) | 12,
@@ -111,6 +118,7 @@ typedef enum {
111118
ADC1_SE16 = (1 << ADC_INSTANCE_SHIFT) | 16,
112119
ADC1_SE17 = (1 << ADC_INSTANCE_SHIFT) | 17,
113120
ADC1_SE18 = (1 << ADC_INSTANCE_SHIFT) | 18,
121+
ADC1_SE23 = (1 << ADC_INSTANCE_SHIFT) | 23,
114122
} ADCName;
115123

116124
typedef enum {

libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_MCU_K64F/TARGET_FRDM/PeripheralPins.c

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
16+
1717
#include "PeripheralPins.h"
1818

1919
/************RTC***************/
@@ -23,23 +23,29 @@ const PinMap PinMap_RTC[] = {
2323

2424
/************ADC***************/
2525
const PinMap PinMap_ADC[] = {
26-
{PTC2, ADC0_SE4b, 0},
27-
{PTC8, ADC1_SE4b, 0},
28-
{PTC9, ADC1_SE5b, 0},
29-
{PTD1, ADC0_SE5b, 0},
30-
{PTC10, ADC1_SE6b, 0},
31-
{PTD5, ADC0_SE6b, 0},
32-
{PTC11, ADC1_SE7b, 0},
33-
{PTD6, ADC0_SE7b, 0},
26+
{PTA17, ADC1_SE17, 0},
3427
{PTB0 , ADC0_SE8 , 0},
3528
{PTB1 , ADC0_SE9 , 0},
3629
{PTB2 , ADC0_SE12, 0},
3730
{PTB3 , ADC0_SE13, 0},
38-
{PTC0 , ADC0_SE14, 0},
31+
{PTB6 , ADC1_SE12, 0},
32+
{PTB7 , ADC1_SE13, 0},
3933
{PTB10, ADC1_SE14, 0},
4034
{PTB11, ADC1_SE15, 0},
35+
{PTC0 , ADC0_SE14, 0},
4136
{PTC1 , ADC0_SE15, 0},
42-
{PTA17, ADC1_SE17, 0},
37+
{PTC2, ADC0_SE4b, 0},
38+
{PTC8, ADC1_SE4b, 0},
39+
{PTC9, ADC1_SE5b, 0},
40+
{PTC10, ADC1_SE6b, 0},
41+
{PTC11, ADC1_SE7b, 0},
42+
{PTD1, ADC0_SE5b, 0},
43+
{PTD5, ADC0_SE6b, 0},
44+
{PTD6, ADC0_SE7b, 0},
45+
{PTE0, ADC1_SE4a, 0},
46+
{PTE1, ADC1_SE5a, 0},
47+
{PTE2, ADC1_SE6a, 0},
48+
{PTE3, ADC1_SE7a, 0},
4349
//{PTE24, ADC0_SE17, 0}, //I2C pull up
4450
//{PTE25, ADC0_SE18, 0}, //I2C pull up
4551
{NC , NC , 0}
@@ -169,12 +175,12 @@ const PinMap PinMap_PWM[] = {
169175
{PTA11, PWM_18, 3},
170176
{PTA12, PWM_9 , 3},
171177
{PTA13, PWM_10, 3},
172-
178+
173179
{PTB0 , PWM_9 , 3},
174180
{PTB1 , PWM_10, 3},
175181
{PTB18, PWM_17, 3},
176182
{PTB19, PWM_18, 3},
177-
183+
178184
{PTC1 , PWM_1 , 4},
179185
{PTC2 , PWM_2 , 4},
180186
{PTC3 , PWM_3 , 4},
@@ -184,7 +190,7 @@ const PinMap PinMap_PWM[] = {
184190
{PTC9 , PWM_30, 3},
185191
{PTC10, PWM_31, 3},
186192
{PTC11, PWM_32, 3},
187-
193+
188194
{PTD0 , PWM_25, 4},
189195
{PTD1 , PWM_26, 4},
190196
{PTD2 , PWM_27, 4},
@@ -194,9 +200,9 @@ const PinMap PinMap_PWM[] = {
194200
{PTD6 , PWM_7 , 4},
195201
{PTD4 , PWM_5 , 4},
196202
{PTD7 , PWM_8 , 4},
197-
203+
198204
{PTE5 , PWM_25, 6},
199205
{PTE6 , PWM_26, 6},
200-
206+
201207
{NC , NC , 0}
202208
};

libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/analogin_api.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ void analogin_init(analogin_t *obj, PinName pin) {
5757
ADC_HAL_SetHwTriggerCmd(adc_addrs[instance], false); /* sw trigger */
5858
ADC_HAL_SetHwAverageCmd(adc_addrs[instance], true);
5959
ADC_HAL_SetHwAverageMode(adc_addrs[instance], kAdcHwAverageCountOf4);
60-
ADC_HAL_SetChnMuxMode(adc_addrs[instance], kAdcChnMuxOfB); /* only B channels are avail */
60+
ADC_HAL_SetChnMuxMode(adc_addrs[instance],
61+
obj->adc & (1 << ADC_B_CHANNEL_SHIFT) ? kAdcChnMuxOfB : kAdcChnMuxOfA);
6162

6263
pinmap_pinout(pin, PinMap_ADC);
6364
}

0 commit comments

Comments
 (0)