/*
 * 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 15>, <&adc1 16>;
	};
};

&adc1 {
	pinctrl-0 = <&adc1_in15_pb0 &adc1_in16_pb1>;
	#address-cells = <1>;
	#size-cells = <0>;

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

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

&adc4 {
	status = "disabled";
};
