Skip to content

Commit 2accdbe

Browse files
silabs-bozontnashif
authored andcommitted
boards: seeed: add ADC support for the XIAO MG24
ADC pins are now mapped to the A0-A6 pins. Signed-off-by: Tamas Jozsi <tamas.jozsi@silabs.com>
1 parent c008c1e commit 2accdbe

File tree

2 files changed

+107
-0
lines changed

2 files changed

+107
-0
lines changed

boards/seeed/xiao_mg24/xiao_mg24-pinctrl.dtsi

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,16 @@
5050
};
5151
};
5252

53+
iadc0_default: iadc0_default {
54+
group0 {
55+
silabs,analog-bus = <ABUS_CDEVEN0_IADC0>;
56+
};
57+
58+
group1 {
59+
silabs,analog-bus = <ABUS_CDODD0_IADC0>;
60+
};
61+
};
62+
5363
i2c0_default: i2c0_default {
5464
group0 {
5565
pins = <I2C0_SCL_PC4>, <I2C0_SDA_PC5>;

boards/seeed/xiao_mg24/xiao_mg24.dts

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
/dts-v1/;
99
#include <silabs/xg24/efr32mg24b220f1536im48.dtsi>
1010
#include <zephyr/dt-bindings/pwm/pwm.h>
11+
#include <dt-bindings/adc/silabs-adc.h>
1112
#include "xiao_mg24-pinctrl.dtsi"
1213
#include "seeed_xiao_connector.dtsi"
1314

@@ -30,6 +31,7 @@
3031
led0 = &led0;
3132
pwm-led0 = &pwm_led0;
3233
watchdog0 = &wdog0;
34+
adc0 = &adc0;
3335
};
3436

3537
leds {
@@ -49,6 +51,16 @@
4951
label = "PWM LED 0";
5052
};
5153
};
54+
55+
zephyr,user {
56+
io-channels = <&adc0 0>,
57+
<&adc0 1>,
58+
<&adc0 2>,
59+
<&adc0 3>,
60+
<&adc0 4>,
61+
<&adc0 5>,
62+
<&adc0 6>;
63+
};
5264
};
5365

5466
&timer0 {
@@ -180,6 +192,91 @@
180192
status = "okay";
181193
};
182194

195+
&adc0 {
196+
pinctrl-0 = <&iadc0_default>;
197+
pinctrl-names = "default";
198+
#address-cells = <1>;
199+
#size-cells = <0>;
200+
status = "okay";
201+
202+
/* A0 - PC0 */
203+
channel@0 {
204+
reg = <0>;
205+
zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
206+
zephyr,gain = "ADC_GAIN_1";
207+
zephyr,input-positive = <IADC_INPUT_PC0>;
208+
zephyr,reference = "ADC_REF_VDD_1";
209+
zephyr,resolution = <12>;
210+
zephyr,vref-mv = <3300>;
211+
};
212+
213+
/* A1 - PC1 */
214+
channel@1 {
215+
reg = <1>;
216+
zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
217+
zephyr,gain = "ADC_GAIN_1";
218+
zephyr,input-positive = <IADC_INPUT_PC1>;
219+
zephyr,reference = "ADC_REF_VDD_1";
220+
zephyr,resolution = <12>;
221+
zephyr,vref-mv = <3300>;
222+
};
223+
224+
/* A2 - PC2 */
225+
channel@2 {
226+
reg = <2>;
227+
zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
228+
zephyr,gain = "ADC_GAIN_1";
229+
zephyr,input-positive = <IADC_INPUT_PC2>;
230+
zephyr,reference = "ADC_REF_VDD_1";
231+
zephyr,resolution = <12>;
232+
zephyr,vref-mv = <3300>;
233+
};
234+
235+
/* A3 - PC3 */
236+
channel@3 {
237+
reg = <3>;
238+
zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
239+
zephyr,gain = "ADC_GAIN_1";
240+
zephyr,input-positive = <IADC_INPUT_PC3>;
241+
zephyr,reference = "ADC_REF_VDD_1";
242+
zephyr,resolution = <12>;
243+
zephyr,vref-mv = <3300>;
244+
};
245+
246+
/* A4 - PC4 */
247+
channel@4 {
248+
reg = <4>;
249+
zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
250+
zephyr,gain = "ADC_GAIN_1";
251+
zephyr,input-positive = <IADC_INPUT_PC4>;
252+
zephyr,reference = "ADC_REF_VDD_1";
253+
zephyr,resolution = <12>;
254+
zephyr,vref-mv = <3300>;
255+
};
256+
257+
/* A5 - PC5 */
258+
channel@5 {
259+
reg = <5>;
260+
zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
261+
zephyr,gain = "ADC_GAIN_1";
262+
zephyr,input-positive = <IADC_INPUT_PC5>;
263+
zephyr,reference = "ADC_REF_VDD_1";
264+
zephyr,resolution = <12>;
265+
zephyr,vref-mv = <3300>;
266+
};
267+
268+
/* A6 - PC6 */
269+
channel@6 {
270+
reg = <6>;
271+
zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
272+
zephyr,gain = "ADC_GAIN_1";
273+
zephyr,input-positive = <IADC_INPUT_PC6>;
274+
zephyr,reference = "ADC_REF_VDD_1";
275+
zephyr,resolution = <12>;
276+
zephyr,vref-mv = <3300>;
277+
};
278+
};
279+
183280
&flash0 {
184281
partitions {
185282
compatible = "fixed-partitions";

0 commit comments

Comments
 (0)