1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/iio/adc/aspeed,ast2600-adc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: ADC that forms part of an ASPEED server management processor.
8
9maintainers:
10  - Billy Tsai <billy_tsai@aspeedtech.com>
11
12description: |
13  • 10-bits resolution for 16 voltage channels.
14  • The device split into two individual engine and each contains 8 voltage
15  channels.
16  • Channel scanning can be non-continuous.
17  • Programmable ADC clock frequency.
18  • Programmable upper and lower threshold for each channels.
19  • Interrupt when larger or less than threshold for each channels.
20  • Support hysteresis for each channels.
21  • Built-in a compensating method.
22  • Built-in a register to trim internal reference voltage.
23  • Internal or External reference voltage.
24  • Support 2 Internal reference voltage 1.2v or 2.5v.
25  • Integrate dividing circuit for battery sensing.
26
27properties:
28  compatible:
29    enum:
30      - aspeed,ast2600-adc0
31      - aspeed,ast2600-adc1
32    description:
33      Their trimming data, which is used to calibrate internal reference volage,
34      locates in different address of OTP.
35
36  reg:
37    maxItems: 1
38
39  clocks:
40    maxItems: 1
41    description:
42      Input clock used to derive the sample clock. Expected to be the
43      SoC's APB clock.
44
45  resets:
46    maxItems: 1
47
48  "#io-channel-cells":
49    const: 1
50
51  vref-supply:
52    description:
53      The external regulator supply ADC reference voltage.
54
55  aspeed,int-vref-microvolt:
56    enum: [1200000, 2500000]
57    description:
58      ADC internal reference voltage in microvolts.
59
60  aspeed,battery-sensing:
61    type: boolean
62    description:
63      Inform the driver that last channel will be used to sensor battery.
64
65  aspeed,trim-data-valid:
66    type: boolean
67    description: |
68      The ADC reference voltage can be calibrated to obtain the trimming
69      data which will be stored in otp. This property informs the driver that
70      the data store in the otp is valid.
71
72required:
73  - compatible
74  - reg
75  - clocks
76  - resets
77  - "#io-channel-cells"
78
79additionalProperties: false
80
81examples:
82  - |
83    #include <dt-bindings/clock/ast2600-clock.h>
84    adc0: adc@1e6e9000 {
85        compatible = "aspeed,ast2600-adc0";
86        reg = <0x1e6e9000 0x100>;
87        clocks = <&syscon ASPEED_CLK_APB2>;
88        resets = <&syscon ASPEED_RESET_ADC>;
89        #io-channel-cells = <1>;
90        aspeed,int-vref-microvolt = <2500000>;
91    };
92    adc1: adc@1e6e9100 {
93        compatible = "aspeed,ast2600-adc1";
94        reg = <0x1e6e9100 0x100>;
95        clocks = <&syscon ASPEED_CLK_APB2>;
96        resets = <&syscon ASPEED_RESET_ADC>;
97        #io-channel-cells = <1>;
98        aspeed,int-vref-microvolt = <2500000>;
99    };
100...
101