-
Notifications
You must be signed in to change notification settings - Fork 6.6k
/
adc-controller.yaml
169 lines (149 loc) · 4.9 KB
/
adc-controller.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# Copyright (c) 2017, NXP
# Copyright (c) 2022, Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
# Common fields for ADC controllers
include: base.yaml
properties:
"#io-channel-cells":
type: int
required: true
"#address-cells":
const: 1
"#size-cells":
const: 0
child-binding:
description: |
Channel configuration.
All nodes using this binding must be named "channel", otherwise their
data will not be accessible for the ADC API macros.
This is based on Linux, documentation:
https://www.kernel.org/doc/Documentation/devicetree/bindings/iio/adc/adc.yaml
properties:
reg:
type: array
required: true
description: Channel identifier.
zephyr,gain:
type: string
required: true
description: |
Gain selection:
- ADC_GAIN_1_6: x 1/6
- ADC_GAIN_1_5: x 1/5
- ADC_GAIN_1_4: x 1/4
- ADC_GAIN_1_3: x 1/3
- ADC_GAIN_2_5: x 2/5
- ADC_GAIN_1_2: x 1/2
- ADC_GAIN_2_3: x 2/3
- ADC_GAIN_4_5: x 4/5
- ADC_GAIN_1: x 1
- ADC_GAIN_2: x 2
- ADC_GAIN_3: x 3
- ADC_GAIN_4: x 4
- ADC_GAIN_6: x 6
- ADC_GAIN_8: x 8
- ADC_GAIN_12: x 12
- ADC_GAIN_16: x 16
- ADC_GAIN_24: x 24
- ADC_GAIN_32: x 32
- ADC_GAIN_64: x 64
- ADC_GAIN_128: x 128
enum:
- "ADC_GAIN_1_6"
- "ADC_GAIN_1_5"
- "ADC_GAIN_1_4"
- "ADC_GAIN_1_3"
- "ADC_GAIN_2_5"
- "ADC_GAIN_1_2"
- "ADC_GAIN_2_3"
- "ADC_GAIN_4_5"
- "ADC_GAIN_1"
- "ADC_GAIN_2"
- "ADC_GAIN_3"
- "ADC_GAIN_4"
- "ADC_GAIN_6"
- "ADC_GAIN_8"
- "ADC_GAIN_12"
- "ADC_GAIN_16"
- "ADC_GAIN_24"
- "ADC_GAIN_32"
- "ADC_GAIN_64"
- "ADC_GAIN_128"
zephyr,reference:
type: string
required: true
description: |
Reference selection:
- ADC_REF_VDD_1: VDD
- ADC_REF_VDD_1_2: VDD/2
- ADC_REF_VDD_1_3: VDD/3
- ADC_REF_VDD_1_4: VDD/4
- ADC_REF_INTERNAL: Internal
- ADC_REF_EXTERNAL0: External, input 0
- ADC_REF_EXTERNAL1: External, input 1
enum:
- "ADC_REF_VDD_1"
- "ADC_REF_VDD_1_2"
- "ADC_REF_VDD_1_3"
- "ADC_REF_VDD_1_4"
- "ADC_REF_INTERNAL"
- "ADC_REF_EXTERNAL0"
- "ADC_REF_EXTERNAL1"
zephyr,vref-mv:
type: int
description: |
This property can be used to specify the voltage (in millivolts)
of the reference selected for this channel, so that applications
can get that value if needed for some calculations.
For the internal reference, the voltage can be usually obtained with
a dedicated ADC API call, so there is no need to use this property
in that case, but for other references this property can be useful.
zephyr,acquisition-time:
type: int
required: true
description: |
Acquisition time.
Use the ADC_ACQ_TIME macro to compose the value for this property
or pass ADC_ACQ_TIME_DEFAULT to use the default setting for a given
hardware (e.g. when the hardware does not allow to configure the
acquisition time).
zephyr,differential:
type: boolean
description: |
When set, selects differential input mode for the channel. Otherwise,
single-ended mode is used unless the zephyr,input-negative property is
specified, in which case the differential mode is selected implicitly.
zephyr,input-positive:
type: int
description: |
Positive ADC input. Used only for drivers that select
the ADC_CONFIGURABLE_INPUTS Kconfig option.
zephyr,input-negative:
type: int
description: |
Negative ADC input. Used only for drivers that select
the ADC_CONFIGURABLE_INPUTS Kconfig option.
When specified, implies the differential input mode for the channel.
zephyr,resolution:
type: int
description: |
ADC resolution to be used for the channel.
zephyr,oversampling:
type: int
description: |
Oversampling setting to be used for the channel.
When specified, each sample is averaged from 2^N conversion results
(where N is the provided value).
zephyr,current-source-pin:
type: uint8-array
description: |
Output pin selection for the current sources. The actual
interpretation depends on the driver. This is used only for drivers
which select the ADC_CONFIGURABLE_EXCITATION_CURRENT_SOURCE_PIN
Kconfig option.
zephyr,vbias-pins:
type: int
description: |
Output pin selection for the bias voltage. The actual interpretation
depends on the driver. This is used only for drivers which select
the ADC_CONFIGURABLE_VBIAS_PIN Kconfig option.