Skip to content

Commit 073e04c

Browse files
peterwangszkartben
authored andcommitted
boards: frdm_mcxa166, frdm_mcxa276: add adc support
1. enable adc support 2. verified samples/drivers/adc/adc_dt and tests/drivers/adc/adc_api Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
1 parent ee598f9 commit 073e04c

21 files changed

+274
-0
lines changed

boards/nxp/frdm_mcxa166/board.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,20 @@ void board_early_init_hook(void)
188188
CLOCK_SetClockDiv(kCLOCK_DivWWDT0, 1u);
189189
#endif
190190

191+
#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(lpadc0)) || DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(lpadc1))
192+
CLOCK_SetClockDiv(kCLOCK_DivADC, 1u);
193+
CLOCK_AttachClk(kFRO_LF_DIV_to_ADC);
194+
195+
#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(lpadc0))
196+
CLOCK_EnableClock(kCLOCK_GateADC0);
197+
#endif
198+
199+
#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(lpadc1))
200+
CLOCK_EnableClock(kCLOCK_GateADC1);
201+
#endif
202+
203+
#endif
204+
191205
#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(lptmr0))
192206

193207
/*

boards/nxp/frdm_mcxa166/frdm_mcxa166-pinctrl.dtsi

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,12 @@
2626
input-enable;
2727
};
2828
};
29+
30+
pinmux_lpadc0: pinmux_lpadc0 {
31+
group0 {
32+
pinmux = <ADC0_A7_P2_7>;
33+
slew-rate = "fast";
34+
drive-strength = "low";
35+
};
36+
};
2937
};

boards/nxp/frdm_mcxa166/frdm_mcxa166.dts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,12 @@
120120
status = "okay";
121121
};
122122

123+
&lpadc0 {
124+
status = "okay";
125+
pinctrl-0 = <&pinmux_lpadc0>;
126+
pinctrl-names = "default";
127+
};
128+
123129
&flash {
124130
partitions {
125131
compatible = "fixed-partitions";

boards/nxp/frdm_mcxa166/frdm_mcxa166.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ supported:
1717
- gpio
1818
- uart
1919
- flash
20+
- adc
2021
- watchdog
2122
- counter
2223
- dma

boards/nxp/frdm_mcxa166/frdm_mcxa166_defconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ CONFIG_UART_CONSOLE=y
99
CONFIG_SERIAL=y
1010
CONFIG_UART_INTERRUPT_DRIVEN=y
1111
CONFIG_GPIO=y
12+
CONFIG_LPADC_DO_OFFSET_CALIBRATION=y
1213
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=180000000

boards/nxp/frdm_mcxa276/board.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,20 @@ void board_early_init_hook(void)
188188
CLOCK_SetClockDiv(kCLOCK_DivWWDT0, 1u);
189189
#endif
190190

191+
#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(lpadc0)) || DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(lpadc1))
192+
CLOCK_SetClockDiv(kCLOCK_DivADC, 1u);
193+
CLOCK_AttachClk(kFRO_LF_DIV_to_ADC);
194+
195+
#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(lpadc0))
196+
CLOCK_EnableClock(kCLOCK_GateADC0);
197+
#endif
198+
199+
#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(lpadc1))
200+
CLOCK_EnableClock(kCLOCK_GateADC1);
201+
#endif
202+
203+
#endif
204+
191205
#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(lptmr0))
192206

193207
/*

boards/nxp/frdm_mcxa276/frdm_mcxa276-pinctrl.dtsi

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,12 @@
2626
input-enable;
2727
};
2828
};
29+
30+
pinmux_lpadc0: pinmux_lpadc0 {
31+
group0 {
32+
pinmux = <ADC0_A7_P2_7>;
33+
slew-rate = "fast";
34+
drive-strength = "low";
35+
};
36+
};
2937
};

boards/nxp/frdm_mcxa276/frdm_mcxa276.dts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,12 @@
120120
status = "okay";
121121
};
122122

123+
&lpadc0 {
124+
status = "okay";
125+
pinctrl-0 = <&pinmux_lpadc0>;
126+
pinctrl-names = "default";
127+
};
128+
123129
&flash {
124130
partitions {
125131
compatible = "fixed-partitions";

boards/nxp/frdm_mcxa276/frdm_mcxa276.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ supported:
1717
- gpio
1818
- uart
1919
- flash
20+
- adc
2021
- watchdog
2122
- counter
2223
- dma

boards/nxp/frdm_mcxa276/frdm_mcxa276_defconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ CONFIG_UART_CONSOLE=y
99
CONFIG_SERIAL=y
1010
CONFIG_UART_INTERRUPT_DRIVEN=y
1111
CONFIG_GPIO=y
12+
CONFIG_LPADC_DO_OFFSET_CALIBRATION=y
1213
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=180000000

0 commit comments

Comments
 (0)