/*
 * 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 4>, <&adc1 5>;
	};
};

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

	pinctrl-0 = <&adc_in4_pb2 &adc_in5_pb1>;
	#address-cells = <1>;
	#size-cells = <0>;

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

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

&dma1 {
	status = "okay";
};

&dmamux1 {
	status = "okay";
};
