1/*
2 * Copyright (c) 2024 Pierrick Curt
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7/ {
8	aliases {
9		adc0 = &adc_ad4114;
10	};
11};
12
13&spi1 {
14	pinctrl-0 = <&spi1_nss_pa4 &spi1_sck_pa5
15		     &spi1_miso_pa6 &spi1_mosi_pa7>;
16	pinctrl-names = "default";
17	status = "okay";
18
19	adc_ad4114: adc_ad4114@0 {
20		compatible = "adi,ad4114-adc";
21		spi-max-frequency = <DT_FREQ_M(1)>;
22		status = "okay";
23		reg = <0>;
24		#io-channel-cells = <1>;
25		#address-cells = <1>;
26		#size-cells = <0>;
27
28		/* INPUTx mapping bits [9:0] for CH0 to CH15 */
29		map-inputs = <0x10 0x30 0x50 0x70 0x90 0xB0 0xD0 0xF0 0x110 \
30					0x130 0x150 0x170 0x190 0x1B0 0x1D0 0x1F0>;
31
32
33		channel@0 {
34			reg = <0x0>;
35			zephyr,gain = "ADC_GAIN_1";
36			zephyr,reference = "ADC_REF_EXTERNAL0";
37			zephyr,vref-mv = <8>;
38			zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
39		};
40		channel@1 {
41			reg = <1>;
42			zephyr,gain = "ADC_GAIN_1";
43			zephyr,reference = "ADC_REF_EXTERNAL0";
44			zephyr,vref-mv = <8>;
45			zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
46		};
47		channel@2 {
48			reg = <2>;
49			zephyr,gain = "ADC_GAIN_1";
50			zephyr,reference = "ADC_REF_EXTERNAL0";
51			zephyr,vref-mv = <8>;
52			zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
53		};
54		channel@3 {
55			reg = <3>;
56			zephyr,gain = "ADC_GAIN_1";
57			zephyr,reference = "ADC_REF_EXTERNAL0";
58			zephyr,vref-mv = <8>;
59			zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
60		};
61		channel@4 {
62			reg = <4>;
63			zephyr,gain = "ADC_GAIN_1";
64			zephyr,reference = "ADC_REF_EXTERNAL0";
65			zephyr,vref-mv = <8>;
66			zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
67		};
68		channel@5 {
69			reg = <5>;
70			zephyr,gain = "ADC_GAIN_1";
71			zephyr,reference = "ADC_REF_EXTERNAL0";
72			zephyr,vref-mv = <8>;
73			zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
74		};
75		channel@6 {
76			reg = <6>;
77			zephyr,gain = "ADC_GAIN_1";
78			zephyr,reference = "ADC_REF_EXTERNAL0";
79			zephyr,vref-mv = <8>;
80			zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
81		};
82		channel@7 {
83			reg = <7>;
84			zephyr,gain = "ADC_GAIN_1";
85			zephyr,reference = "ADC_REF_EXTERNAL0";
86			zephyr,vref-mv = <8>;
87			zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
88		};
89		channel@8 {
90			reg = <8>;
91			zephyr,gain = "ADC_GAIN_1";
92			zephyr,reference = "ADC_REF_EXTERNAL0";
93			zephyr,vref-mv = <8>;
94			zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
95		};
96		channel@9 {
97			reg = <9>;
98			zephyr,gain = "ADC_GAIN_1";
99			zephyr,reference = "ADC_REF_EXTERNAL0";
100			zephyr,vref-mv = <8>;
101			zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
102		};
103		channel@a {
104			reg = <0xa>;
105			zephyr,gain = "ADC_GAIN_1";
106			zephyr,reference = "ADC_REF_EXTERNAL0";
107			zephyr,vref-mv = <8>;
108			zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
109		};
110		channel@b {
111			reg = <0xb>;
112			zephyr,gain = "ADC_GAIN_1";
113			zephyr,reference = "ADC_REF_EXTERNAL0";
114			zephyr,vref-mv = <8>;
115			zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
116		};
117		channel@c {
118			reg = <0xc>;
119			zephyr,gain = "ADC_GAIN_1";
120			zephyr,reference = "ADC_REF_EXTERNAL0";
121			zephyr,vref-mv = <8>;
122			zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
123		};
124		channel@d {
125			reg = <0xd>;
126			zephyr,gain = "ADC_GAIN_1";
127			zephyr,reference = "ADC_REF_EXTERNAL0";
128			zephyr,vref-mv = <8>;
129			zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
130		};
131		channel@e {
132			reg = <0xe>;
133			zephyr,gain = "ADC_GAIN_1";
134			zephyr,reference = "ADC_REF_EXTERNAL0";
135			zephyr,vref-mv = <8>;
136			zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
137		};
138		channel@f {
139			reg = <0xf>;
140			zephyr,gain = "ADC_GAIN_1";
141			zephyr,reference = "ADC_REF_EXTERNAL0";
142			zephyr,vref-mv = <8>;
143			zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
144		};
145	};
146};
147