/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright (c) 2023 Cypress Semiconductor Corporation (an Infineon company) or
 * an affiliate of Cypress Semiconductor Corporation
 */

#include <zephyr/dt-bindings/adc/adc.h>

/ {
	zephyr,user {
		io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>;
	};
};

&adc0 {
	status = "okay";
	#address-cells = <1>;
	#size-cells = <0>;

	channel@0 {
		reg = <0>;
		zephyr,acquisition-time = <ADC_ACQ_TIME(ADC_ACQ_TIME_MICROSECONDS, 1)>;
		zephyr,gain = "ADC_GAIN_1";
		zephyr,reference = "ADC_REF_INTERNAL";
		zephyr,resolution = <12>;
		zephyr,input-positive = <0>;   /* P10.0 */
	};

	channel@1 {
		reg = <1>;
		zephyr,acquisition-time = <ADC_ACQ_TIME(ADC_ACQ_TIME_MICROSECONDS, 1)>;
		zephyr,gain = "ADC_GAIN_1";
		zephyr,reference = "ADC_REF_INTERNAL";
		zephyr,resolution = <12>;
		zephyr,input-positive = <1>;   /* P10.1 */
	};

	channel@2 {
		reg = <2>;
		zephyr,acquisition-time = <ADC_ACQ_TIME(ADC_ACQ_TIME_MICROSECONDS, 1)>;
		zephyr,gain = "ADC_GAIN_1";
		zephyr,reference = "ADC_REF_INTERNAL";
		zephyr,resolution = <12>;
		zephyr,input-positive = <2>;   /* P10.2 */
	};

	channel@3 {
		reg = <3>;
		zephyr,acquisition-time = <ADC_ACQ_TIME(ADC_ACQ_TIME_MICROSECONDS, 1)>;
		zephyr,gain = "ADC_GAIN_1";
		zephyr,reference = "ADC_REF_INTERNAL";
		zephyr,resolution = <12>;
		zephyr,input-positive = <3>;   /* P10.3 */
	};
};
