/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright (c) 2021 Pavlo Hamov <pasha.gamov@gmail.com>
 */

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