/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright (c) Benjamin Björnsson <benjamin.bjornsson@gmail.com>
 */

/ {
	zephyr,user {
		/* adjust channel number according to pinmux in board.dts */
		io-channels = <&adc1 3>, <&adc1 4>;
	};
};

&adc1 {
	dmas = <&dmamux1 0 5 (STM32_DMA_PERIPH_RX | STM32_DMA_MEM_16BITS |
		STM32_DMA_PERIPH_16BITS)>;
	dma-names = "dmamux";

	pinctrl-0 = <&adc1_in3_pc2 &adc1_in4_pc3>;
	#address-cells = <1>;
	#size-cells = <0>;

	channel@3 {
		reg = <3>;
		zephyr,gain = "ADC_GAIN_1";
		zephyr,reference = "ADC_REF_INTERNAL";
		zephyr,acquisition-time = <ADC_ACQ_TIME_MAX>;
		zephyr,resolution = <12>;
	};

	channel@4 {
		reg = <4>;
		zephyr,gain = "ADC_GAIN_1";
		zephyr,reference = "ADC_REF_INTERNAL";
		/* Use a different acquisition time for test purposes */
		zephyr,acquisition-time = <ADC_ACQ_TIME(ADC_ACQ_TIME_TICKS, 248)>;
		zephyr,resolution = <12>;
	};
};

&dma1 {
	status = "okay";
};

&dmamux1 {
	status = "okay";
};
