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