Skip to content

Commit 813a74d

Browse files
danieldegrassecarlescufi
authored andcommitted
boards: mimxrt1020_evk: Enable ADC on RT1020 EVK
Enables ADC1 on the RT1020 evaluation board. Channels 10 and 11 of this ADC are exposed as pins 1 and 2 of J18 on the evk. Signed-off-by: Daniel DeGrasse <[email protected]>
1 parent ac174d3 commit 813a74d

File tree

6 files changed

+40
-1
lines changed

6 files changed

+40
-1
lines changed

boards/arm/mimxrt1020_evk/doc/index.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ features:
9090
+-----------+------------+-------------------------------------+
9191
| USB | on-chip | USB device |
9292
+-----------+------------+-------------------------------------+
93+
| ADC | on-chip | adc |
94+
+-----------+------------+-------------------------------------+
9395

9496
The default configuration can be found in the defconfig file:
9597
``boards/arm/mimxrt1020_evk/mimxrt1020_evk_defconfig``
@@ -164,6 +166,10 @@ The MIMXRT1020 SoC has five pairs of pinmux/gpio controllers.
164166
+---------------+-----------------+---------------------------+
165167
| GPIO_SD_B0_06 | USDHC1_CD_B | SD Card |
166168
+---------------+-----------------+---------------------------+
169+
| GPIO_AD_B1_10 | ADC | ADC1 Channel 10 |
170+
+---------------+-----------------+---------------------------+
171+
| GPIO_AD_B1_11 | ADC | ADC1 Channel 11 |
172+
+---------------+-----------------+---------------------------+
167173

168174
System Clock
169175
============

boards/arm/mimxrt1020_evk/mimxrt1020_evk.dts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,3 +158,7 @@ zephyr_udc0: &usb1 {
158158
cd-gpios = <&gpio1 23 GPIO_ACTIVE_LOW>;
159159
no-1-8-v;
160160
};
161+
162+
&adc1 {
163+
status = "okay";
164+
};

boards/arm/mimxrt1020_evk/mimxrt1020_evk.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,4 @@ supported:
2323
- netif:eth
2424
- spi
2525
- usb_device
26+
- adc

boards/arm/mimxrt1020_evk/pinmux.c

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,21 @@ static int mimxrt1020_evk_init(const struct device *dev)
262262
imxrt_usdhc_pinmux_cb_register(mimxrt1020_evk_usdhc_pinmux);
263263
#endif
264264

265+
#if DT_NODE_HAS_STATUS(DT_NODELABEL(adc1), okay) && CONFIG_ADC
266+
/* ADC1 Channel 10 and 11 are on pins 1 and 2 of J18 */
267+
/* ADC1 Channel 10 */
268+
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B1_10_GPIO1_IO26, 0U);
269+
/* ADC1 Channel 11 */
270+
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B1_11_GPIO1_IO27, 0U);
271+
272+
IOMUXC_SetPinConfig(IOMUXC_GPIO_AD_B1_10_GPIO1_IO26,
273+
IOMUXC_SW_PAD_CTL_PAD_SPEED(2) |
274+
IOMUXC_SW_PAD_CTL_PAD_DSE(6));
275+
IOMUXC_SetPinConfig(IOMUXC_GPIO_AD_B1_11_GPIO1_IO27,
276+
IOMUXC_SW_PAD_CTL_PAD_SPEED(2) |
277+
IOMUXC_SW_PAD_CTL_PAD_DSE(6));
278+
#endif
279+
265280
return 0;
266281
}
267282

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/*
2+
* SPDX-License-Identifier: Apache-2.0
3+
*
4+
* Copyright (c) 2021 NXP
5+
*/
6+
7+
/ {
8+
zephyr,user {
9+
/* adjust channel number according to pinmux in board.dts */
10+
io-channels = <&adc1 10>;
11+
};
12+
};

tests/drivers/adc/adc_api/src/test_adc.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,8 @@
301301
defined(CONFIG_BOARD_MIMXRT1060_EVK) || \
302302
defined(CONFIG_BOARD_MIMXRT1024_EVK) || \
303303
defined(CONFIG_BOARD_MIMXRT1010_EVK) || \
304-
defined(CONFIG_BOARD_MIMXRT1015_EVK)
304+
defined(CONFIG_BOARD_MIMXRT1015_EVK) || \
305+
defined(CONFIG_BOARD_MIMXRT1020_EVK)
305306
#define ADC_DEVICE_NAME DT_LABEL(DT_INST(0, nxp_mcux_12b1msps_sar))
306307
#define ADC_RESOLUTION 12
307308
#define ADC_GAIN ADC_GAIN_1

0 commit comments

Comments
 (0)