1# Copyright (c) 2022, Basalte bv
2# SPDX-License-Identifier: Apache-2.0
3
4description: Atmel SAM family ADC
5
6compatible: "atmel,sam-adc"
7
8include: [adc-controller.yaml, pinctrl-device.yaml]
9
10properties:
11  reg:
12    required: true
13
14  interrupts:
15    required: true
16
17  clocks:
18    required: true
19
20  prescaler:
21    type: int
22    required: true
23    description: CPU clock prescaler applied to get the ADC clock.
24
25  startup-time:
26    type: int
27    required: true
28    description: |
29      ADC startup time in ADC clock cycles.
30    enum: [0, 8, 16, 24, 64, 80, 96, 112, 512, 576, 640, 704, 768, 832, 896, 960]
31
32  settling-time:
33    type: int
34    required: true
35    description: |
36      ADC settling time in ADC clock cycles. When the gain, offset
37      or differential input parameters of the analog cell change
38      between two channels, the analog cell may need a specific
39      settling time before starting the tracking phase.
40    enum: [3, 5, 9, 17]
41
42  tracking-time:
43    type: int
44    required: true
45    description: |
46      ADC tracking time in ADC clock cycles. A minimal tracking time
47      is necessary for the ADC to guarantee the best converted final
48      value between two channel selections.
49    enum: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
50
51  "#io-channel-cells":
52    const: 1
53
54  pinctrl-0:
55    required: true
56
57  pinctrl-names:
58    required: true
59
60io-channel-cells:
61  - input
62