xref: /freebsd/sys/contrib/device-tree/Bindings/iio/adc/aspeed,ast2600-adc.yaml (revision 058ac3e8063366dafa634d9107642e12b038bf09)
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: |
1310-bits resolution for 16 voltage channels.
14The device split into two individual engine and each contains 8 voltage
15  channels.
16Channel scanning can be non-continuous.
17Programmable ADC clock frequency.
18Programmable upper and lower threshold for each channels.
19Interrupt when larger or less than threshold for each channels.
20Support hysteresis for each channels.
21Built-in a compensating method.
22Built-in a register to trim internal reference voltage.
23Internal or External reference voltage.
24Support 2 Internal reference voltage 1.2v or 2.5v.
25Integrate 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