diff --git a/boards/arduino/nano_matter/arduino_nano_matter-pinctrl.dtsi b/boards/arduino/nano_matter/arduino_nano_matter-pinctrl.dtsi index d4fa32ac585ec..d9a3f693d9d5e 100644 --- a/boards/arduino/nano_matter/arduino_nano_matter-pinctrl.dtsi +++ b/boards/arduino/nano_matter/arduino_nano_matter-pinctrl.dtsi @@ -36,6 +36,28 @@ }; }; + iadc0_default: iadc0_default { + group0 { + silabs,analog-bus = ; + }; + + group1 { + silabs,analog-bus = ; + }; + + group2 { + silabs,analog-bus = ; + }; + + group3 { + silabs,analog-bus = ; + }; + + group4 { + silabs,analog-bus = ; + }; + }; + i2c0_default: i2c0_default { group0 { pins = , ; diff --git a/boards/arduino/nano_matter/arduino_nano_matter.dts b/boards/arduino/nano_matter/arduino_nano_matter.dts index edfc833c1640f..2c4060b219350 100644 --- a/boards/arduino/nano_matter/arduino_nano_matter.dts +++ b/boards/arduino/nano_matter/arduino_nano_matter.dts @@ -8,6 +8,7 @@ /dts-v1/; #include #include +#include #include #include "arduino_nano_matter-pinctrl.dtsi" #include "arduino_nano_matter_connector.dtsi" @@ -36,6 +37,7 @@ pwm-led2 = &blue_pwm_led; sw0 = &button0; watchdog0 = &wdog0; + adc0 = &adc0; }; leds { @@ -84,6 +86,17 @@ zephyr,code = ; }; }; + + zephyr,user { + io-channels = <&adc0 0>, + <&adc0 1>, + <&adc0 2>, + <&adc0 3>, + <&adc0 4>, + <&adc0 5>, + <&adc0 6>, + <&adc0 7>; + }; }; &timer0 { @@ -203,6 +216,102 @@ status = "okay"; }; +&adc0 { + pinctrl-0 = <&iadc0_default>; + pinctrl-names = "default"; + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + // A0 - PB0 + channel@0 { + reg = <0>; + zephyr,acquisition-time = ; + zephyr,gain = "ADC_GAIN_1"; + zephyr,input-positive = ; + zephyr,reference = "ADC_REF_VDD_1"; + zephyr,resolution = <12>; + zephyr,vref-mv = <3300>; + }; + + // A1 - PB2 + channel@1 { + reg = <1>; + zephyr,acquisition-time = ; + zephyr,gain = "ADC_GAIN_1"; + zephyr,input-positive = ; + zephyr,reference = "ADC_REF_VDD_1"; + zephyr,resolution = <12>; + zephyr,vref-mv = <3300>; + }; + + // A2 - PB5 + channel@2 { + reg = <2>; + zephyr,acquisition-time = ; + zephyr,gain = "ADC_GAIN_1"; + zephyr,input-positive = ; + zephyr,reference = "ADC_REF_VDD_1"; + zephyr,resolution = <12>; + zephyr,vref-mv = <3300>; + }; + + // A3 - PC0 + channel@3 { + reg = <3>; + zephyr,acquisition-time = ; + zephyr,gain = "ADC_GAIN_1"; + zephyr,input-positive = ; + zephyr,reference = "ADC_REF_VDD_1"; + zephyr,resolution = <12>; + zephyr,vref-mv = <3300>; + }; + + // A4 - PA6 + channel@4 { + reg = <4>; + zephyr,acquisition-time = ; + zephyr,gain = "ADC_GAIN_1"; + zephyr,input-positive = ; + zephyr,reference = "ADC_REF_VDD_1"; + zephyr,resolution = <12>; + zephyr,vref-mv = <3300>; + }; + + // A5 - PA7 + channel@5 { + reg = <5>; + zephyr,acquisition-time = ; + zephyr,gain = "ADC_GAIN_1"; + zephyr,input-positive = ; + zephyr,reference = "ADC_REF_VDD_1"; + zephyr,resolution = <12>; + zephyr,vref-mv = <3300>; + }; + + // A6 - PB1 + channel@6 { + reg = <6>; + zephyr,acquisition-time = ; + zephyr,gain = "ADC_GAIN_1"; + zephyr,input-positive = ; + zephyr,reference = "ADC_REF_VDD_1"; + zephyr,resolution = <12>; + zephyr,vref-mv = <3300>; + }; + + // A7 - PB3 + channel@7 { + reg = <7>; + zephyr,acquisition-time = ; + zephyr,gain = "ADC_GAIN_1"; + zephyr,input-positive = ; + zephyr,reference = "ADC_REF_VDD_1"; + zephyr,resolution = <12>; + zephyr,vref-mv = <3300>; + }; +}; + &flash0 { partitions { compatible = "fixed-partitions";