/*
 * 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 = <&adc4 7>, <&adc4 8>;
	};
};

&adc4 {
	pinctrl-0 = <&adc4_in7_pa2 &adc4_in8_pa1>;
	#address-cells = <1>;
	#size-cells = <0>;

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

	channel@8 {
		reg = <8>;
		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, 80)>;
		zephyr,resolution = <12>;
	};
};
